bert 这个原因是什么?

yftpprvb  于 3个月前  发布在  其他
关注(0)|答案(3)|浏览(38)

vlf7wbxs

vlf7wbxs1#

你需要在DataProcessor类的get_labels方法中添加'2'。(这些类是硬编码返回某些标签的,例如Cola返回[0,1])

qqrboqgw

qqrboqgw2#

这意味着你有一些类别,BERT仅支持二分类。你需要更改你的类别(例如Cola),并返回数据集中的数字(标签):

def get_labels(self):
    """See base class."""
    return ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
zazmityj

zazmityj3#

默认情况下,BERT支持二分类,看起来你想要进行多分类。基本上,在create_examples方法中,它寻找的是0或1,但你也包含了除了0或1之外的其他标签。
解决方案是在get_labels方法中添加这些不同的标签。确保你在处理的处理器(Cola、MRPC、XNLI、MNLI)中添加它们,否则它会再次给出相同的错误。我附上了一个截图,展示了如何将其他标签与0、1一起添加。

相关问题