Memo >> Ubuntu on MSI GS66 Stealth >> Win10で深層学習の環境を整える
Windows10で深層学習の環境を整える
深層学習に使うニューラルネットの開発には、Linuxで行うことが多いのですが、Linuxに慣れていない初学者でTensorflowやPyTorchなどを使いたいケースもあります。
そこで、Windows10でも内蔵GPUを利用したTensroflowの開発環境を整備していきます。
Pythonのインストール
まず最初に、TensorflowをWindows10で動作させるには、Pythonの実行環境が必要になります。Pythonのインストールは、オフィシャルサイトからインストーラをダウンロードしてインストールする方法もありますが、Anacondaという開発プラットフォームを使うと言う方法もあります。
深層学習や科学技術計算では、Anacondaを使うことが多いようですが、深層学習を何に使うかによって、どちらの方法を選ぶことになると思います。
ここでは、Linuxと同じようにオフシャルサイトのPythonとPipコマンドでインストールしていきます。(Anacondaを利用した場合の手順については、インターネット上に色々ドキュメントが上がっていますので、検索してみてください)
Python3.10のセットアップ
現在の公式サイトのPythonは、3.10.4のようですので、ダウンロードサイトからインストーラをダウンロードします。現在のインストーラは、python-3.10.4-amd64.exeになっていましたので、これをダブルクリックしてインストールを行います。
インストール時に、「ユーザのみか全員か」や「パスなどの環境変数の設定」を行うかどうかを選択し、インストールを行います。私の場合には、余計な環境変数を設定したくないし、ユーザのみの設定だとインストールされた場所が少し深くなるので、インストール場所は、「C:\Python310」にし、環境変数の設定などをしないようにしています。
インストール後に、Pythonを実行しようとするとPATHやPYTHONPATHを設定しなければいけないのですが、そこはバッチファイルを書いて対応しています。
このページに添付している PyEnv.batを C:\Python310 にコピーしています。実行する場合には、コマンドプロンプトから C:\Python310\PyEnv.bat を実行すれば、それ以降はPythonインタプリタプリを実行することができるようになります。
CUDAライブラリのインストール
Pythonのインストールが終われば、CUDAライブラリをインストールします。CUDAライブラリは、Nvidiaのオフィシャルサイトからインストーラをダウンロードすることができます。
今回ダウンロードしたインストーラは、 ''cuda_11.6.2_511.65_windows.exe'' でしたので、ダウンロード後、インストーラを起動してインストールを行います。
cuDNNライブラリのインストール
CUDAライブラリのインストールが終わったら、cuDNNライブラリのインストールを行います。cuDNNライブラリは、ここからダウンロードすることができますが、cuDNNライブラリはユーザ登録とログインが必要ですので、アクセス前に登録とログインの確認をする必要があります。
cuda version.11に対するcuDNNライブラリは ''cudnn_8.3.3.40_windows.exe'' でした。このファイルをダウンロードし、インストールを行います。
インストール後は、PATHなどの環境変数の設定が必要なのですが、PyEnv.batの方に追加しておけば問題ないので、追記しておきます。(添付のPyEnv.batには追記済)
zlibwapi.dllのインストール
cuDNNを使うには、zlibwapi.dllも必要です。zlibwapi.dllは、このサイトhttps://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#install-zlib-windowsからダウンロードすることができます。
ダウンロード後、zlibwapi.dllをcuDNNのdllがある場所にコピーすればOKです。
Tensorflowのインストール
PythonとCUDAライブラリのインストールが終われば、Tensorflowをインストールします。Tensorflowのインストールは、pipコマンドで実行できますので、コマンドプロンプトを起動して下記のように実行します。
C:\Users\user>\Python310\PyEnv.bat
C:\Users\Isao Hara>python
Python 3.10.4 (tags/v3.10.4:9d38120, Mar 23 2022, 23:13:41) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from tensorflow.python.client import device_lib
>>> device_lib.list_local_devices()
2022-04-04 11:06:51.871933: I tensorflow/core/platform/cpu_feature_guard.cc:151] This TensorFlow binary is optimized
with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical
operations: AVX AVX2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2022-04-04 11:06:53.811968: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1525] Created device /device:GPU:0 with
1894 MB memory: -> device: 0, name: NVIDIA GeForce GTX 1060 3GB, pci bus id: 0000:01:00.0, compute capability: 6.1
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 6412981829524880869
xla_global_id: -1
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 1986317518
locality {
bus_id: 1
links {
}
}
incarnation: 10177963838381183910
physical_device_desc: "device: 0, name: NVIDIA GeForce GTX 1060 3GB, pci bus id: 0000:01:00.0, compute capability: 6.1"
xla_global_id: 416903419
]
>>>
このように、GPUが正しく認識できていれば、インストール完了です。
これは必要ではありませんが、グラフ表示機能のためにmatplotlibをインストールすることをお勧めします。
$ pip install matplotlib
以上で完了です。
資料