【python】import torchがエラーで失敗した時の対処方法
せっかくpythonを使っているのだから、deep learningを使って何かやってみたくなりました。
そこで思いついたのが文章の自動生成をできないかということです。
ブログを書くのも何かと楽ではないので、何かしらのキーワードを与えたら勝手に文章を作れないかと思いました。wikipediaやサープスから文章をスクレイピングしてきて勝手に学習して文章を提案してくれるようなシステムです。最近のgoogleは賢いので、自動で作成された文章は見切ってきます。
とはいえライティングの何かしらの補助にはなるかと思いました。
早速情報収集をして、rnnを使った文章の自動生成をするサンプルプログラムを発見。
そこでpytorchが使われていたのでインストール。しかしimport torchが失敗して苦戦したので、今後同じように機械学習をおこなおうと考えている人がいましたらぜひ参考にしてください。
import torchがエラーで失敗した時の対処方法
torchのインストールまでの手順
私が試した方法を書いておきます。
この方法はググると他のサイトでもよく見るインストール手順です。
conda install pytorch-cpu torchvision-cpu -c pytorch
ちなみにコマンドはpytorchの公式サイトで生成しています。
見てわかるようにcondaを使ってインストールしました。
結果としてはこれがimport torchでエラーが出る原因だったわけですが・・・。
環境
- Windows10(64bit)
- Python 3.6
つまずいたポイント
- import torchができない
import torchをするとDLL load failed 指定されたモジュールが見つかりませんというエラーが吐かれました。
困ったものだと思い、頭を悩ませていました。
同じような現象にあって困っているという意見は散見されるものの、これといった解答をしているページがありません。
仕方なかったので英語ページでググっていると・・・、ありました!
https://stackoverflow.com/questions/43664444/how-can-l-unistall-pytorch
こちらのページで解答されていました。
解決方法
conda uninstall pytorch
pip uninstall torch
pip uninstall torch (2回おこなう)
pip3 install https://download.pytorch.org/whl/cpu/torch-1.0.1-cp36-cp36m-win_amd64.whl
pip3 install torchvision
計5回コマンドを実行しました。
まずconda経由でインストールしたpytorchをアンインストール。
次にpipもアンインストールを2回おこないます。
そしてpytorchのコマンドジェネレーターでpipのものを生成。
packageをpipにして、あとは自分の環境に合わせます。私の設定は以下の画面のようになりました。
Run this Commandのところで作成されたコードを実行。
ここまでやって、import torchが使えるようになりました。
原因
- pipではなく、condaを使ってインストールしていた。
結果論ですが、condaではなくpipを使った場合pytorchが使えるようになりました。
正直に思うところではcondaで正解なのでは??と思っています。
Anaconda使ってますから。
上のリンクでもあるようにcondaとpipを混ぜると割と危険なので気をつけましょうと警笛を鳴らしている人もいます。
pipとcondaで衝突が起きるようです。
今回の対応が正しいかどうかは計り知れません。
この辺の知識が不足しているですが、僕のように趣味でちょっとpython触ってるという人はまた入れ直せばいい話かもしれません。
しかしAnacondaで仮想環境のpythonプロジェクトを管理している人であれば、連鎖的にプロジェクトが触れなくなってしまう可能性もあるわけですから、対応は慎重にしたほうがいいと思います。
以上です。
追記
conda install pytorch torchvision cudatoolkit=10.0 -c pytorch
condaを使う方法ですが、anacondaをお使いの場合は上記のコードでpytorchをインストールできる可能性があります。
私はPCを買い替えたのですが、上記の方法でpytorchをインストールすることができました。
お試しください。