実現したいこと
PytorchにおいてBERTのファインチューニング済みモデルを保存したい。
前提
pth形式でモデルを保存しようとしたら謎のエラーを吐かれています(´;ω;`)
以前pth形式でモデルを保存できたのでなぜかわからなくなってしまったので質問しております。
発生している問題・エラーメッセージ
RuntimeError Traceback (most recent call last) Cell In[17], line 1 ----> 1 torch.save(model.state_dict(),"/model_test1.pt") File c:\Users\gp20a180\anaconda3\envs\bert\lib\site-packages\torch\serialization.py:440, in save(obj, f, pickle_module, pickle_protocol, _use_new_zipfile_serialization) 437 _check_save_filelike(f) 439 if _use_new_zipfile_serialization: --> 440 with _open_zipfile_writer(f) as opened_zipfile: 441 _save(obj, opened_zipfile, pickle_module, pickle_protocol) 442 return File c:\Users\gp20a180\anaconda3\envs\bert\lib\site-packages\torch\serialization.py:315, in _open_zipfile_writer(name_or_buffer) 313 else: 314 container = _open_zipfile_writer_buffer --> 315 return container(name_or_buffer) File c:\Users\gp20a180\anaconda3\envs\bert\lib\site-packages\torch\serialization.py:288, in _open_zipfile_writer_file.__init__(self, name) 287 def __init__(self, name) -> None: --> 288 super().__init__(torch._C.PyTorchFileWriter(str(name))) RuntimeError: File /model_test1.pt cannot be opened.
該当のソースコード
python
1torch.save(model.state_dict(),"/model_test1.pth") ->2023/09/04に編集済み
試したこと
自力で調べたが解決策なし
補足情報(FW/ツールのバージョンなど)
Pytorch = 2.0.1
cuda = 11.8
python = 3.9.16
> RuntimeError: File /model_test1.pt cannot be opened.
エラーだけみると、ルートディレクトリにファイルを作ろうとして怒られているようにみえるのですが、ファイル名をフルパスで指定するとどうなりますか?
エラーメッセージは「----> 1 torch.save(model.state_dict(),"/model_test1.pt")」で、該当のソースコードは「torch.save(model.state_dict(),"model_test1.pth")」で少し異なっていますがどちらが正でしょうか?
また「自力で調べたが解決策なし」とありますが具体的に調べた内容を追記していただけますか?
エラー文をBingで検索して該当のサイトを手当たり次第に検索しましたが、特に芳しいサイトが見当たらずといったところです...
もう一度、わかりやすくして書きます。
ファイル名のフルパスをコマンドを実行しているユーザで保存可能な場所に定するとどうなりますか?
torch.save(model.state_dict(),"D:\MyPython\model_test1.pth")
このような書き方になるでしょうか?
エラー文は変わらずRuntimeError: File D:\MyPython\model_test1.pth cannot be opened.
ですね...
OSはWindowsのようですがCドライブ直下にファイルを作成する権限はありますか?
勿論あります!
meg_さん!
C直下に置くことでpyhファイルを生成することができました!
本当にありがとうございました。
回答の方是非よろしくお願いします<(_ _)>
状況が良く見えませんので、元のコードの何がダメでどう解決されたのかを回答として投稿いただき、自己解決として本質問をクローズいただくのが良いかと思います。
回答1件
あなたの回答
tips
プレビュー