使用 PyTorch 转换器训练 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() 函数期望什么样的参数。
这里有一个类似的问题,但我仍然不明白解决方案是什么。
系统信息:
- 操作系统:Ubuntu 16.04 LTS
- Python版本:3.6.x
- 火炬版本:1.3.0
- 火炬视觉版本:0.4.1
- PyTorch 转换器版本:1.2.0