king-yyf / CMeKG_tools

MIT License
1.06k stars 400 forks source link

TypeError: dropout(): argument 'input' (position 1) must be Tensor, not str #19

Open 779257747 opened 7 months ago

779257747 commented 7 months ago

image 请问这是transformer版本库导致的问题吗

king-yyf commented 6 months ago

可能是的,我自己本地是正常的,看看 https://stackoverflow.com/questions/65082243/dropout-argument-input-position-1-must-be-tensor-not-str-when-using-bert 有没有能参考的。

yuxinwuchn commented 6 months ago

bert_lstm_crf文件43行

embeds, _ = self.word_embeds(sentence, attention_mask=attention_mask)

改成

embeds, _ = self.word_embeds(sentence, attention_mask=attention_mask, return_dict=False)

crf文件134行

cur_bp.masked_fill_(mask[idx].view(batch_size, 1).expand(batch_size, tag_size), 0)

改成

cur_bp.masked_fill_(mask[idx].view(batch_size, 1).expand(batch_size, tag_size).bool(), 0)
BobBranson commented 2 months ago

bert_lstm_crf文件43行

embeds, _ = self.word_embeds(sentence, attention_mask=attention_mask)

改成

embeds, _ = self.word_embeds(sentence, attention_mask=attention_mask, return_dict=False)

crf文件134行

cur_bp.masked_fill_(mask[idx].view(batch_size, 1).expand(batch_size, tag_size), 0)

改成

cur_bp.masked_fill_(mask[idx].view(batch_size, 1).expand(batch_size, tag_size).bool(), 0)

可以的