使用PyTorch transformers训练BERT模型(按照此处的教程)。
教程中的以下语句
loss = model(b_input_ids, token_type_ids=None, attention_mask=b_input_mask, labels=b_labels)
导致
TypeError: forward() got an unexpected keyword argument 'labels'
以下是完整的错误信息,
TypeError Traceback (most recent call last)
<ipython-input-53-56aa2f57dcaf> in <module>
26 optimizer.zero_grad()
27 # Forward pass
---> 28 loss = model(b_input_ids, token_type_ids=None, attention_mask=b_input_mask, labels=b_labels)
29 train_loss_set.append(loss.item())
30 # Backward pass
~/anaconda3/envs/systreviewclassifi/lib/python3.6/site-packages/torch/nn/modules/module.py in __call__(self, *input, **kwargs)
539 result = self._slow_forward(*input, **kwargs)
540 else:
--> 541 result = self.forward(*input, **kwargs)
542 for hook in self._forward_hooks.values():
543 hook_result = hook(self, input, result)
TypeError: forward() got an unexpected keyword argument 'labels'
我似乎无法确定forward()函数需要什么样的参数。
这里有一个类似的问题here,但我仍然不明白解决方案是什么。
系统信息:
- 操作系统:Ubuntu 16.04 LTS
- Python版本:3.6.x
- Torch版本:1.3.0
- Torch Vision版本:0.4.1
- PyTorch transformers版本:1.2.0