使用新的prepare_translation_batch函数代替。以下是一个示例代码:
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("t5-base")
def prepare_batch(inputs):
inputs = [(i.strip(), "translate English to German") for i in inputs]
input_ids = tokenizer.batch_encode_plus(
inputs, padding="longest", return_tensors="pt"
)["input_ids"]
decoder_input_ids = input_ids[:, :-1].contiguous()
labels = input_ids[:, 1:].clone()
labels[labels == tokenizer.pad_token_id] = -100
return decoder_input_ids, labels
这里,我们使用了AutoTokenizer和prepare_translation_batch函数来创建输入并编码其ID。我们还将多余的tokens删除并标记每个tokens的标签。该函数返回一个元组,它包含了解码器输入、标签和encoder的attention masks。换句话说,这个代码段向您展示了如何使用新的prepare_translation_batch函数来转换成Seq2Seq模型所需的批次格式。