!pip install transformers
import tensorflow as tf
from transformers import TFGPT2LMHeadModel
from google.colab import drive
drive.mount('/gdrive')
Mounted at /gdrive
chat_model = TFGPT2LMHeadModel.from_pretrained('/gdrive/My Drive/kogpt2/kogpt2_chatbot')
All model checkpoint layers were used when initializing TFGPT2LMHeadModel.
All the layers of TFGPT2LMHeadModel were initialized from the model checkpoint at /gdrive/My Drive/kogpt2/kogpt2_chatbot.
If your task is similar to the task the model of the checkpoint was trained on, you can already use TFGPT2LMHeadModel for predictions without further training.
from sentencepiece import SentencePieceProcessor
tokenizer = SentencePieceProcessor(model_file='/gdrive/My Drive/kogpt2/kogpt2_news_wiki_ko_cased_818bfa919d.spiece')
'Q: 오늘도 좋은 하루! A:'
input_ids = [tokenizer.bos_id()] + tokenizer.encode_as_ids(sent)
input_ids = tf.convert_to_tensor([input_ids])
output = chat_model.generate(input_ids, max_length=50, early_stopping=True, eos_token_id=tokenizer.eos_id())
Setting `pad_token_id` to 1 (first `eos_token_id`) to generate sequence
full = tokenizer.decode_ids(output[0].numpy().tolist())
answer = full[len(sent):]
'좋은 하루 되세요.'
output = chat_model.generate(input_ids, max_length=50, do_sample=True, top_k=50, early_stopping=True, eos_token_id=tokenizer.eos_id())
tokenizer.decode_ids(output[0].numpy().tolist())
Setting `pad_token_id` to 1 (first `eos_token_id`) to generate sequence
'Q: 오늘도 좋은 하루! A: 시간이 너무 빨리 지나갔네요.'