Traceback (most recent call last):
File “/mnt/Enterprise/sanjay/new_env/lib/python3.10/site-packages/pytorch_lightning/trainer/call.py”, line 44, in _call_and_handle_interrupt
return trainer_fn(*args, **kwargs)
File “/mnt/Enterprise/sanjay/new_env/lib/python3.10/site-packages/pytorch_lightning/trainer/trainer.py”, line 559, in _fit_impl
self._run(model, ckpt_path=ckpt_path)
File “/mnt/Enterprise/sanjay/new_env/lib/python3.10/site-packages/pytorch_lightning/trainer/trainer.py”, line 935, in _run
results = self._run_stage()
File “/mnt/Enterprise/sanjay/new_env/lib/python3.10/site-packages/pytorch_lightning/trainer/trainer.py”, line 976, in _run_stage
self._run_sanity_check()
File “/mnt/Enterprise/sanjay/new_env/lib/python3.10/site-packages/pytorch_lightning/trainer/trainer.py”, line 1005, in _run_sanity_check
val_loop.run()
File “/mnt/Enterprise/sanjay/new_env/lib/python3.10/site-packages/pytorch_lightning/loops/utilities.py”, line 174, in _decorator
return loop_run(self, *args, **kwargs)
File “/mnt/Enterprise/sanjay/new_env/lib/python3.10/site-packages/pytorch_lightning/loops/evaluation_loop.py”, line 115, in run
self._evaluation_step(batch, batch_idx, dataloader_idx)
File “/mnt/Enterprise/sanjay/new_env/lib/python3.10/site-packages/pytorch_lightning/loops/evaluation_loop.py”, line 375, in _evaluation_step
output = call._call_strategy_hook(trainer, hook_name, *step_kwargs.values())
File “/mnt/Enterprise/sanjay/new_env/lib/python3.10/site-packages/pytorch_lightning/trainer/call.py”, line 288, in _call_strategy_hook
output = fn(*args, **kwargs)
File “/mnt/Enterprise/sanjay/new_env/lib/python3.10/site-packages/pytorch_lightning/strategies/strategy.py”, line 378, in validation_step
return self.model.validation_step(*args, **kwargs)
File “/mnt/Enterprise/sanjay/image-captioning/Image-Captioning/models/Image_captioner.py”, line 102, in validation_step
return self.step(batch, mode=“val”)
File “/mnt/Enterprise/sanjay/image-captioning/Image-Captioning/models/Image_captioner.py”, line 87, in step
preds = self.model(text_tokens,imgs,masks,pad_mask)
File “/mnt/Enterprise/sanjay/new_env/lib/python3.10/site-packages/torch/nn/modules/module.py”, line 1501, in _call_impl
return forward_call(*args, **kwargs)
File “/mnt/Enterprise/sanjay/image-captioning/Image-Captioning/models/Image_captioner.py”, line 45, in forward
x = self.decoder(text,x,target_subsequent_mask=mask,target_pad_mask=pad_mask)
File “/mnt/Enterprise/sanjay/new_env/lib/python3.10/site-packages/torch/nn/modules/module.py”, line 1501, in _call_impl
return forward_call(*args, **kwargs)
File “/mnt/Enterprise/sanjay/image-captioning/Image-Captioning/models/decoder.py”, line 57, in forward
pos_x = pos_x + self.pos_embedding(text_input)
File “/mnt/Enterprise/sanjay/new_env/lib/python3.10/site-packages/torch/nn/modules/module.py”, line 1501, in _call_impl
return forward_call(*args, **kwargs)
File “/mnt/Enterprise/sanjay/new_env/lib/python3.10/site-packages/torch/nn/modules/sparse.py”, line 162, in forward
return F.embedding(
File “/mnt/Enterprise/sanjay/new_env/lib/python3.10/site-packages/torch/nn/functional.py”, line 2210, in embedding
return torch.embedding(weight, input, padding_idx, scale_grad_by_freq, sparse)
RuntimeError: CUDA error: device-side assert triggered
Compile with TORCH_USE_CUDA_DSA
to enable device-side assertions.
My code is as ::
class Decoder(nn.Module):
def init(self,vocab_size,max_seq_length,embed_dim,num_heads,num_layers,dropout=0.0) → None:
super().init()
self.token_embedding = nn.Embedding(vocab_size,embed_dim)
self.pos_embedding = nn.Embedding(max_seq_length,embed_dim)
self.decoder_layer = nn.TransformerDecoderLayer(embed_dim, num_heads, embed_dim, dropout, batch_first=True)
self.decoder = nn.TransformerDecoder(self.decoder_layer, num_layers)
self.dropout = nn.Dropout(dropout)
self.ln = nn.LayerNorm(embed_dim)
self.linear = nn.Linear(embed_dim, vocab_size)
def forward(self,text_input,encoder_memory,target_subsequent_mask=None,target_pad_mask=None):
B,T = text_input.shape
"""
TODO: layernorm still before embedding
"""
pos_x = self.token_embedding(text_input)
pos_x = pos_x + self.pos_embedding(text_input)
pos_x = self.dropout(pos_x)
# print(encoder_memory.shape)
# print(pos_x.shape)
x= self.decoder(
pos_x,
encoder_memory,
tgt_mask=target_subsequent_mask,
tgt_key_padding_mask=target_pad_mask,
)
print(x.shape)
x = self.linear(x)
# x = self.linear(self.ln(x))
return x