意外となんとかなる日記

世迷言を心に、綺麗事を頭に

スポンサーリンク

Windows 10のAnaconda環境でtensorflow-gpuをインストールする手順とか(Visual Studio Integrationエラーについて20180603追記)

※2018年6月3日追記 Visual Studio Integrationエラーについて、グラフィックドライバのアンインストールを追記

 

2018年2月2日追記 tensorflow-gpuのバージョンが1.5になったことに伴い(?)、CUDAのバージョンを変更

 f:id:Suechan:20171224000847j:plain

 なんとなくノリと勢いでGeForce GTX 1060 3GBを買ってしまいました。

 昼間だけでなく、家でも時間を使ってしまうあたりは、もはや病気かもしんない。

 

 そんなわけで機械学習エンジニアっぽく、tensorflow-gpuのインストールとかやっちゃいます。ネットをいろいろ調べたんですが、なんか要を得なかったので、自分で手順書を作って遺しておきます。

 

 おしながき

 1.Windows10をインストール

 2.グラフィックドライバをインストールグラフィックドライバをアンインストール(2018年6月3日追記)

 3.CUDA Toolkit 9.0をインストール

 4.cuDNN v7.0.5 for CUDA 9.0のファイルをコピー

 5.Visual Studio 2015 の Visual C++ 再頒布可能パッケージをインストール

 6.Anaconda3 5.2.0をインストール

 7.tensorflow-gpu, kerasをインストール

 8.mnist_cnn.pyを実行し、実行時間を計測

 順番は多少前後しても大丈夫のハズ。たぶん。

 

 

 1.Windows10をインストール

※2018年6月3日追記

 Windows10をクリーンインストールをする場合ですが、LANの線を抜いてインストールします

 LANの線を抜かない場合、Windows10がグラフィックドライバを自動でダウンロードしインストールしてしまうためです。

 

 

 2.グラフィックドライバをインストールグラフィックドライバをアンインストール

 NVIDIAドライバダウンロード

 NVIDIAドライバのバージョンはそんなに気にしなくてもええと思いますので、いい感じにインストールしてください。

 

