Closed jwc19890114 closed 4 years ago
请问是否直接用命令 python matching_esim.py
跑起来的呢?
我刚刚在自己的1.2.0版本当中重新跑了一遍,并没有遇到这个问题
请问是否直接用命令
python matching_esim.py
跑起来的呢? 我刚刚在自己的1.2.0版本当中重新跑了一遍,并没有遇到这个问题
anaconda和pycharm都试过,都会有,可能是我系统的问题,本来想在colab上训练,但是也报错
请问是否直接用命令
python matching_esim.py
跑起来的呢? 我刚刚在自己的1.2.0版本当中重新跑了一遍,并没有遇到这个问题anaconda和pycharm都试过,都会有,可能是我系统的问题,本来想在colab上训练,但是也报错
请问是否又更详细的报错信息呢?因为我这边1.2.0跑下来是完整的并没有报错
请问是否直接用命令
python matching_esim.py
跑起来的呢? 我刚刚在自己的1.2.0版本当中重新跑了一遍,并没有遇到这个问题anaconda和pycharm都试过,都会有,可能是我系统的问题,本来想在colab上训练,但是也报错
请问是否又更详细的报错信息呢?因为我这边1.2.0跑下来是完整的并没有报错
就是那个runtime error,很迷,我的主机坏了送修了,过两天装好再测一下
请问是否直接用命令
python matching_esim.py
跑起来的呢? 我刚刚在自己的1.2.0版本当中重新跑了一遍,并没有遇到这个问题anaconda和pycharm都试过,都会有,可能是我系统的问题,本来想在colab上训练,但是也报错
请问是否又更详细的报错信息呢?因为我这边1.2.0跑下来是完整的并没有报错
就是那个runtime error,很迷,我的主机坏了送修了,过两天装好再测一下
试了一下,是类似以下这种错误,我在加载训练好的模型进行test的时候报这样的runtime error
RuntimeError Traceback (most recent call last)
<ipython-input-16-25ae4e25038e> in <module>
----> 1 tester.test()
C:\ProgramData\Anaconda3\lib\site-packages\fastNLP\core\tester.py in test(self)
163 for batch_x, batch_y in data_iterator:
164 _move_dict_value_to_device(batch_x, batch_y, device=self._model_device)
--> 165 pred_dict = self._data_forward(self._predict_func, batch_x)
166 if not isinstance(pred_dict, dict):
167 raise TypeError(f"The return value of {_get_func_signature(self._predict_func)} "
C:\ProgramData\Anaconda3\lib\site-packages\fastNLP\core\tester.py in _data_forward(self, func, x)
211 """A forward pass of the model. """
212 x = _build_args(func, **x)
--> 213 y = self._predict_func_wrapper(**x)
214 return y
215
C:\ProgramData\Anaconda3\lib\site-packages\fastNLP\models\bert.py in predict(self, words)
130 :return: { :attr:`fastNLP.Const.OUTPUT` : logits}: torch.LongTensor [batch_size]
131 """
--> 132 logits = self.forward(words)[Const.OUTPUT]
133 return {Const.OUTPUT: torch.argmax(logits, dim=-1)}
134
C:\ProgramData\Anaconda3\lib\site-packages\fastNLP\models\bert.py in forward(self, words)
119 :return: { :attr:`fastNLP.Const.OUTPUT` : logits}: torch.Tensor [batch_size, num_labels]
120 """
--> 121 hidden = self.bert(words)
122 cls_hidden = self.dropout(hidden[:, 0])
123 logits = self.classifier(cls_hidden)
C:\ProgramData\Anaconda3\lib\site-packages\torch\nn\modules\module.py in __call__(self, *input, **kwargs)
530 result = self._slow_forward(*input, **kwargs)
531 else:
--> 532 result = self.forward(*input, **kwargs)
533 for hook in self._forward_hooks.values():
534 hook_result = hook(self, input, result)
C:\ProgramData\Anaconda3\lib\site-packages\fastNLP\embeddings\bert_embedding.py in forward(self, words)
104 if outputs is not None:
105 return self.dropout(outputs)
--> 106 outputs = self.model(words)
107 outputs = torch.cat([*outputs], dim=-1)
108
C:\ProgramData\Anaconda3\lib\site-packages\torch\nn\modules\module.py in __call__(self, *input, **kwargs)
530 result = self._slow_forward(*input, **kwargs)
531 else:
--> 532 result = self.forward(*input, **kwargs)
533 for hook in self._forward_hooks.values():
534 hook_result = hook(self, input, result)
C:\ProgramData\Anaconda3\lib\site-packages\fastNLP\embeddings\bert_embedding.py in forward(self, words)
329 0) # batch_size x max_len
330 word_pieces_lengths = batch_word_pieces_length.sum(dim=-1) # batch_size
--> 331 word_piece_length = batch_word_pieces_length.sum(dim=-1).max().item() # 表示word piece的长度(包括padding)
332 if word_piece_length + 2 > self._max_position_embeddings:
333 if self.auto_truncate:
RuntimeError: cuda runtime error (710) : device-side assert triggered at C:/w/1/s/tmp_conda_3.7_100118/conda/conda-bld/pytorch_1579082551706/work/aten/src\THC/THCReduceAll.cuh:327
解决了
解决了
请问下如何解决呢
使用cpu训练没有问题,刚开始以为是pytorch版本问题,后来尝试了1.2、1.4、1.7,其中1.2和1.4都会报错,都是训练到第二个epoch在test时报错RuntimeError: CUDA error: device-side assert triggered。1.7会提示由于pytorch版本问题,对超出词表的词要使用long型。 同样的问题在之前的一个脚本中也出现了。我在4月份使用bertMatching模型训练跑通了,但是现在再做的时候也会报这个错误。 感谢项目组。