はじめに
4月になって、新しいPCを購入しました。
またゼロからTensorFlow環境を構築したので記録を残します。
ということで、何も入っていない状態からのインストールです。
環境
- OS : Windows 10 64bit
- Python : Python 3.7.7
- TensorFlow : 2.1.0
- jupyterlab : 2.1.1
- CUDA : 10.1 update 2
- cuDNN : 7.6.5
- GPU NVIDIA GeForce MX250
TensorFlow2 の動作要件
TensorFlow2 の動作要件は、https://www.tensorflow.org/install?hl=jaから確認できます。
- Windows 7 以上
Windows10にインストールするので問題なし。 - Python 3.5–3.7
Python 3.7系の最新である、Python 3.7.7 をインストールします。
インストールするツールのバージョンはhttps://www.tensorflow.org/install/gpu#pip_packageで確認します。
TensorFlow2の場合は下記の要件になります。
- TensorFlow 2.1.0 以降は CUDA 10.1 に対応しています。
最新は10.2ですが、10.1にします。 - CUDA 10.1の場合、VIDIA GPU ドライバ は 418.x 以降が必要です。
これは、「NVIDIA コントロール パネル」で確認できます。低い場合はアップデートします。 - cuDNN は7.6 以降が必要です。
7.6.5をインストールします。
Python 3.7.7 のインストール
https://www.python.org/から、「Downloads」-「All releases」と選択します。
各バージョンのリストがあるので、Python 3.7.7 の Download をクリックします。
Files の一覧から「Windows x86-64 executable installer」をクリックしてダウンロードします。
ダウンロードしたファイルを実行して、インストールします。
インストールが完了したら、下記を実行してバージョンを確認します。
>python -V
Python 3.7.7
CPUの拡張命令セットの確認
こちらを参考に、CPUの拡張命令セットを確認します。
得られた結果は下記です。
Vendor ID : GenuineIntel
CPU name : Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz
Microarchitecture : kabylake
Vector instructions supported:
SSE : Yes
SSE2 : Yes
SSE3 : Yes
SSSE3 : Yes
SSE4.1 : Yes
SSE4.2 : Yes
SSE4a : --
AVX : Yes
AVX2 : Yes
BMI1 : Yes
BMI2 : Yes
AVX2に対応しているので、TensorFlowは1.6以上をインストール可能です。
現時点で最新のバージョンをインストールします。
GPUの確認
念のために、GPUを確認しておきます。
購入時点ですでに、「NVIDIA コントロール パネル」がインストールされていたので、これを使用します。
- デスクトップで右クリックして「NVIDIA コントロール パネル」を選択します。
- 「ヘルプ」メニューから「システム情報」を選択します。
- 「グラフィックス カード情」に「GeForce MX250」と書かれています。
※「グラフィックス カード情」は、「情報」の脱字ではないです。本当にこのように表示されています。
Visual Studio 2017 のインストール
https://docs.nvidia.com/cuda/archive/10.1/cuda-installation-guide-microsoft-windows/index.htmlに、CUDA 10.1で必要なものが書かれています。
Visual Studioが必要で、「Table 2. Windows Compiler Support in CUDA 10.1」の表にサポートされているVisual Studioのバージョンが書かれています。
Visual Studio 2019 は、Preview releasesなので、Visual Studio 2017をインストールします。
https://visualstudio.microsoft.com/ja/downloads/からダウンロードします。
「古いバージョンのダウンロード」をクリックします。
「2017」を展開して、右側の「ダウンロード」をクリックする。
Microsoft アカウントでログインして、ダウンロードします。
今回は、「Visual Studio Community 2017 (version 15.9)」ダウンロードしました。
ダウンロードした「vs_Community.exe」をダブルクリックしてVisual Studio Installer を起動します。
「C++によるデスクトップ開発」を選択して「インストール」をクリックします。
CUDA 10.1 update 2 のインストール
NVIDIA CUDA Toolkit をダウンロードします。
https://developer.nvidia.com/cuda-toolkit-archiveにアクセスします。
「CUDA Toolkit 10.1 update2 Archive」を選択して、ダウンロードします。
「Installer Type」は、ネットワークインストーラーを選択しました。(19.9MB)
ちなみにフルインストーラーだと2.5GBのファイルをダウンロードします。
ダウンロードした「cuda_10.1.243_win10_network.exe」をダブルクリックして、インストールします。
cuDNN 7.6.5 のインストール
cuDNNは、https://developer.nvidia.com/cudnnからダウンロードします。
「Download cuDNN v7.6.5 (November 5th, 2019), for CUDA 10.1」を展開して、
「cuDNN Library for Windows 10」をダウンロードします。
ダウンロードした「cudnn-10.1-windows10-x64-v7.6.5.32.zip」を解凍して、
中にあるCUDAディレクトリを任意のディレクトリに置きます。
CUDAを置いたディレクトリをシステム環境変数に設定します。
| 環境変数名 | path |
|:--|:--|:--|
| CUDNN_PATH | c:\tf\CUDA |
| PATHの最後に追加 | c:\tf\CUDA\bin |
※CUDAディレクトリを「c:\tf\」に置いた場合。
pip のバージョンアップ
TensorFlow2 をインストールするためには、pip 19.0より新しいバージョンが必要です。
バージョンが低いようなら、バージョンアップします。
pip install -U pip
TensorFlow2 のインストール
下記コマンドだけでOKです。
>pip install tensorflow
動作確認を行います。
まずは、下記のファイルを作成します。
import tensorflow as tf
import os
print(tf.__version__)
print(tf.keras.__version__)
print(tf.random.normal([5, 5]))
実行します。
環境変数 TF_CPP_MIN_LOG_LEVEL は、余計なメッセージを表示しないためのものです。
>set TF_CPP_MIN_LOG_LEVEL=2
>python tensorflow_test.py
2.1.0
2.2.4-tf
tf.Tensor(
[[ 0.9073535 -0.30908114 -1.1792291 -0.03576818 -0.350677 ]
[-0.30494577 0.0393485 -1.7498294 0.01919838 -0.881274 ]
[-0.8610118 -1.6675215 -0.9653552 0.4389885 -0.06305566]
[-0.6703128 0.85750896 1.0951182 0.029854 1.1836303 ]
[ 0.5926097 0.5141883 -0.84746957 0.668688 0.30143082]], shape=(5, 5), dtype=float32)
TensorFlowとKerasのバージョンが表示され、5x5 の乱数も表示されました。
TensorFlowも2.1.0 がインストールされていることが確認できました。
jupyterlab のインストール
何かと便利なjupyterlab をインストールします。
>pip install jupyterlab
jupyterlab をバックグラウンドで起動します。
>start /b jupyter lab
起動すると、自動的にブラウザでjupyterlab へつながります。
自動的につながらない場合は、ブラウザでhttp://localhost:8888/lab
へアクセスます。
tokenは、jupyterlab 起動時のメッセージに書かれています。
最後に
TensorFlow2の実行環境ができました。
ゼロからのインストールだと、すんなり完了しました。
後にバージョンアップを行うときが怖いですが、今はこの環境で楽しみます。