### rinna/japanese-gpt2-mediumとtransformersについて
現在GUIアプリの一部にrinna/japanese-gpt2-mediumを使ったプログラムを作り、cx_Freezeにてexe化しようとしています。
setup.pyは問題なく実行でき、exeが作成されますが、exeファイル実行の際に、どうしても以下のようなImportError: cannot import name '〇〇'from 'torch'のエラーが出ます。最新バージョンのpython3.9とtorch1.9.0でも試しましたが、似たようなエラーが発生しました。
そこでtransformersで使うフレームワークを、pytorch以外で代用できればと思っていますが、調べようにもgpt2解説サイトはtorchを基準にしているサイトが殆どですので、何を使うべきか、コードのどこを改変するべきかが分かりません。この二点についてご教授頂きたいのです。
ちなみにexe化の際にpyinstallerを使わない理由は、ファイルサイズが自然言語辞書込みで約950MBを超え実行速度に問題が出てしまうからになります。
発生している問題・エラーメッセージ
該当のソースコード
setup
1import sys 2from cx_Freeze import setup, Executable 3 4base = None 5 6if sys.platform == 'win32': base = 'Win32GUI' 7packages = [] 8includes = ['wx', 'wx.xrc', 'wx.html', 'MeCab', 'matplotlib', 'neologdn', 'regex', 'sentencepiece', 9 'torch','unicodedata', 'random', 'ctypes', 'os', 'transformers', 'pymagnitude-light','annoy'] 10excludes = ['tkinter'] 11include_files = ['new.magnitude', 'NEologd'] 12exe = Executable(script='GUI.py', base=base) 13 14setup(name='name', 15 options={ 16 'build_exe': { 17 'packages': packages, 18 'includes': includes, 19 'excludes': excludes, 20 'include_files': include_files}}, 21 version='0.1', 22 description='converter', 23 executables=[exe]) 24
applicableGUIcode
1text = self.textctrl.GetValue() 2tokenizer = T5Tokenizer.from_pretrained(r"rinna/japanese-gpt2-medium") 3model_t = AutoModelForCausalLM.from_pretrained(r"rinna/japanese-gpt2-medium") 4input_t = tokenizer.encode(text, return_tensors="pt") 5generation = model_t.generate(input_t, do_sample=True, max_length=120, num_return_sequences=2) 6decode = tokenizer.batch_decode(generation)
試したこと
・python3.9とtorch1.9.0のバージョンを3.7や1.3.0に下げてsetup.py再実行/exe実行
・Tensorflowライブラリをインストールし、return_tensorsを"tf"へ、
AutoModelForCausalLMをTFAutoModelForCausalLMに変更
回答1件
あなたの回答
tips
プレビュー