問題
Anaconda に PyTorch をインストールしていざ使おうとすると下記エラーが発生して動作が止まってしまいました.
なんかいじっていたら直ったので方法を備忘録としてメモします.
python.exe - エントリポイントが見つかりません
プロシージャ エントリ ポイント ?get_cuda_check_prefix@cuda@c10@@YAPEBDXZ がダイナミック リンク ライブラリ <インストールパス>\anaconda3\Lib\size-packages\torchvision\ _C.pyd から見つかりませんでした。
環境
Windows 10 Home 21H1
anaconda Command line client (version 1.7.2)
conda 4.10.1
pytorch 1.9.0 py3.8_cuda10.2_cudnn7_0 pytorch
torchaudio 0.9.0 py38 pytorch
torchvision 0.10.0 py38_cu102 pytorch
他の障害のためAnacondaをアンインストールし再インストールした後主要ライブラリを conda update --all
でアップデート.
さらにPyTorch公式の手順に従い conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch
でPyTorch関連ライブラリをインストールを行った.
この後Anacondaプロンプトを再起動し("念の為"ここでもう一回 conda update --all
をした気がする),jupyter notebook 上で torch
と torchvision
をインポートし使おうとすると,notebookの出力やプロンプト上では何も表示されないものの,上記のポップアップエラーが発生する.
OKを押すとそのまま動作し続けるが学習を進めたりすると,都度ポップアップして止まるため連続処理ができない状況.
対処
同様の事象を検索したところ,状況はところどころ違うものの以下のissueで「クリーン環境に新規インストールすると解決するが conda update --all
を実行すると再発する」「PyTorch for Windowsが正しく機能していない」といった報告が寄せられていたため,ライブラリバージョンを落としてみることにしました.
https://github.com/pytorch/pytorch/issues/17233
ひとまず障害が起こっているっぽいtorchvisionのバージョンをひとつ下に落としてみる
conda install torchvision=0.9.1 -c pytorch
と,依存関係のpytorhとtorchaudioも一緒にダウングレード
The following packages will be DOWNGRADED:
pytorch 1.9.0-py3.8_cuda10.2_cudnn7_0 --> 1.8.1-py3.8_cuda10.2_cudnn7_0
torchaudio 0.9.0-py38 --> 0.8.1-py38
torchvision 0.10.0-py38_cu102 --> 0.9.1-py38_cu102
されました.
この後Anacondaプロンプトを再起動し jupyter notebook からtorch, torchvisionを使用したところ問題なく動作し,ニューラルネットの学習等も正常にすることができるようになりました.
原因の詳しい調査はしていませんがやはり最新版に何らかのバグが有るようですね.