#はじめに
これまでテーブルデータの機械学習を中心に勉強してきましたが、画像処理についても勉強するために書籍「Pytorchによる発展ディープラーニング」を購入しました。さっそく、サンプルコードを実行するべくPytorchをインストールしましたが、コード実行時にモジュールのimportエラーが発生しました。事象の解消になかなか苦戦したので対処法を残します。
※ちなみにQiita初投稿です
#実行環境
OS: Windows10
Anaconda3環境(Python3.7.6)
#発生した事象
まず、Pytorchの公式サイトにて、自分の環境に該当するPytorchのインストールコマンドを確認し、Anaconda Prompt上でコマンドを実行。
自分の場合は以下のコマンド
(バージョンはpytorch==1.6.0 torchvision==0.7.0)
conda install pytorch torchvision cpuonly -c pytorch
Pytorchのインストール完了後に、書籍付属のサンプルコードをJupyter Notebook上で実行したところ以下のエラーが**「import torch」**の行で発生。
(conda listコマンドにてPytorchがちゃんとインストールされていることは確認済み)
OSError:[WinError 126] 指定されたモジュールが見つかりません。 Error loading "C:\Users\●●●\anaconda3\lib\site-packages\torch\lib\asmjit.dll" or one of its dependencies.
#試したこと
いろいろと試しましたが結果、④の旧バージョンPytorchのインストールで解決しました。
###①condaではなくpipでインストール
以下の記事で、pipでインストールし直したところ、エラーが出なくなったと書かれていたためpipで再度インストール。
【python】import torchがエラーで失敗した時の対処方法
しかし、pipでインストールし直すも事象は解消せず。
###②Anacondaの再インストール
モジュールがインストールされるフォルダ内にPytorchのモジュールがちゃんと存在していたため、環境変数のpathがしっかりと通せていない、もしくはPythonのバージョンの影響と想定。しかし、Anacondaを再度インストールするも事象は解消せず。
###③CUDAの再インストール
CUDAを半年ほど前にインストールした際には、自分のPCのOSがまだWindows8.1でした。その後、OSをWindows10へアップデートしたため、それが悪さをしていると想定。しかし、Windows10対応のCUDAを再度インストールするも事象は解消せず(そもそも、実行したサンプルコードではGPUの使用がないので関係ない?)。
###④旧バージョンのPytorchをインストール
海外の記事で、旧バージョンのPytorchをインストールしたところ解消したという事例を見つけたので試してみました。
error while import pytorch module. (The specified module could not be found.)
自分の場合は以下のコマンド
(バージョンはpytorch==1.5.0 torchvision==0.6.0)
conda install pytorch==1.5.0 torchvision==0.6.0 -c pytorch
結果、これで今回のエラーが出る事象は解消しました!サンプルコードも実行できました。
#解決に数日かかりました
文章で書くと一瞬で解決したように見えますが、自分は②、③でAnacondaやCUDAのバージョンをいろいろと変えて再インストールするのに時間を費やしたため、解決に数日かかってしまいました。
(最初から④を試していれば速攻で解決してたんでしょうけど…)
同じような事象が発生したという日本語の記事も少なかったので今回メモとして残しておきます。同じ事象で困っている方は参考にして下さい。