【发布时间】:2021-01-10 19:03:59
【问题描述】:
我正在尝试使用 Trainer 训练模型,根据文档 (https://huggingface.co/transformers/master/main_classes/trainer.html#transformers.Trainer),我可以指定标记器:
tokenizer (PreTrainedTokenizerBase, optional) – 用于 预处理数据。如果提供,将用于自动填充 批处理输入时输入的最大长度,它将是 沿模型保存,以便更轻松地重新运行中断的 训练或重用微调后的模型。
所以填充应该被自动处理,但是当尝试运行它时我得到这个错误:
ValueError: 无法创建张量,您应该激活 用 'padding=True' 'truncation=True' 截断和/或填充 具有相同长度的批量张量。
tokenizer 是这样创建的:
tokenizer = BertTokenizerFast.from_pretrained(pretrained_model)
还有这样的教练:
trainer = Trainer(
tokenizer=tokenizer,
model=model,
args=training_args,
train_dataset=train,
eval_dataset=dev,
compute_metrics=compute_metrics
)
我尝试将padding 和truncation 参数放入标记器、Trainer 和training_args 中。什么都没有。有什么想法吗?
【问题讨论】:
-
您是否尝试在模型配置中查看? config = AutoConfig.from_pretrained(...)
-
同样的问题,你找到解决办法了吗?
标签: python pytorch huggingface-transformers