问题描述
我尝试使用拥抱变压器的文档进行标记化
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained('bert-base-cased')
encoded_input = tokenizer(batch_of_sequences)
训练有素的分词器提供包含三个键的字典输出
encoded_input = {
'input_ids': [[],[],[]],'token_type_ids': [[],'attention_mask': [[],[]]
}
Trainer API要求输入torch.utils.data.Dataset
类型的Train&Eval Dataset。
我们如何使用此输出来创建Trainer API所需的训练数据集?
解决方法
有很多将Huggingface变压器与Bert模型结合使用的示例。
但是为了描述一般的训练过程,您可以使用Dataset类加载数据集。然后,您可以使用Bert模型的令牌生成器在get_item方法中对数据样本进行编码。在每次迭代中调用该方法时,编码后的数据将被馈送到您的NN中。我使用sklearn.model_selection.train_test_split库从基本集中分离出火车,评估和测试子集。
以下链接可以帮助您大致了解整个培训过程: https://huggingface.co/transformers/quickstart.html
,我想这可以解决它:
from datasets import Dataset
dataset = Dataset.from_dict(encoded_inputs)
如果您想训练模型,您可能还想添加标签。 对我来说:
encoded_inputs["labels"] = encoded_inputs["input_ids"].copy()
成功了。