leochen085 commited on
Commit
28848e5
·
verified ·
1 Parent(s): 42f77de

Use set_default_dtype for uniform dtype init, assert batch size match in CrossAttention

Browse files
Files changed (1) hide show
  1. modeling_slip.py +7 -0
modeling_slip.py CHANGED
@@ -513,6 +513,11 @@ class SLIPModel(SLIPPreTrainedModel):
513
  def __init__(self, config: SLIPConfig):
514
  super().__init__(config)
515
 
 
 
 
 
 
516
  # Sensor encoder
517
  sensor_cfg = config.sensor_encoder
518
  self.sensor_encoder = SensorTransformerModel(**sensor_cfg)
@@ -544,6 +549,8 @@ class SLIPModel(SLIPPreTrainedModel):
544
  self.temperature = nn.Parameter(torch.tensor(math.log(1 / 0.07)))
545
  self.temperature_max = math.log(1 / 0.07)
546
 
 
 
547
  def embed_sensor(self, sensors, sensor_attn_mask=None, time_index=None):
548
  sensor_tokens, attn_mask = self.sensor_encoder(sensors, sensor_attn_mask, time_index=time_index)
549
  if hasattr(self, "img_attn_pool"):
 
513
  def __init__(self, config: SLIPConfig):
514
  super().__init__(config)
515
 
516
+ # Use config.torch_dtype (set by HF from_pretrained or config.json)
517
+ dtype = getattr(config, "torch_dtype", None) or torch.float32
518
+ prev_dtype = torch.get_default_dtype()
519
+ torch.set_default_dtype(dtype)
520
+
521
  # Sensor encoder
522
  sensor_cfg = config.sensor_encoder
523
  self.sensor_encoder = SensorTransformerModel(**sensor_cfg)
 
549
  self.temperature = nn.Parameter(torch.tensor(math.log(1 / 0.07)))
550
  self.temperature_max = math.log(1 / 0.07)
551
 
552
+ torch.set_default_dtype(prev_dtype)
553
+
554
  def embed_sensor(self, sensors, sensor_attn_mask=None, time_index=None):
555
  sensor_tokens, attn_mask = self.sensor_encoder(sensors, sensor_attn_mask, time_index=time_index)
556
  if hasattr(self, "img_attn_pool"):