Traceback (most recent call last):
File "Train/TrainMultiEMO.py", line 1166, in
multiemo_train.train_or_eval_linear_model()
File "Train/TrainMultiEMO.py", line 1060, in train_or_eval_linear_model
valid_loss, valid_HGR_loss, valid_SWFC_loss, valid_CE_loss,valid_f1, validacc, = self.train_or_eval_model_per_epoch(self.valid_dataloader, train = False)
File "Train/TrainMultiEMO.py", line 1018, in train_or_eval_model_per_epoch
self.model(padded_texts, padded_audios, padded_visuals, padded_speaker_masks, padded_utterance_masks, padded_labels)
File "/root/miniconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(*input, kwargs)
File "/root/MultiEMO/Model/MultiEMO_Model.py", line 73, in forward
text_s_output = self.spikformer_model(text_features)
File "/root/miniconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(*input, *kwargs)
File "/root/MultiEMO/Model/spikformer.py", line 391, in forward
x = blk(x) # B T L D
File "/root/miniconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(input, kwargs)
File "/root/MultiEMO/Model/spikformer.py", line 336, in forward
x = x + self.attn(x)
File "/root/miniconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(*input, kwargs)
File "/root/MultiEMO/Model/spikformer.py", line 264, in forward
q_m_out = self.q_lif(q_m_out)
File "/root/miniconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(*input, *kwargs)
File "/root/miniconda3/lib/python3.8/site-packages/spikingjelly/activation_based/base.py", line 270, in forward
return self.multi_step_forward(args, kwargs)
File "/root/miniconda3/lib/python3.8/site-packages/spikingjelly/activation_based/neuron.py", line 996, in multi_step_forward
spike_seq, self.v = self.jit_eval_multi_step_forward_hard_reset_decay_input(x_seq, self.v,
RuntimeError: The following operation failed in the TorchScript interpreter.
Traceback of TorchScript (most recent call last):
File "/root/miniconda3/lib/python3.8/site-packages/spikingjelly/activation_based/neuron.py", line 805, in fallback_function
spike_seq = torch.zeros_like(x_seq)
for t in range(x_seq.shape[0]):
v = v + (x_seq[t] - (v - v_reset)) / tau
spike = (v >= v_threshold).to(x_seq)
v = v_reset * spike + (1. - spike) * v
RuntimeError: The size of tensor a (21) must match the size of tensor b (20) at non-singleton dimension 1
在前几个 batch 的时候,似乎并没有出错,但是快到最后的 batch(可能是最后一个,我不确定),会报错,请问你们知道原因吗?这个dimension 1 是 T 的维度。
报错信息如下:
Traceback (most recent call last): File "Train/TrainMultiEMO.py", line 1166, in
multiemo_train.train_or_eval_linear_model()
File "Train/TrainMultiEMO.py", line 1060, in train_or_eval_linear_model
valid_loss, valid_HGR_loss, valid_SWFC_loss, valid_CE_loss,valid_f1, validacc, = self.train_or_eval_model_per_epoch(self.valid_dataloader, train = False)
File "Train/TrainMultiEMO.py", line 1018, in train_or_eval_model_per_epoch
self.model(padded_texts, padded_audios, padded_visuals, padded_speaker_masks, padded_utterance_masks, padded_labels)
File "/root/miniconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(*input, kwargs)
File "/root/MultiEMO/Model/MultiEMO_Model.py", line 73, in forward
text_s_output = self.spikformer_model(text_features)
File "/root/miniconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(*input, *kwargs)
File "/root/MultiEMO/Model/spikformer.py", line 391, in forward
x = blk(x) # B T L D
File "/root/miniconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(input, kwargs)
File "/root/MultiEMO/Model/spikformer.py", line 336, in forward
x = x + self.attn(x)
File "/root/miniconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(*input, kwargs)
File "/root/MultiEMO/Model/spikformer.py", line 264, in forward
q_m_out = self.q_lif(q_m_out)
File "/root/miniconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(*input, *kwargs)
File "/root/miniconda3/lib/python3.8/site-packages/spikingjelly/activation_based/base.py", line 270, in forward
return self.multi_step_forward(args, kwargs)
File "/root/miniconda3/lib/python3.8/site-packages/spikingjelly/activation_based/neuron.py", line 996, in multi_step_forward
spike_seq, self.v = self.jit_eval_multi_step_forward_hard_reset_decay_input(x_seq, self.v,
RuntimeError: The following operation failed in the TorchScript interpreter.
Traceback of TorchScript (most recent call last):
File "/root/miniconda3/lib/python3.8/site-packages/spikingjelly/activation_based/neuron.py", line 805, in fallback_function
spike_seq = torch.zeros_like(x_seq)
for t in range(x_seq.shape[0]):
v = v + (x_seq[t] - (v - v_reset)) / tau