- 投稿日:2020-01-21T21:05:46+09:00
CUDA+cuDNNのインストールまとめ
はじめに
Windows10の環境にNVIDIA CUDA ToolkitとcuDNN SDKを
インストールする手順をまとめました。今回は、Tensorflow2.1.0で動作することを目的としているので
インストールするバージョンは下記になります。
- CUDA10.1
- cuDNNv7.6.5
CUDA対応GPU
https://developer.nvidia.com/cuda-gpustensorflow2.1.0のGPUサポートページ
https://www.tensorflow.org/install/gpuVisual Studioのインストール
CUDAを動かすには、Visual Studioのコンパイラが必要なので
入れてない場合は、事前にVisual Studioをインストールしておきましょう。
https://docs.microsoft.com/ja-jp/visualstudio/releases/2019/release-notesx86版の開発を行う場合、Visual Studio2013以下のバージョンが必要なようです。
インストールする場合、「C++によるデスクトップ開発」にチェック
オプションに「MSVC v142 - VS 2019 C++ x64/x86 ビルドツール」にチェックが
入っていることを確認してください。
CUDA Toolkitのダウンロード
https://developer.nvidia.com/cuda-toolkit-archive
上記よりCUDA Toolkitをダウンロードしてインストールします。
今回はCUDA10.1をダウンロードしました。フレームワークまたはアプリケーションによっては、
対応バージョンが違うので必ずしも、最新版を入れればよいというわけでないので注意してくださいシステム環境変数のCUDA_PATHが下記のようになってるか確認
システム環境変数のCUDA_PATH_V10_1が下記のようになってるか確認
インストールしてからまだPCを再起動していない場合
ここらへんで、再起動することをお勧めします。環境変数にPATHを通した場合、再起動しないと適応されない場合があります。
詳しくは環境変数を変更したら再起動すべきかコマンドプロンプトで下記を実行して
PATHがちゃんと通ってるか確認してくださいnvcc -VcuDNNのインストール
https://developer.nvidia.com/cuDNN
上記よりcuDNNをダウンロードします。
ダウンロードするにはログインが必要なので簡単にアカウントを作ってください。解凍したら、cuDNN内のcudaフォルダの中身をすべて
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
にコピーします。最後にシステム環境変数に新規で
変数名「CUDNN_PATH」
値 「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1」を追加します。
ここでも再起動することをお勧めします。
次にコマンドプロンプトで下記を実行し、エラーがでないことを確認してください。
where cudnn64_7.dllTensorflowで動作を確認
今回、Tensorflow2.1.0での使用目的だったので一応動作確認しておきます。
test.pyimport tensorflow as tf with tf.device('/gpu:0'): a = tf.Variable([[1., 2.]]) b = tf.constant([[3.], [4.]]) print(tf.matmul(a, b))
- 投稿日:2020-01-21T01:28:21+09:00
大場花菜と大谷映美里の分類をディープラーニングでやってみた(その2)
前回の続き
会社の研修で画像認識で分類問題を解いたので自分の好きなアイドルで同じことをしてみようとしたのがきっかけ。
以下、前回の記事今回は前回の結果を踏まえ、精度向上と間違えてた画像がどのようなものだったのかを見ていこうと思います。
その前に分類対象となるお二方のご紹介
大場花菜
私、おぼろの心の推しメン。アイドルグループ「=LOVE」のメンバーです。
どがわええええええええええべほべほべろほろへゆろ、!!!!!ーー!!!
以下、Twitterのアカウント。是非フォローよろしくお願いします。
大場花菜(https://twitter.com/hana_oba)大谷映美里
同じくアイドルグループ「=LOVE」のメンバーです。
かわいいですね。大谷映美里(https://twitter.com/otani_emiri)
前回の精度が大体正答率90%くらいでした。
精度向上のために試すこと① ~試行回数を増やす~
前回がエポック数200回ほどでした。
これをみるとまだ上がりそう(試行回数が多すぎると一時的ではなく恒常的にグラフが下降していきます)
なのでもっと回数を増やしていきます。
200→1000回へ無事に精度が向上しました。
800回を超えたあたりで長い間低い値を推移しており、これは過学習してしまっているのか?と思いましたが最後持ち直してくれましたね。1000エポック目は正答率98.33%でした。
まぁ実際には研修の時に精度向上のためにいくらか試行錯誤をしているので回数を増やすだけで結構精度を出すことができました。
記事としてはもっと精度向上のためにもがき苦しむべきなんでしょうがこれで良しにしたい自分がいます。
・・・とりあえず今日は精度向上はここまでにしてこのモデルが何を間違えたのかを見ていきます。(早く推論がやりたい)何を間違えてしまったのか見てみる
以下で答え合わせして、間違えてしまったやつがどれなのか、見ていきます。
idol.ipynbans = [] for i in range(0,x_test.shape[0]): x = np.array([x_test[i]]) y = model.predict(x) ans.append(np.argmax(y)) if(ans[i] != t_test[i]): print(i)以下が結果
75 82 148検証データ140件のうち誤答が3件=正解率が約98%なのであってそうですね!
これをつかって以下のように一度数値に落としたデータを画像に復元します。idol.ipynbplt.imshow(x_test[75]) plt.imshow(x_test[82]) plt.imshow(x_test[148])
75
82
カメコさんの画像だったので載せるのはやめておきます。
以下のツイートの1枚目です。(いいね!押しておいてください)
https://twitter.com/hana_oba/status/1119100534286217221?s=20
- 148
うーん、、、普通に花菜ちゃんですね。
1枚目はみりにゃ率89%
2枚目はみりにゃ率58%
3枚目はみりにゃ率64%
で最終的にみりにゃという判断をしたみたいです。まぁ、ディープラーニングはなぜそのような判断をしたのかを人間がわかるレベルで説明することはなかなかできないのでこれ以上推測することとかは何もないのですが。
では次回は違う方法で精度を高めていこうと思います。