2018年6月3日追記

 最近、Windows10をクリーンインストールしたところ、CUDA ToolKitインストール途中で下記エラーを確認しました。

 f:id:Suechan:20180603213759p:plain

 

 visual studio integration 失敗 - Google 検索などでいろいろ出てきます。

 

 原因としては、グラフィックドライバが新しいとエラーが出るようです。

 

 それならばとこちらから旧バージョンを探しましたが、そのサイトで一番古い388.13でもダメでした。

 

 上記の検索に対策も載っていますが、イマイチわからなかったので、以下私が採った対策を書きます。

  1)ddu ダウンロード - Google 検索のDDUをダウンロードしておく(怪しくて使いたくない場合は別の手順もありマス)

 

  2)デバイスマネージャーで、ディスプレイドライバを[Microsoft基本ディスプレイアダプター]に変更

 f:id:Suechan:20180603214858p:plain

 

  3)[スタート]右クリック-[シャットダウンまたはサインアウト]-(Shiftキーを押しながら)[再起動]クリック-[トラブルシューティング]-[詳細オプション]-[スタートアップ設定]クリックで再起動

 

  4)再起動したら[4]を入力する(「4.セーフモードを有効にする」を選択)

 

  5)グラフィックドライバのアンインストールについてここで分岐

   (1)DDUを使う場合、DDUを起動して[Clean and restart]をクリックする(こっちがオススメ)

 

   (2)DDUを使わない場合、[スタート]右クリック-[アプリと機能]でNVIDIA系をすべてアンインストールし、[C:\Program Files]と[C:\Program Files (x86)]の中から[NVDIA]と名の付くフォルダをデリートだ(cv司波達也 (しばたつや)とは【ピクシブ百科事典】(強引な方法) この後再起動します。

 

 これでいけるはずです、てかどっちも試してCUDA Toolkitインストールまでできることを確認しましたただ、その先どうなるかは知らん(ぉぃ

 私は再度Windows10をクリーンインストールして、グラフィックドライバをインストールせずに、CUDAをインストールしました(ずるい

 

 書いてて気になったのですが、CUDAをインストールする際に、[Visual Studio Integration]のチェックを外したらどうなんやろ?

 なんかうまくいきそうやけど。

 

 

 3.CUDA Toolkit 9.0をインストール(※2018年2月2日 バージョン変更)

 CUDA Toolkit 9.0 Downloads | NVIDIA Developer

 バージョンは9.0を使いましょう。下のcuDNNとバージョンを合わせないといかんと思います。

 

 

 4.cuDNN v7.0.5 for CUDA 9.0のファイルをコピー(※2018年2月2日 バージョン変更)

 https://developer.nvidia.com/rdp/cudnn-download

 ユーザ登録が必要です。ユーザ登録確認のメールはすぐに来ます。

 

 最初cudnn v5.1を使ったのですが、どうやらv6.0を使わないとダメらしいです。

※2018年2月2日追記

 ダウンロードしたcudnn-9.0-windows10-x64-v7.zipファイルを解凍します。

 続いて、解凍した左側のファイルを右側のCドライブのフォルダにコピーします。

・cudnn-9.0-windows10-x64-v7\cuda\bin\cudnn64_7.dll → C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin\

・cudnn-9.0-windows10-x64-v7\cuda\include\cudnn.h → C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include\

・cudnn-9.0-windows10-x64-v7\cuda\lib\x64\cudnn.lib → C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64\

 

 

 5.Visual Studio 2015 の Visual C++ 再頒布可能パッケージをインストール

 tensorflowのこのページを見ると、

 Download and Setup  |  TensorFlow

TensorFlow requires MSVCP140.DLL ・・・(略)・・・(再頒布可能パッケージのリンク)・・・

 となっているので、

 Download Visual Studio 2015 の Visual C++ 再頒布可能パッケージ from Official Microsoft Download Center

 上記リンクからダウンロードしてインストールします。

 

※2018年6月3日追記

 Tensorflow実行時に「MSVCP140.DLLファイルが無いエラー」が出る場合、「C++ 2017をアンインストール」して、「C++ 2015をインストール」するとうまくいくかもしれません。その後、再度「C++ 2017をインストール」しとけば・・・ええのかな(自信がないため小声

 

 

 6.Anacondaをインストール

 Downloads | Anaconda

 tensorflow-gpuが使えればなんでもいいですが、Anacondaが便利っぽいのでインストールします。

 インストール時のチェックは2か所に入れてみました。なんだったっけ?

 

※2018年6月3日追記

 Anaconda3 5.2.0を使用したところ、Anacondaのインストールが終わるとき、ボタン一つで[VS Code]をインストールできるようになっていますので、このウェーブに乗ることをおすすめいたします。

 

 インストールが終わったら、Anacondaプロンプトを起動して仮想環境を作ります。

conda create -n tfg python=3.6.2

 pythonのバージョンは適当です。続いて、

activate tfg

 作ったtfg環境を有効にします。

 

 

 7.tensorflow-gpu, kerasをインストール

 上に引き続き、

pip install tensorflow-gpu

pip install keras

 と入力し、tensorflow-gpuとKerasをインストールします。

 kerasをインストールする理由は下のサンプルプログラム動作のためです。

 f:id:Suechan:20171223234333j:plain

 

 

 8.mnist_cnn.pyを実行し、実行時間を計測

 keras/mnist_cnn.py at master · NVIDIA/keras · GitHub

 こちらのサンプルプログラムをメモ帳に貼り付けて、UTF-8にして、mnist_cnn.pyとして保存します。

 そして

python mnist_cnn.py

 として計測してみますと、

f:id:Suechan:20171223234633j:plain

 12秒*12Epoch=144秒となり、約3分弱くらいで終わります。

 

 ※2018年2月2日追記 再度測定したところ、以前は1Epochあたり12秒でしたが、今回は15秒くらいになりました。CUDAのバージョンに差異はあるのですが、CPUパッチの影響もあると思われます。20%くらい性能がダウンしました。

 

 また、ワットチェッカーで消費電力を見たところ、アイドル70W台に対して100~130Wくらいでした。

 GPUのメモリを2.7GBくらい使用していますが、3GBで足りているか不明です。

 f:id:Suechan:20171223235727j:plain

 

 続いてAnacondaで、tensorflowをインストールした環境を用意して(GPU無し版でCPU版と言うかもしれない)、実行し計測してみますと、

f:id:Suechan:20171223234739j:plain

※Epoch4の途中で止めました

 

 1Epochあたり約90秒かかります。

 消費電力を見ると150~180Wとなっており、・・・不安になってタスクマネージャーを見ると、

 f:id:Suechan:20171223235239j:plain

 フルロードとか、らめえぇぇっ!!! N60ちゃん(簡易水冷)ではCPUの冷却が追いつかないNOっっっ!

 

 90秒*12epoch=1,080秒=20分弱くらいかかりそうです。

 うん、そんな20分間もフルロードにしたらあかん。というわけで、途中で止めました。

 

 実行時間の計測結果から察するに、tensorflow-gpuが正常にインストールされていると思われます。お疲れ様でした。

 速度対比でいくと、90秒/12秒=7.5倍GPUが速いという結果になりました。

 

 あとは、お好みのエディタとかインストールになると思います。

 私はVisual Studio Codeを使っています。Anacondaの各環境も認識するので、便利だと思います。

 

 

 以上でAnaconda環境でtensorflow-gpuをインストール手順は終わりです、お疲れ様でした。

 

 

 以下、すんごい余談です。

 グラフィックカードの動作テストとか必要だと思いませんか?

 購入したハードウェアの動作確認って必要だと思うんですよ。そうですよね?

 というわけで、 

 f:id:Suechan:20171223235958j:plain

 ※Forza Mortorsports 7よりアシストオンでキーボード操作にて

 

 GeForce GTX 1060 3GBが、動作テストにおいてフルHDの解像度で60fpsを保つことを確認いたしました

 今回フルHDでしたが、4Kになるとグラフィックカードのメモリが少ないので、ちょっと厳しいかもしんない。

 

 ただ、画面のちらつきがあることも確認いたしました。

 f:id:Suechan:20171224000020j:plain

 ※Forza Mortorsports 7より

 

 これはドライバ等のおれ環の可能性が高そうではあります。

 こちらのテスト結果も参考になればと思います。

 tensorflowの確認が済んだら、続いてグラフィックカードの動作テストはいかがでしょうか?

MSI GeForce GTX 1050 Ti 4G OCV1 グラフィックスボード VD6424

MSI GeForce GTX 1050 Ti 4G OCV1 グラフィックスボード VD6424

 

 

スポンサーリンク