Tas*_*nhu 17 pytorch bert-language-model
我的代码运行良好,当我今天尝试在不更改任何内容的情况下运行它时,出现以下错误:
dropout(): 参数“输入”(位置 1)必须是张量,而不是 str
如果可以提供帮助,将不胜感激。可能是数据加载器的问题?
小智 20
如果您使用的是 Hugging Face 变压器库,则在变压器 v4 库上运行以 v3 编写的代码时会弹出此错误。要解决这个问题,只需return_dict=False
在加载模型时添加如下:
model = BertModel.from_pretrained("bert-base-cased")
outputs = model(**inputs, return_dict=False)
Run Code Online (Sandbox Code Playgroud)
或者
model = BertModel.from_pretrained("bert-base-cased", return_dict=False)
outputs = model(**inputs)
Run Code Online (Sandbox Code Playgroud)
我希望这有帮助。这对我有用。
参考: https: //huggingface.co/transformers/migration.html
小智 6
我也在研究同一个 repo。有一个可能名为 Bert_Arch 的类继承了 nn.Module,这个类有一个名为 forward 的重写方法。在 forward 方法中,只需将参数 'return_dict=False' 添加到 self.bert() 方法调用中。代替
_, cls_hs = self.bert(sent_id, attention_mask=mask)
Run Code Online (Sandbox Code Playgroud)
和
_, cls_hs = self.bert(sent_id, attention_mask=mask, return_dict=False)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8117 次 |
最近记录: |