Upload folder using huggingface_hub
Browse files- modeling_interfuser.py +32 -5
- pytorch_model.bin +1 -1
modeling_interfuser.py
CHANGED
@@ -1,7 +1,6 @@
|
|
1 |
|
2 |
# -*- coding: utf-8 -*-
|
3 |
# This file contains all custom class definitions required to run the Interfuser model.
|
4 |
-
|
5 |
import torch
|
6 |
from torch import nn
|
7 |
import torch.nn.functional as F
|
@@ -198,7 +197,33 @@ class GRUWaypointsPredictor(nn.Module):
|
|
198 |
|
199 |
# --- The ORIGINAL Interfuser Model Class ---
|
200 |
class Interfuser(nn.Module):
|
201 |
-
def __init__(self, img_size=224,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
202 |
super().__init__()
|
203 |
self.num_features = self.embed_dim = embed_dim
|
204 |
norm_layer = norm_layer or partial(nn.LayerNorm, eps=1e-6)
|
@@ -295,6 +320,8 @@ class InterfuserConfig(PretrainedConfig):
|
|
295 |
|
296 |
model_type = "interfuser"
|
297 |
|
|
|
|
|
298 |
def __init__(
|
299 |
self,
|
300 |
embed_dim=256,
|
@@ -336,6 +363,7 @@ class InterfuserForHuggingFace(PreTrainedModel):
|
|
336 |
# The parameters are taken from our config object.
|
337 |
# This requires the original 'Interfuser' class to be defined in the notebook.
|
338 |
self.interfuser_model = Interfuser(
|
|
|
339 |
embed_dim=self.config.embed_dim,
|
340 |
enc_depth=self.config.enc_depth,
|
341 |
dec_depth=self.config.dec_depth,
|
@@ -346,7 +374,7 @@ class InterfuserForHuggingFace(PreTrainedModel):
|
|
346 |
waypoints_pred_head=self.config.waypoints_pred_head,
|
347 |
use_different_backbone=self.config.use_different_backbone
|
348 |
)
|
349 |
-
|
350 |
def forward(self, rgb, rgb_left, rgb_right, rgb_center, lidar, measurements, target_point, **kwargs):
|
351 |
|
352 |
# The original model expects a dictionary, so we create one.
|
@@ -364,5 +392,4 @@ class InterfuserForHuggingFace(PreTrainedModel):
|
|
364 |
# The output is already a tuple, which is what HF expects.
|
365 |
return self.interfuser_model.forward(inputs_dict)
|
366 |
|
367 |
-
|
368 |
-
print("✅ Hugging Face wrapper classes (InterfuserConfig, InterfuserForHuggingFace) are now defined.")
|
|
|
1 |
|
2 |
# -*- coding: utf-8 -*-
|
3 |
# This file contains all custom class definitions required to run the Interfuser model.
|
|
|
4 |
import torch
|
5 |
from torch import nn
|
6 |
import torch.nn.functional as F
|
|
|
197 |
|
198 |
# --- The ORIGINAL Interfuser Model Class ---
|
199 |
class Interfuser(nn.Module):
|
200 |
+
def __init__(self, img_size=224,
|
201 |
+
multi_view_img_size=112,
|
202 |
+
patch_size=8, in_chans=3,
|
203 |
+
embed_dim=768,
|
204 |
+
enc_depth=6,
|
205 |
+
dec_depth=6,
|
206 |
+
dim_feedforward=2048,
|
207 |
+
normalize_before=False,
|
208 |
+
rgb_backbone_name="r26",
|
209 |
+
lidar_backbone_name="r26",
|
210 |
+
num_heads=8, norm_layer=None,
|
211 |
+
dropout=0.1, end2end=False,
|
212 |
+
direct_concat=True,
|
213 |
+
separate_view_attention=False,
|
214 |
+
separate_all_attention=False,
|
215 |
+
act_layer=None,
|
216 |
+
weight_init="",
|
217 |
+
freeze_num=-1,
|
218 |
+
with_lidar=False,
|
219 |
+
with_right_left_sensors=True,
|
220 |
+
with_center_sensor=False,
|
221 |
+
traffic_pred_head_type="det",
|
222 |
+
waypoints_pred_head="heatmap",
|
223 |
+
reverse_pos=True,
|
224 |
+
use_different_backbone=False,
|
225 |
+
use_view_embed=True,
|
226 |
+
use_mmad_pretrain=None):
|
227 |
super().__init__()
|
228 |
self.num_features = self.embed_dim = embed_dim
|
229 |
norm_layer = norm_layer or partial(nn.LayerNorm, eps=1e-6)
|
|
|
320 |
|
321 |
model_type = "interfuser"
|
322 |
|
323 |
+
|
324 |
+
|
325 |
def __init__(
|
326 |
self,
|
327 |
embed_dim=256,
|
|
|
363 |
# The parameters are taken from our config object.
|
364 |
# This requires the original 'Interfuser' class to be defined in the notebook.
|
365 |
self.interfuser_model = Interfuser(
|
366 |
+
in_chans=self.config.in_chans, # هنا تُمرّر القيمه
|
367 |
embed_dim=self.config.embed_dim,
|
368 |
enc_depth=self.config.enc_depth,
|
369 |
dec_depth=self.config.dec_depth,
|
|
|
374 |
waypoints_pred_head=self.config.waypoints_pred_head,
|
375 |
use_different_backbone=self.config.use_different_backbone
|
376 |
)
|
377 |
+
|
378 |
def forward(self, rgb, rgb_left, rgb_right, rgb_center, lidar, measurements, target_point, **kwargs):
|
379 |
|
380 |
# The original model expects a dictionary, so we create one.
|
|
|
392 |
# The output is already a tuple, which is what HF expects.
|
393 |
return self.interfuser_model.forward(inputs_dict)
|
394 |
|
395 |
+
|
|
pytorch_model.bin
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
size 212282626
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:b96a031dc969bdb3c572e0945311632e6c7737489bec69df1c418308d04506ea
|
3 |
size 212282626
|