在学习《Neural Snowball for Few-Shot Relation Learning》这篇论文代码的时候,跑CNN模型时是能够跑通的,但是跑BERT模型就出现了以下报错:
追溯到出问题的代码:
发现是
x = self.sentence_encoder(data) 也就是data的数据格式有问题,然后去找data的数据源
发现最终问题出在batch_data。
- 解决方法一:代码错误记录:TypeError: dropout(): argument ‘input‘ (position 1) must be Tensor, not str_小王做笔记的博客-CSDN博客
以上两篇博文提供了思路,于是尝试了将
_, cls_hs = self.bert(sent_id, attention_mask=mask)
改为
_, cls_hs = self.bert(sent_id, attention_mask=mask, return_dict=False)
成功解决!