質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
PyTorch

PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

8050閲覧

pythonのRuntimeErrorの解決方法

asso_

総合スコア1

PyTorch

PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/08/21 18:17

編集2021/08/25 22:24

前提・実現したいこと

こちらの論文(http://kanamori.cs.tsukuba.ac.jp/projects/relighting_human/index.html)について、
公開されていたソースコードを動かそうとしたところ以下のエラーが出てしまいました。

発生している問題・エラーメッセージ

Traceback (most recent call last): File "test_with_photos.py", line 38, in <module> m_shared.load_state_dict(torch.load(shared_model_file)) File "C:\Users\anaconda3\envs\relight\lib\site-packages\torch\serialization.py", line 527, in load with _open_zipfile_reader(f) as opened_zipfile: File "C:\Users\anaconda3\envs\relight\lib\site-packages\torch\serialization.py", line 224, in __init__ super(_open_zipfile_reader, self).__init__(torch._C.PyTorchFileReader(name_or_buffer)) RuntimeError: [enforce fail at ..\caffe2\serialize\inline_container.cc:197] . file not found: dc1a/version (no backtrace available)

上記のdc1a/versionというファイルについて調べても詳細が分からず、困っています。
わかる方是非ご教授ください。よろしくお願いします。

追記

コメントいただけたのでCPUのみで実行したところ以下のようなエラーに代わりました。

Traceback (most recent call last): File "test_with_photos.py", line 40, in <module> m_shared.load_state_dict(torch.load(shared_model_file)) File "C:\Users\anaconda3\envs\relight\lib\site-packages\torch\serialization.py", line 600, in load with _open_zipfile_reader(opened_file) as opened_zipfile: File "C:\Users\anaconda3\envs\relight\lib\site-packages\torch\serialization.py", line 242, in __init__ super(_open_zipfile_reader, self).__init__(torch._C.PyTorchFileReader(name_or_buffer)) RuntimeError: Expected hasRecord("version") to be true, but got false. (Could this error message be improved? If so, please report an enhancement request to PyTorch.)

zipファイルが開けないといったようなエラーなのかと思ったのですが、
loadしているのはzipではなくchainerファイルでした。
torch.loadでchainerを読み込むのはおそらく問題ないようなのですが、何か変更等いるのでしょうか?
初学者のため頓珍漢な質問をしていたら大変申し訳ありません、ご教示いただけますと幸いです。
(また、cpuonnlyでの実行を行うため、pytorchをインストールし直しを試みたところ
1.4.0のバージョン指定でエラーとなり、1.9.0にバージョンアップされました)

補足情報(FW/ツールのバージョンなど)

python 3.6.6
pytorch 1.4.0
CUDA v9.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2021/08/21 23:08

GPUの処理は非同期なので、現状で「Traceback」以降に表示されてることがエラーの原因ではないかもしれません そこで、下記のようにする方がいいようです ・GPUを使わずCPUのみでの実行でもエラーになるなら、その時の「Traceback」以降に表示されてることを参照する ・CPUのみの実行ではエラーにならないなら、コードの一番最初に下記を追加してからGPUを使って実行して、その時の「Traceback」以降に表示されてることを参照する import os os.environ['CUDA_LAUNCH_BLOCKING'] = "1" 参考 https://torch.classcat.com/2018/05/25/pytorch-docs-notes-cuda/ の「非同期実行」 https://lernapparat.de/debug-device-assert/ https://discuss.pytorch.org/t/runtimeerror-cuda-runtime-error-710-device-side-assert-triggered-at-pytorch-aten-src-thc-generic-thctensormath-cu-26/73167 のptrblckさんの最初のコメント
asso_

2021/08/25 22:08

コメントありがとうございます。 そのようなデバッグ方法を知らず、大変助かりました。 別のエラーが出ましたので、追記させていただこうと思います。
jbpb0

2021/08/25 22:56 編集

> torch.loadでchainerを読み込むのはおそらく問題ない http://kanamori.cs.tsukuba.ac.jp/projects/relighting_human/index.html の「Code:」の「Codes (PyTorch)」を落として解凍して使ってるのなら、「Data:」の「Trained model for PyTorch」を落として使います (ファイルの拡張子が .pth) 「Trained model for chainer」(拡張子 .chainer) は、「Codes (chainer)」との組み合わせで使うものです
asso_

2021/08/25 23:08 編集

こちらに沿ってプログラムの参照ファイルを書き換えたところ無事動きました。 解決のめども立たず大変困っていたので助かりました、ありがとうございました。 ベストアンサーとして選ばせていただきたいのですが、追記はBAに選ぶことは不可能なのでしょうか?
guest

回答2

0

ベストアンサー

torch.loadでchainerを読み込むのはおそらく問題ない

Relighting Humans: Occlusion-Aware Inverse Rendering for Full-Body Human Images
の「Code:」の「Codes (PyTorch)」を落として解凍して使ってるのなら、「Data:」の「Trained model for PyTorch」を落として使います (ファイルの拡張子が .pth)

「Trained model for chainer」(拡張子 .chainer) は、「Codes (chainer)」との組み合わせで使うものです

投稿2021/08/26 05:06

jbpb0

総合スコア7653

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

asso_

2021/08/30 01:09 編集

こちらの回答に沿ってコードを修正したところ無事解決しました。 ありがとうございました!
guest

0

m_shared.load_state_dict(torch.load(shared_model_file))

loadというからにはなにかを読もうとしてるんでしょう。
shared_model_fileになにが入ってるのか調べてみては

投稿2021/08/21 22:47

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

asso_

2021/08/25 22:23

回答ありがとうございます。調べてみたところ .chainer ファイルでした。 こちらtorch.loadで読み込むことができるファイルだと認識しているのですが、何か特殊な処理など必要なのでしょうか?
y_waiwai

2021/08/25 22:27

file not foundといってるんですから、単純にそのファイルがないって話なんでは
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問