为了查看transformers结构之中mt5结构和t5结构的区别,这里采用代码对比法,相同的程序分别调用mt5结构和t5结构
使用mt5的结构
from transformers import T5Tokenizer, T5ForConditionalGeneration
tokenizer = T5Tokenizer.from_pretrained("/home/xiaoguzai/模型/mt5-base")
model = T5ForConditionalGeneration.from_pretrained("/home/xiaoguzai/模型/mt5-base")
input_ids = tokenizer('translate English to German: The house is wonderful.', return_tensors='pt').input_ids
outputs = model.generate(input_ids)
print(outputs)
这里输出的outputs的内容为
outputs = tensor([[ 0, 250099, 260, 1]])
接着将模型改为t5结构的代码
from transformers import MT5Tokenizer, MT5ForConditionalGeneration
tokenizer = MT5Tokenizer.from_pretrained("/home/xiaoguzai/模型/mt5-base")
model = MT5ForConditionalGeneration.from_pretrained("/home/xiaoguzai/模型/mt5-base")
input_ids = tokenizer('translate English to German: The house is wonderful.', return_tensors='pt').input_ids
outputs = model.generate(input_ids)
print(outputs)
发现输出的内容一样
由此可见,transformers中调用t5和调用mt5模型结构基本相同。