pytorch の .numpy() メソッドで “RuntimeError: Numpy is not available” になったときの対処法

pytorch-numpy-is-not-available python
pytorch-numpy-is-not-available



ある日,ローカル上にて 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 で構造を確認しようとしたところ,

pytorch; RuntimeError: Numpy is not available
pytorch; RuntimeError: Numpy is not available

上図のように見慣れない 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 に切り替えていこうと思います.

コメント

タイトルとURLをコピーしました