我的 gpt2 代码生成了一些正确的单词,然后进入一个循环,一次又一次地生成相同的序列

问题描述 投票:0回答:0

以下用于句子补全的 gpt2 代码生成了一些好的句子,然后以重复句子的循环结束。

from transformers import GPT2LMHeadModel, GPT2Tokenizer                         
import torch                                                                    
                                                                                
# Load the pre-trained model and tokenizer                                      
model_name = 'gpt2'                                                             
model = GPT2LMHeadModel.from_pretrained(model_name)                             
tokenizer = GPT2Tokenizer.from_pretrained(model_name)                           
                                                                                
# Set the model to evaluation mode                                              
model.eval()                                                                    
#                                                                               
# Input sentence                                                                
input_sentence = "I want to go to the"                                          
                                                                                
for i in range(200):                                                            
                                                                                
    # Tokenize the input sentence                                               
    input_tokens = tokenizer.encode(input_sentence, return_tensors='pt')        
                                                                                
    # Generate predictions                                                      
    with torch.no_grad():                                                       
        outputs = model.generate(input_tokens, max_length=len(input_tokens) + 1, num_return_sequences=1)
                                                                                
    # Decode the generated output                                               
    generated_output = tokenizer.decode(outputs[0], skip_special_tokens=True)   
                                                                                
    print(generated_output)                                                     
                                                                                
    input_sentence = generated_output    
nlp stanford-nlp huggingface-transformers gpt-2
© www.soinside.com 2019 - 2024. All rights reserved.