TensorFlow GPU 版 1.15.5,Python 3.7 のインストールと動作確認(Windows 上)
【目次】
- Visual Studio Community 2017 のインストール
- NVIDIA ドライバ,NVIDIA CUDA ツールキット 10.0,NVIDIA cuDNN 7.6.5 のインストール
- Python 3.7 64 ビット版のインストール,pip と setuptools の更新,Python 開発環境のインストール(Windows 上)
- TensorFlow 1.15.5, Keras, MatplotLib, Python 用 opencv-python のインストール(Windows 上)
- TensorFlow の動作確認
TensorFlow 1.15.5 を動かすため:
- NVIDIA CUDA ツールキット のバージョンは,10.0 を使う必要がある.
- NVIDIA cuDNN 7.6.5 を使う必要がある.
- Python は,3.7 もしくは 3.6 を使う必要がある.(根拠: https://pypi.org/project/tensorflow/1.15.5/#files)
ここでは,Python 3.7 を使う.
ここでは,次の方針で設定する.
- Python は 2 つインストールする.Windows では,Python を複数インストールすることは簡単である.(3.6, 3.7, 3.8, 3.9 のように 3.X ごとにインストールディレクトリが分かれる).
- 1つは,Python 3.7 をインストールし,その上で,TensorFlow 1.15.5 をインストールする.(その手順は,このページで説明する).
TensorFlow 1.15.5 に対応する Python の最新版は,Python 3.7 である.(根拠: https://pypi.org/project/tensorflow/1.15.5/#files)
- もう1つは,Python 3.7 とは違うバージョンの Python をインストールする.(1.15.5 以外の TensorFlow を動かす事を想定).
- Windows で,Python を複数インストールするので,Python の使用時に Python ランチャーを使う.
例えば,Python 3.7 を使うとき: py -3.7, py -3.7 -m pip のようにバージョン指定
例えば,Python 3.10 を使うとき: py -3.10, py -3.10 -m pip のようにバージョン指定
【サイト内の関連ページ】
- NVIDIA 社のグラフィックス・カードが持つ GPU の機能を使うとき,NVIDIA CUDA ツールキット,NVIDIA cuDNN を利用することができる.
- GPU環境でのTensorFlow 2.10.1のインストールと活用(Windows 上)
先人に感謝.
このWebページに記載しているプログラムは https://github.com/tensorflow/tensorflow#download-and-setup をもとに作成
Visual Studio Community 2017 のインストール
NVIDIA CUDA 10.0 は Visual Studio Commnity 2017, 2015, 2013, 2012 と連携して動く機能がある.
NVIDIA CUDA 10.0 のインストールの前に, Visual Studio Commnity 2017 のインストールを行う.
Visual Studio Commnity 2017 のインストールは, https://visualstudio.microsoft.com/ja/vs/older-downloads/ で「2017」を選び,「ダウンロード」をクリック. その後表示されるダウンロードの画面で, 「Visual Studio Commnity 2017」を選ぶ. インストール時には「C++ によるデスクトップ開発」をチェックしてインストールする.
NVIDIA ドライバ,NVIDIA CUDA ツールキット 10.0,NVIDIA cuDNN 7.6.5 のインストール
GPUとは
GPUは,グラフィックス・プロセッシング・ユニット(Graphics Processing Unit)の略です.その高い並列計算能力から,3次元コンピュータグラフィックス,3次元ゲーム,動画編集,科学計算,ディープラーニングなど,並列処理が必要な幅広い分野で活用されています.
.NVIDIA CUDA ツールキット
NVIDIA CUDA ツールキット は,NVIDIA社が提供する GPU 用のツールキットである.GPU を用いた演算のプログラム作成や動作のための各種機能を備えている.ディープラーニングでも利用されている.
【サイト内の関連ページ】
- Windows での NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.8,NVIDIA cuDNN v8.9.7 のインストールと動作確認: 別ページ »で説明
- Ubuntu での NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.8, NVIDIA cuDNN 8 のインストール: 別ページ »で説明
【関連する外部ページ】
- NVIDIA CUDA ツールキットのアーカイブの公式ページ: https://developer.nvidia.com/cuda-toolkit-archive
- NVIDIA CUDA ツールキット の公式のドキュメント: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
- NVIDIA CUDA ツールキットのインストールに関する,NVIDIA CUDA クイックスタートガイドの公式ページ: https://docs.nvidia.com/cuda/cuda-quick-start-guide/index.html
NVIDIA CUDA ツールキットのインストール時の注意点
【NVIDIA CUDA ツールキットの動作に必要なもの】
- CUDA対応のNVIDIA GPUが必要.
そのために,NVIDIA グラフィックス・ボードを確認する. Windows で,NVIDIA グラフィックス・ボードの種類を調べたいときは, 次のコマンドを実行することにより調べることができる.
wmic path win32_VideoController get name
- NVIDIA ドライバのダウンロードとインストール
NVIDIA ドライバは,以下の NVIDIA 公式サイトからダウンロードできる. ダウンロードの際には,使用しているグラフィックス・ボードの型番とオペレーティングシステムを選択する.
- Windows では,インストール前に,Build Tools for Visual Studio もしくは Visual Studio をインストールしておくことが必要である.
【Windows でインストールするときの注意点】
- Windows では, NVIDIA CUDA ツールキットのインストール中は,なるべく他のウインドウはすべて閉じておくこと.
- NVIDIA CUDA ツールキットのインストールが終わったら,ユーザ環境変数 TEMP の設定を行う.
Windows のユーザ名が日本語のとき,nvcc がうまく動作しないエラーを回避するためである.
ユーザ環境変数 TEMP に「C:\TEMP」を設定するために, コマンドプロンプトで,次のコマンドを実行する.
mkdir C:\TEMP powershell -command "[System.Environment]::SetEnvironmentVariable(\"TEMP\", \"C:\TEMP\", \"User\")"
NVIDIA cuDNN
NVIDIA cuDNN は,NVIDIA CUDA ツールキット上で動作する、高性能なディープラーニング用ライブラリです.畳み込みニューラルネットワーク (CNN) やリカレントニューラルネットワーク (RNN) など,さまざまなディープラーニングモデルのトレーニングと推論を高速化します.
【cuDNN利用時の注意点: zlibwapi.dll エラー】
Windows環境でcuDNNを利用するアプリケーションを実行した際に、「Could not locate zlibwapi.dll. Please make sure it is in your library path!」というエラーが表示されることがあります。これは、cuDNNの一部の機能が圧縮ライブラリである zlib
に依存しているためです。このエラーが発生した場合は、後述する手順で ZLIB DLL をインストールする必要があります。
【関連する外部ページ】
- NVIDIA cuDNN の公式ページ(ダウンロードにはDeveloper Programへの登録が必要): https://developer.nvidia.com/cudnn
NVIDIA cuDNN のインストール時の注意点
【NVIDIA cuDNN の動作に必要なもの】
- NVIDIA ドライバ
Windows で,NVIDIA グラフィックス・ボードの種類を調べたいときは, 次のコマンドを実行することにより調べることができる.
wmic path win32_VideoController get name
【関連する外部ページ】
- 対応するバージョンのNVIDIA CUDA ツールキット
最新のNVIDIA CUDA ツールキットでは動かないということもあるので注意.
- Windows では,ZLIB DLL
ZLIB DLL は,データの圧縮と展開(解凍)の機能を持ったライブラリ.
ZLIB DLL のインストールを行うため, Windows で,コマンドプロンプトを管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
次のコマンドを実行.
但し,「v11.8」のところは,実際にインストールされている NVIDIA CUDA ツールキットのバージョンを確認し,読み替えてください.
cd "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin" curl -O http://www.winimage.com/zLibDll/zlib123dllx64.zip powershell -command "Expand-Archive -Path zlib123dllx64.zip" copy zlib123dllx64\dll_x64\zlibwapi.dll .
- NVIDIA Developer Program メンバーシップへの加入が必要.
NVIDIA Developer Program の公式ページ: https://developer.nvidia.com/developer-program
NVIDIA ドライバ
NVIDIA ドライバは,NVIDIA 社製の GPU を動作させるのに必要なドライバである.次の NVIDIA の公式サイトからダウンロードできる.ダウンロードのときは,使用しているオペレーティングシステムとGPUに適したものを選ぶこと.
【関連する外部ページ】 NVIDIA ドライバのダウンロードの公式ページ: https://www.nvidia.co.jp/Download/index.aspx?lang=jp
以下,インストールの注意点をまとめている. Windows での NVIDIA ドライバ,NVIDIA CUDA ツールキット 10.0,NVIDIA cuDNN 7.6.5 のインストールの詳細は別ページ »で説明
① TensorFlow 1.15.5 が必要とする NVIDIA CUDA ツールキットと NVIDIA cuDNN のバージョンの確認
TensorFlow 1.15.5 を動かすために,NVIDIA CUDA ツールキット 10.0,NVIDIA cuDNN 7.6.5 を使う.
(10.2, 10.1 は不可.実際に試みて検証済み).
NVIDIA CUDA ツールキット 10.0,NVIDIA cuDNN 7.6.5 の根拠: cudart64_100.dll, cudnn64_7.dll が必要
② NVIDIA ドライバ,NVIDIA CUDA ツールキット 10.0,NVIDIA cuDNN 7.6.5 のインストールでの注意点
NVIDIA ドライバのインストールでの注意点まとめ(Windows 上)
- Windows で,NVIDIA グラフィックス・ボードの種類を調べたいときは, hwinfo (URL: https://www.hwinfo.com/) を使って調べることができる.
- 次のページから,最新版の NVIDIA ドライバをダウンロードできる.
- 最新版ではない NVIDIA CUDA ツールキットのインストーラに同封されている NVIDIA ドライバは古いので,使用しない.
NVIDIA CUDA ツールキット 10.0 インストールでの注意点まとめ(Windows 上)
- 前準備として,Build Tools for Visual StudioもしくはVisual Studio を,前もってインストールしておく.
NVIDIA CUDA ツールキットの nvcc の動作に必要.
- Windows では,
NVIDIA CUDA ツールキットのインストール中は,他のウインドウはすべて閉じておくこと.
他のウインドウを開いている場合,NVIDIA CUDA ツールキットのインストールが失敗する場合がある.
- NVIDIA CUDA ツールキットのダウンロードのページ
NVIDIA CUDA ツールキットのアーカイブの公式ページ: https://developer.nvidia.com/cuda-toolkit-archive
- TensorFlow GPU 版 1.15 のために,NVIDIA CUDA ツールキット 10.0 をインストールする.(他のバージョンとの共存可能).
- NVIDIA CUDA ツールキットのインストールが終わったら,ユーザ環境変数 TEMP の設定を行う.
Windows のユーザ名が日本語のとき,nvcc がうまく動作しないエラーを回避するためである.
ユーザ環境変数 TEMP に「C:\TEMP」を設定するために, コマンドプロンプトで,次のコマンドを実行する.
mkdir C:\TEMP powershell -command "[System.Environment]::SetEnvironmentVariable(\"TEMP\", \"C:\TEMP\", \"User\")"
- NVIDIA CUDA ツールキットのインストールでは,NVIDIA CUDA クイックスタートガイドの公式ページが参考になる.
https://docs.nvidia.com/cuda/cuda-quick-start-guide/index.html
NVIDIA cuDNN のインストールでの注意点まとめ(Windows 上)
- NVIDIA cuDNN のダウンロードページ
- インストールするNVIDIA cuDNN のバージョンは 7.6.5 for CUDA 10.0
- NVIDIA cuDNN のダウンロードには,NVIDIA Developer Program メンバーシップへの加入が必要.そして,利用条件は利用者で確認すること.
NVIDIA Developer Program の公式ページ: https://developer.nvidia.com/developer-program
- Windows では,NVIDIA cuDNN に,パスを通す必要がある.
NVIDIA cuDNN の zip ファイルをダウンロードしたら,Windows ならば,C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0 (「10.0」のところはバージョン番号)のようなパスの通っているディレクトリ に展開(解凍).
- インストール後は,パスが通っていることを確認.
次の操作により,cudnn64_7.dll にパスが通っていることを確認する.
Windows のコマンドプロンプトを開き,次のコマンドを実行する.エラーメッセージが出ないことを確認.
where cudnn64_7.dll

Python 3.7 のインストール(Windows 上)
Pythonは,プログラミング言語の1つ.
【手順】
- Windows で,コマンドプロンプトを管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
- 次のコマンドを実行
次のコマンドは,Python ランチャーとPython 3.7をインストールする.
【関連する外部ページ】
- Python の公式ページ: https://www.python.org/
【サイト内の関連ページ】
【関連項目】 Python
TensorFlow 1.15.5, Keras, MatplotLib, Python 用 opencv-python のインストール(Windows 上)
設定の要点
システム環境変数 TF_FORCE_GPU_ALLOW_GROWTH の設定: true
インストール手順
- Windows で,コマンドプロンプトを管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
- 使用する Python 3.7 のバージョンの確認
py -3.7 --version
- pip と setuptools の更新
「pip install ...」は,Python パッケージをインストールするためのコマンド.
py -3.7 -m pip install -U pip setuptools
- TensorFlow, Keras 関係のパッケージのアンインストール操作
トラブルの可能性を減らすために,関係のパッケージのアンインストールを行っておく.
py -3.7 -m pip uninstall -y tensorflow tensorflow-cpu tensorflow-gpu tensorflow-intel tensorflow-text tensorflow-estimator tf-models-official tf_slim tensorflow_datasets tensorflow-hub keras keras-tuner keras-visualizer
- インストールのため,次のコマンドを実行する.
- 「tensorflow==1.15.5」のところでTensorFlow のバージョンを指定している.
- TensorFlow の GPU 版をインストールしている.TenforFlow の GPU 版は,GPU がない場合には CPU を使って動作する.
- numpy, protobuf, keras, matplotlib, pandas, scipy は旧バージョンをインストール.
py -3.7 -m pip install -U numpy==1.16.2 protobuf==3.19.4 tensorflow-gpu==1.15.5 keras==2.3.1 scipy==1.5.4 pillow pydot matplotlib==3.4.3 seaborn pandas==1.1.5 scipy==1.5.4 scikit-learn scikit-learn-intelex opencv-python opencv-contrib-python py -3.7 -m pip install git+https://github.com/tensorflow/docs py -3.7 -m pip install git+https://github.com/tensorflow/examples.git py -3.7 -m pip install git+https://www.github.com/keras-team/keras-contrib.git
TensorFlow のインストールのとき,「Could not find a version that satifies the requirement tensorflow==1.15.5」のように表示される場合には,インストールされている Python が新しすぎるか,古すぎる.
TensorFlow GPU 版 1.15 を動かすには,Python 3.6 か Python 3.7 を使うこと. Windows での Python 3.6 のインストールは,別ページ »で説明 Python 3.7 のインストールは,別ページ »で説明
- Windows の システム環境変数 TF_FORCE_GPU_ALLOW_GROWTH に,true を設定
Windows で,コマンドプロンプトを管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
次のコマンドを実行
powershell -command "[System.Environment]::SetEnvironmentVariable(\"TF_FORCE_GPU_ALLOW_GROWTH\", \"true\", \"Machine\")"
動作確認
TensorFlow がインストールできたかを確認したい.
- Windows では,コマンドプロンプトを実行.
- TensorFlow のバージョン確認
py -3.7 -c "import tensorflow as tf; print( tf.__version__ )"
- (GPU を使うとき) TensorFlow からGPU が認識できているかの確認
py -3.7 -c "from tensorflow.python.client import device_lib; print(device_lib.list_local_devices())"
実行結果の中に,実行結果の中に,次のように「device_type: "GPU"」があれば,GPUが認識できている.エラーメッセージが出ていないことを確認しておくこと.
ここで,GPU があるのに,TensorFlow から認識されていないかもしれない.
その場合は,Windows での NVIDIA ドライバ,NVIDIA CUDA ツールキット 10.0,NVIDIA cuDNN 7.6.5 のインストールを確認すること.
Windows での NVIDIA ドライバ,NVIDIA CUDA ツールキット 10.0,NVIDIA cuDNN 7.6.5 のインストール: 別ページ »で説明
TensorFlow 2 のプログラム例
このWebページに記載しているプログラムは https://github.com/tensorflow/tensorflow#download-and-setup をもとに作成.
- TensorFlow がインストールできたかを確認したい.
Windows で Python プログラムを動かす.
メッセージを表示するプログラム
結果として 「b'Hello, TensorFlow!'」のように表示されるので確認する.
py -3.7 import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = tf.Session() result = sess.run(hello) print(result) sess.close() exit()