こんばんは。Toruです。
今回は私の新しく買ったパソコンNew Alienware Aurora R9にTensorFlow GPU版を入れたのでそのやり方などについてお話しします。
私がインストールしたやり方やバージョンなどについても詳しく説明していきたいと思います。
インストールがうまくいかない方に少しでも参考視していただければと思います。
PCのスペック(&開発環境)
まずは私のPCの環境について紹介しておきます。
- Windows 10 Home
- Intel Core i7 9700
- NVIDIA GeForce RTX 2070 Super
そしてこのパソコンに以下のドライバーやソフトをインストールしていきます。
- NVIDIA Driver:442.92(インストールはここからできます)
- CUDA:9.0(インストールはここからできます)
- cuDNN:7.4.1.15(インストールはここからできます)
- python:3.6.1(pythonをまだインストールしていない方はこちらから)
- Visual Studio 2015 C++ 再頒布可能パッケージ(インストールはこちらから)
- Bazel:0.15.0(インストールこちらから)
- MSYS2(インストールはこちらから)
- Build Tools(インストールはこちらから)
- Visual Studio 2019 for Windows Community(インストールはこちらから)
- TensorFlow-gpu:1.12.0
- TensorBoard:1.12.0
- TensorFlow-estimator:1.13.0
- Keras:2.2.4
注)TensorFlow-gpu は最新版ではありません。
最新版は他のソフトウェアとまだ完璧な互換性がなく、うまく動作しなかったのでダウングレード版を入れました。
- パソコンの起動時間を爆速にしたい方はM.2 SSDで立ち上げを爆速にしたら失敗した話をお読みください。
ドライバーやソフトウェアをインストールする
それでは、必要なソフトウェアをたくさんインストールしていきます。
NVIDIA Driver(ver. 442.92)
NVIDIA製のGPUを使いますのでそれに合わせたドライバーをインストールします。
■インストールURL
GPUのスペックを入力
ページを開いたら自分のGPUのスペックを入力します。(画像内の情報は私のGPUのスペックですが、ダウンロードタイプについてはStudio Driver(SD)を選択しインストールしました。)
ドライバーをインストール
入力後、【検索】を選択し最適なドライバーをインストールする。
インストール後はそのファイルを展開するだけで完了です。
CUDA(ver. 9.0)
次にCUDA(クーダ)をダウンロードします。
CUDAとはNVIDIAが提供しているGPU向け汎用並列コンピューティングプラットフォームやプログラミングモデルです。
■インストールURL
PCの情報を入力
自分のPCの情報を選択する。
注)Legacy Releasesを選択
Downloadボタンが表示されるがそのボタンは押さず、その下にある【Legacy Releases】を選択する。
インストール
その中に【CUDA Toolkit 9.0】があるのでそれを選択し、インストールする。
インストール後はそのファイルを展開するだけで完了です。
cuDNN (ver. 7.4.1.15)
続いてcuDNNをインストールします。
cuDNNとはNVIDIAが提供しているDeep Learning用ライブラリで、これを使うことで高速に学習を行うことができます。
■インストールURL
【Download cuDNN】を選択
サイトのトップページから【Download cuDNN】を選択する。
(無料)メンバーシップ登録をする
ここではメンバーシップになってくださいと出てくるので、自分のどうでも良いメールアドレスなどの情報を入力する。(設定するのに5分くらい)
【Download cuDNN v7.4.1 for CUDA 9.0】をインストール
Joinしたら【cuDNN Download】画面を下にスクロールし【Download cuDNN v7.4.1 for CUDA 9.0】を選択し、インストールする。インストール後はそのファイルを展開するだけで完了です
Python(ver. 3.6.1)
次にpythonをインストールします。
■インストールURL(あまりここからやる人はいないと思うが一応)
pipのアップグレード
コマンドプロンプトから以下のコマンドを入力しpipをアップグレードしておく。
1 | python -m pip install --upgrade pip |
pythonをダウンロード
pythonのバージョンを指定してダウンロード
1 | python -m pip install --user python==3.6.1 |
インストールしたら環境変数からPATHを指定しておきましょう。
やり方がわからない方はこちらのサイトを参考にしてください。
Visual Studio 2015 C++ 再頒布可能パッケージ
今度はVisual Studio 2015 C++再頒布可能パッケージをインストールします。
■インストールURL
ファイルを選択〜ダウンロード
日本語を選択し、ファイルを選択。2種類あるが、両方を選択する。
選択したら【次へ】を押してダウンロードを開始する。
ダウンロードはすぐ終わる。ダウンロードしたファイルを解凍しインストールする。これで Visual Studio 2015 C++の設定は完了。
Bazel(ver. 0.15.0)
次にBazelをインストールします。
BazelとはGoogleが社内で使っているビルドツールをベースにして開発された無料のビルドツール。(他で使っているところを私は知らない…。)
■インストールURL
https://github.com/bazelbuild/bazel/releases?after=0.17.1
【Windows】を選択
トップページからWindowsを選択。
URLを開く
サイトのStep 3:Download Bazelから下のURLを開く。
インストール
サイトの下にいき【Release 0.15.0】のAsselsを展開する。
その中にある【bazel-0.15.0-windows-x86_64.exe】を選択しインストールする。
Bazelはインストール後、ファイル名を「Bazel.exe」に変更してください。
さらに、Cドライブ内に「tools」ディレクトリを作成し、ディレクトリ内に以下のファイルを入れてください。
- cuda(インストールしたCUDAの中に小文字で「cuda」というディレクトリがあるはずですのでそれをコピーして入れてください。)
- Bazel.exe
- CUDA_Occupancy_Calculator.xls(これはいるかわかりませんが、念のため入れておいてください。C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0/tools内にあります。)
MSYS2
次にMSYS2をインストールします。MSYS2とは、Windows上で動作するUnixシェルやらなんやらを統合したパッケージみたいです。(説明はめんどくさかったので、詳しく知りたい方はググってみてください。)
■インストールURL
インストール
- トップページ上のexeファイルを選択しインストール開始。
- インストールした展開する。
- Cドライブの中にmsys2のディレクトリが追加されていることを確認したら環境変数でPATH C:\msys64\usr\bin を追加する。
コマンド
そうしたらコマンドプロンプトを開き以下のコマンドを入力する。
1 | pacman -S git patch unzip |
Build Tools
まだまだあります。次はBuild Toolsをインストールします。
■インストールURL
ダウンロード
トップページを下にスクロールし、【Build Tools for Visual Studio 2019】をダウンロードします。
色々選択しダウンロード
次に【C++ Build Tools】を選択し、インストールの詳細ーオプションから、画像の③の通りに選択しインストールを開始します。
Visual Studio 2019 Community
今度は、Visual Studio 2019 Communityをインストールします。
■インストールURL
ダウンロード
トップページからVisual Studio 2019 Communityをダウンロードします。
インストール
ダウンロードが終わったらファイルを開き、【C++によるデスクトップ開発】を選択。
インストールの詳細ーオプションから、画像の③の通りに選択しインストールを開始します。
TensorBoard, TensorFlow-estimator, Keras
最後に、コマンドプロンプトからライブラリをインストールします。
■コマンドプロンプトからライブラリをインストールするためのコマンド
1 | python -m pip install --user tensorboard==1.12.0 tensorflow-estimator==1.13.0 keras==2.2.4 |
これでインストールは終わりです。お疲れ様でした。
PATHの設定
さて、今までインストールしたものへのPATHを通していきます。
一つ一つ説明するととても長くなってしまうので、追加するPATHを一覧で表示します。
1 2 3 4 5 6 7 8 9 10 11 | "/c/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0/bin" "/c/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0/libnvvp" "/c/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0/extras/CUPTI/libx64" "/c/Program Files/NVIDIA Corporation/Nsight Compute 2019.4.0/" "/c/Program Files/NVIDIA Corporation/NVIDIA NvDLISR" "/c/Program Files(x86)/NVIDIA Corporation/PhysX/Common" "/c/Program Files(x86)/Microsoft VisualAtudio/Shared" "/c/tools/cuda/bin" "/c/tools" "/c/Users/{User Name}/AppData/Roaming/Python/Python36?Scripts" "/msys64/usr/bin" |
めっちゃ多いですね…。
実際にプログラムを実行して確認
それでは実際にプログラムを走らせて確認してみましょう。
今回もVSCodeを使っていきます。
■走らせるプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 | # 開発環境 # CPU:Intel Core i7 9700 # GPU:NVIDIA RTX 2700 SUPER # OS :Windows 10 Home import keras import tensorflow as tf from tensorflow.python.client import device_lib print("Tensorflow-GPU Version :", tf.__version__) print("Keras Version :", keras.__version__) device_lib.list_local_devices() |
エラーが出なければ大丈夫です。
1 2 3 4 5 6 7 8 9 10 11 12 13 | Using TensorFlow backend. Tensorflow-GPU Version : 1.12.0 Keras Version : 2.2.4 2020-05-10 16:36:25.728158: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 2020-05-10 16:36:26.051573: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1432] Found device 0 with properties: name: GeForce RTX 2070 SUPER major: 7 minor: 5 memoryClockRate(GHz): 1.77 pciBusID: 0000:01:00.0 totalMemory: 8.00GiB freeMemory: 6.56GiB 2020-05-10 16:36:26.067432: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1511] Adding visible gpu devices: 0 2020-05-10 16:36:34.762470: I tensorflow/core/common_runtime/gpu/gpu_device.cc:982] Device interconnect StreamExecutor with strength 1 edge matrix: 2020-05-10 16:36:34.765384: I tensorflow/core/common_runtime/gpu/gpu_device.cc:988] 0 2020-05-10 16:36:34.766472: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1001] 0: N 2020-05-10 16:36:34.812198: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/device:GPU:0 with 6305 MB memory) -> physical GPU (device: 0, name: GeForce RTX 2070 SUPER, pci bus id: 0000:01:00.0, compute capability: 7.5) |
おまけ
おそらくこのサイトを読んでいる人はディープラーニングについて勉強し始めたいという人が多いと思います。
私は大学時代ディープラーニングについて研究していましたが、その中でなまざまな参考書を読んできました。
そこで私が今まで読んできた中で「これを読んでマスターすればAIエンジニアとして生きていける」と思う書籍をご紹介します。
エンジニアを目指している方は必ず読んだ方がいいです。
必ず自分のためになります。
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
題名の通り、理論や実装を初心者向けに説明しています。
これから機械学習やディープラーニングを学びたいという方は必ず買って読んだほうがいいです。断言します。
ゼロから作るDeep Learning ❷ ―自然言語処理編
この書籍では自然言語処理について書かれています。
RNNを使ったプログラムやWordNet, さらにWord2vecなど、とてもわかりやすく説明しています。
AlexaやSiriなどといった音声案内や言語認識などについて学びたい方は買うべきです。
直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピ
TensorFlowのバックエンドで動くKerasを使った様々なプログラムについて紹介している本です。
Kerasを使用することで他のライブラリでは複雑になりうるプログラムも直感的に書くことができます。
CNNやAutoencoder、DCGANを学びたい方は買うべきです。
詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~
TensorFlowとKerasを使ってパーセプトロンからRNNといった手法を幅広く、またわかりやすく説明しています。
さらに数学からのアプローチの仕方についても書いてあるのでとても勉強になります。
TensorFlowやKeras入門者、時系列データを使ったディープラーニング モデルの開発をしたい方は買うできです。。
ソニー開発のNeural Network Console入門【増補改訂・クラウド対応版】
SONYから提供されているNeural Network Consoleの使用方法、アプローチの仕方などについて書かれています。
数学的な知識、プログラミングに抵抗がある方でも、レイヤーをつなげるだけで簡単に学習モデルを作成することができます。
先ほども言ったように、数学的な知識がない方、プログラミングに抵抗がある方、初心者の方は必ずこれを読んでディープラーニングについて勉強しましょう。
最後に
今回はwindowsにTensorFlow-GPUを入れてみました。
実際、私は新しいパソコンが届いたのがゴールデンウィーク初日だったのですが、環境を整えるのにリアルに1週間くらいかかりました。
おそらく「GPUを搭載したPCを購入したが、TensorFlow-GPUがうまく動作しなくて困っている」って思っている方も少なくないと思います。
なのでこの記事を見て、環境を整えるのに苦労する人が少しでも減ってくれたら幸いです。
何かございましたら質問ください。
⭐︎⭐︎⭐︎参考ホームページ⭐︎⭐︎⭐︎
https://www.tensorflow.org/install/source_windows
https://qiita.com/rhene/items/31bf4713b9dbda28bcc1
https://qiita.com/milkchocolate/items/cdedd61a64862a65b84a
https://github.com/tensorflow/tensorflow/issues/24828
https://www.kkaneko.jp/tools/win/cudnn.html
みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習