问题描述
我微调了一个 gpt2 语言模型,并使用以下代码行根据我的模型生成文本:
generator = pipeline('text-generation',tokenizer='gpt2',model='data/out') print(generator('从前',max_length=40)[0]['generated_text'])
现在我只想用概率来预测下一个单词。我知道我们可以通过使用“fill-mask”来做到这一点,但我不知道该怎么做。当我将“填充掩码”代替“文本生成”时,出现此错误:
"无法识别的配置类
generator = pipeline('fill-mask',model='data/out') // 这一行给了我上面提到的错误。
请告诉我如何解决此问题。任何形式的帮助将不胜感激。 提前致谢。
为了更好的理解,整个代码。
从变压器进口( GPT2Tokenizer, DataCollatorForLanguageModeling,文本数据集, GPT2LMHeadModel, 训练参数, 培训师, 管道)
train_path = 'parsed_data.txt' test_path = 'parsed_data.txt'
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
data_collator = DataCollatorForLanguageModeling(tokenizer=tokenizer,mlm=False)
train_dataset = TextDataset(tokenizer=tokenizer,file_path=train_path,block_size=128) test_dataset = TextDataset(tokenizer=tokenizer,file_path=test_path,block_size=128)
model = GPT2LMHeadModel.from_pretrained('gpt2')
training_args = TrainingArguments(output_dir = 'data/out',overwrite_output_dir = True,per_device_train_batch_size = 32,per_device_eval_batch_size = 32,learning_rate = 5e-5,num_train_epochs = 3,)
trainer = Trainer(model = model,args = training_args,data_collator=data_collator,train_dataset = train_dataset,eval_dataset = test_dataset)
trainer.train()
trainer.save_model() generator = pipeline('fill-mask',model='data/out')
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)