Views
No views yet
1from transformers import AutoModelForSeq2SeqLM, AutoTokenizer, pipeline
2
3model_name = "Formzu/bart-large-japanese"
4model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
5tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
6
7masked_text = "天気が<mask>から散歩しましょう。"
8
9fill_mask = pipeline("fill-mask", model=model, tokenizer=tokenizer)
10out = fill_mask(masked_text)
11print(out)
12# [{'score': 0.03228279948234558, 'token': 2566, 'token_str': 'いい', 'sequence': '天気 が いい から 散歩 し ましょう 。'},
13# {'score': 0.023878807201981544, 'token': 27365, 'token_str': '晴れ', 'sequence': '天気 が 晴れ から 散歩 し ましょう 。'},
14# {'score': 0.020059829577803612, 'token': 267, 'token_str': '南', 'sequence': '天気 が 南 から 散歩 し ましょう 。'},
15# {'score': 0.013921134173870087, 'token': 17, 'token_str': 'な', 'sequence': '天気 が な から 散歩 し ましょう 。'},
16# {'score': 0.013069136068224907, 'token': 1718, 'token_str': 'よく', 'sequence': '天気 が よく から 散歩 し ましょう 。'}]1from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
2import torch
3
4device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu")
5
6model_name = "Formzu/bart-large-japanese"
7model = AutoModelForSeq2SeqLM.from_pretrained(model_name).to(device)
8tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
9
10masked_text = "天気が<mask>から散歩しましょう。"
11
12inp = tokenizer(masked_text, return_tensors='pt').to(device)
13
14out = model.generate(**inp, num_beams=1, min_length=0, max_length=20, early_stopping=True, no_repeat_ngram_size=2)
15res = "".join(tokenizer.decode(out.squeeze(0).tolist(), skip_special_tokens=True).split(" "))
16print(res)
17# 天気がいいから散歩しましょう。天気のいいへやから、ここから