刚看到这个错误提示的时候感到很奇怪,为什么会出现这个报错信息,我的代码如下:
import sys
sys.path.append("../input/iterativestratification")
import pandas as pd
import numpy as np
from transformers import AutoTokenizer,AutoModel
tokenizer = AutoTokenizer.from_pretrained(DEBERTA_BASE)
model = AutoModel.from_pretrained(DEBERTA_BASE)
tokens = tokenizer(essay)
input_ids = tokens['input_ids']
model_output = model(input_ids)
AttributeError: 'list' object has no attribute 'size'
仔细思考了以下,应是input_ids是list类型,衡量list类型的大小可以用len()函数,但是在model_DB中,需要用到tensor作为输入,所以在tokenizer时,添加return_tensors="pt",代码如下:
tokens = tokenizer(essay,return_tensors="pt")
input_ids = tokens['input_ids']
model_output = model(input_ids)
问题解决。