ある日,ローカル上にて pytorch でモデル構築し,torchsummary.summary で構造を表示しようとしたところ,”RuntimeError: Numpy is not available” に遭遇し,しばらくネットサーフィンする羽目になりました.
メモとして,解決に至った対処法を記載します.
結論
題の “RuntimeError” が発生した環境にて,tensorflow を強制的に更新しました.
具体的には,コマンドラインにて,
pip install –ignore-installed –upgrade –no-cache-dir tensorflow
とすることで,上記エラーが発生しなくなりました.
追記:2022/06/28
もう一回,同じ状況に遭遇したのですが,その時は,numpy を強制的に更新しただけで治りました.
pip install –ignore-installed –upgrade –no-cache-dir numpy
実行環境
- windows 10 Home 64 bit (10.0 build 19044)
- Intel Core i5-1135G7
- python 3.10.4
- torch 1.11.0
- numpy ??? → 1.22.3 (??? は現象発生時ですが見逃してしまいました...)
- tensorflow 2.8.0
経緯
ある日,pytorch で何気なくモデル作成して torchsummary.summary で構造を確認しようとしたところ,
上図のように見慣れない RuntimeError に遭遇しました.
一旦,ファイルと vscode を落とし,コマンドラインから以下を実行しても同様のエラーが送出されました.
import torch
t = torch.tensor([0])
print(t.numpy())
# RuntimeError: Numpy is not available
numpy に変換できないのは辛いので,解決法模索のために結果 2, 30 分ネットサーフィンしました.
tensorflow を強制的に更新して解決
こちらの web ページ (https://programmerah.com/solved-runtimeerror-numpy-is-not-available-associated-torch-or-tensorflow-34171/) を参考に,エラーが発生した環境に入って,以下の通り tensorflow を強制的に更新した結果,当該エラーは出なくなりました.
pip install –ignore-installed –upgrade –no-cache-dir tensorflow
冷静に考えてみると,当時スルーしてしまっていた,検索上位にあった pytorch コミュニティの解決法 (https://discuss.pytorch.org/t/numpy-not-available/120409/6) を見直すと,「numpy を更新すれば良い」 という風に書かれていたので,この通り numpy を強制的に更新するだけでも良いかもしれません.
余談ですが,調べる過程で「torchsummaryよりtorchinfoがいい」(https://qiita.com/tand826/items/ae3349495944048fd120) という情報を見つけ,より詳細な情報を見ることができる torchinfo に切り替えていこうと思います.
コメント