|
git clone https://github.com/opendilab/InterFuser.git |
|
pip install timm |
|
import sys |
|
sys.path.append('/content/InterFuser') |
|
import math |
|
import copy |
|
import sys |
|
from collections import OrderedDict |
|
from functools import partial |
|
from typing import Optional, List |
|
from huggingface_hub import HfApi |
|
|
|
import numpy as np |
|
import torch |
|
from torch import nn, Tensor |
|
import torch.nn.functional as F |
|
from InterFuser.modeling_interfuser import InterfuserConfig, InterfuserForHuggingFace |
|
from huggingface_hub import notebook_login |
|
|
|
from InterFuser.interfuser.timm.models.layers import StdConv2dSame, StdConv2d, to_2tuple |
|
from InterFuser.interfuser.timm.models.registry import register_model |
|
from InterFuser.interfuser.timm.models.resnet import resnet26d, resnet50d, resnet18d, resnet26, resnet50, resnet101d |
|
|
|
from transformers import AutoConfig, AutoModel |
|
import os |
|
|
|
class InterfuserConfig(PretrainedConfig): |
|
|
|
model_type = "interfuser" |
|
def __init__( |
|
self, |
|
embed_dim=256, |
|
enc_depth=6, |
|
dec_depth=6, |
|
num_heads=8, |
|
dim_feedforward=2048, |
|
rgb_backbone_name="r50", |
|
lidar_backbone_name="r18", |
|
waypoints_pred_head="gru", |
|
use_different_backbone=True, |
|
**kwargs |
|
): |
|
super().__init__(**kwargs) |
|
self.embed_dim = embed_dim |
|
self.enc_depth = enc_depth |
|
self.dec_depth = dec_depth |
|
self.num_heads = num_heads |
|
self.dim_feedforward = dim_feedforward |
|
self.rgb_backbone_name = rgb_backbone_name |
|
self.lidar_backbone_name = lidar_backbone_name |
|
self.waypoints_pred_head = waypoints_pred_head |
|
self.use_different_backbone = use_different_backbone |
|
|
|
self.architectures = ["InterfuserForHuggingFace"] |
|
|