我正在尝试使用 Huggingface Transformers 使用自定义数据集训练分类模型,但我不断收到错误。最后一个错误似乎可以解决,但我不知何故不明白如何解决。我究竟做错了什么?
我用以下方式对数据进行编码
model_name = "dbmdz/bert-base-italian-uncased"
tokenizer = AutoTokenizer.from_pretrained(model_name, do_lower_case = True)
def encode_data(texts):
return tokenizer.batch_encode_plus(
texts,
add_special_tokens=True,
return_attention_mask=True,
padding = True,
truncation=True,
max_length=200,
return_tensors='pt'
)
Run Code Online (Sandbox Code Playgroud)
然后我创建我的数据集
import torch
class my_Dataset(torch.utils.data.Dataset):
def __init__(self, encodings, labels):
self.encodings = encodings
self.labels = torch.tensor(labels)
def __getitem__(self, idx):
item = {key: val[idx] for key, val in self.encodings.items()}
item['labels'] = self.labels[idx]
print(item)
return item
def __len__(self):
return len(self.labels)
Run Code Online (Sandbox Code Playgroud)
所以我有
encoded_data_train = encode_data(df_train['text'].tolist())
encoded_data_val = encode_data(df_val['text'].tolist())
encoded_data_test = encode_data(df_test['text'].tolist())
dataset_train = my_Dataset(encoded_data_train, df_train['labels'].tolist())
dataset_val …Run Code Online (Sandbox Code Playgroud)