在做情感分类时出现了这个错误。用gpu跑会显示这个,当我切换到cpu跑时,定位到错误label index超范围了。
原因:之前做分类任务的时候是自己用logits算loss的,在做dataset处理的时候convert_tokens_to_ids(label),然后根据vocab,label就是了一百多。这回我直接将label传入预训练模型里算loss,所以报错了。这里面的label应该是[0,1,2..]
outputs = self.roberta(inputs_embeds=input_emb, attention_mask=attention_mask, labels=label)
改正:删掉convert_tokens_to_ids(label),直接return int(label),问题解决。