sazan / app.py
aino813's picture
Update app.py
406c76e
import gradio as gr
from transformers import T5Tokenizer,AutoModelForCausalLM
tokenizer = T5Tokenizer.from_pretrained("rinna/japanese-gpt2-small")
model3 = AutoModelForCausalLM.from_pretrained("./models")
model3.to("cpu")
descriptions = "文書を入力すると、その後に、サザンオールスターズ風の歌詞を生成します"
def getarate_sentences3(seed_sentence):
x = tokenizer.encode(seed_sentence, return_tensors="pt", add_special_tokens=False) # 入力
x = x.cpu() # CPU対応
y = model3.generate(x, # 入力
min_length=50, # 文章の最小長
max_length=100, # 文章の最大長
do_sample=True, # 次の単語を確率で選ぶ
top_k=50, # Top-Kサンプリング
top_p=0.95, # Top-pサンプリング
temperature=1.2, # 確率分布の調整
num_return_sequences=1, # 生成する文章の数
pad_token_id=tokenizer.pad_token_id, # パディングのトークンID
bos_token_id=tokenizer.bos_token_id, # テキスト先頭のトークンID
eos_token_id=tokenizer.eos_token_id, # テキスト終端のトークンID
bad_word_ids=[[tokenizer.unk_token_id]] # 生成が許可されないトークンID
)
generated_sentences = tokenizer.batch_decode(y, skip_special_tokens=True) # 特殊トークンをスキップして文章に変換
return generated_sentences[0]
demo = gr.Interface(fn=getarate_sentences3, inputs=gr.Textbox(lines=3, placeholder="文章を入力してください"), outputs="text", title="Southern All Stars style lyrics", description=descriptions)
demo.launch()