TensorFlowのWindows版をインストールする
TensorFlowのWindows版がでてた
「Windows10上のTensorFlowでGPUを利用しようとしてダメだった→できるようになったみたいです!」なんと、Windows版でGPU利用も可能なものが出てるらしい。「Google、オープンソースの機械学習ライブラリ「TensorFlow」のWindows版を公開」
Windows版は「Python」言語のパッケージ管理システム「PyPI」のパッケージとして配布されており、Windows 7/10およびWindows Server 2016で利用が可能。GPUアクセラレーションとして“CUDA 8.0”と“cuDNN 5.1”がサポートされている。
インストール
「TensorFlow が正式に Windows サポートして GPU が使えたので試してみた」ここに色々インストール手順が書いてあります。自分はNVIDAのサイトで登録とかすでにしているのですが、どんな登録をして、何をパソコンにインストールしたのかとかは忘れました。Pythonはanacondaでインストールしたはずでバージョンは3.5です。前は確かTensorFlowはPython2.7に対応していた気がしますが、3.3以上も対応しているようです。
$ python --versionPython 3.5.2 :: Anaconda 4.1.1 (64-bit)Anacondaの64bit版の4.1.1で、Pythonのバージョンは3.5.2でした。
以下2つを実行して、TensorFlowとTensorFlow-GPUがインストールできるようです。
$ pip install tensorflowSuccessfully installed protobuf-3.1.0.post1 tensorflow-0.12.1
$ pip install tensorflow-gpuSuccessfully installed tensorflow-gpu-0.12.1
インストールできました。
動くかチェック
とりあえず使えるのかチェックしてみます。 tensor.pyというファイルに、下記を書いて実行してみます。
import tensorflow as tf結果
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:119] Couldn't open CUDA library cublas64_80.dllI c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_blas.cc:2294] Unable to load cuBLAS DSO.I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:119] Couldn't open CUDA library cudnn64_5.dllI c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:3459] Unable to load cuDNN DSOI c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:119] Couldn't open CUDA library cufft64_80.dllI c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_fft.cc:344] Unable to load cuFFT DSO.I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:128] successfully opened CUDA library nvcuda.dll locallyI c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:119] Couldn't open CUDA library curand64_80.dllI c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_rng.cc:338] Unable to load cuRAND DSO.GPU関連のインストール・設定等は全くできていなかったようです。
下記を書いて実行してみました。
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')sess = tf.Session()print(sess.run(hello))a = tf.constant(10)b = tf.constant(32)print(sess.run(a + b))結果
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:119] Couldn't open CUDA library cublas64_80.dllI c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_blas.cc:2294] Unable to load cuBLAS DSO.I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:119] Couldn't open CUDA library cudnn64_5.dllI c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:3459] Unable to load cuDNN DSOI c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:119] Couldn't open CUDA library cufft64_80.dllI c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_fft.cc:344] Unable to load cuFFT DSO.I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:128] successfully opened CUDA library nvcuda.dll locallyI c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:119] Couldn't open CUDA library curand64_80.dllI c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_rng.cc:338] Unable to load cuRAND DSO.I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:885] Found device 0 with properties:name: GeForce GTX 970major: 5 minor: 2 memoryClockRate (GHz) 1.1775pciBusID 0000:01:00.0Total memory: 4.00GiBFree memory: 3.31GiBI c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:906] DMA: 0I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:916] 0: YI c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 970, pci bus id: 0000:01:00.0)b'Hello, TensorFlow!'42GPU関連でWarning的メッセージが沢山でるものの一応動いています。搭載しているGPUも認識されていて名前とかが表示されてます。
NVIDA関連の設定
CUDA Toolkit 8.0
https://developer.nvidia.com/cuda-downloads
上記のように設定してダウンロードして、インストールしました。結構時間かかりました。
cuDNN v5.1
下記でユーザ登録したらダウンロードできます。 https://developer.nvidia.com/rdp/cudnn-download zip内のcudaフォルダの中身をC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0にコピーします。
動作チェック
パソコンを再起動して、改めてtensor.pyを実行してみました。
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:128] successfully opened CUDA library cublas64_80.dll locallyI c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:128] successfully opened CUDA library cudnn64_5.dll locallyI c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:128] successfully opened CUDA library cufft64_80.dll locallyI c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:128] successfully opened CUDA library nvcuda.dll locallyI c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:128] successfully opened CUDA library curand64_80.dll locallyI c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:885] Found device 0 with properties:name: GeForce GTX 970major: 5 minor: 2 memoryClockRate (GHz) 1.1775pciBusID 0000:01:00.0Total memory: 4.00GiBFree memory: 3.31GiBI c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:906] DMA: 0I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:916] 0: YI c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 970, pci bus id: 0000:01:00.0)b'Hello, TensorFlow!'42全部successfullyと書いてるのでうまくいっているようです。