Python,TensorFlow GPU 版 2.10, Keras, scikit-learn, MatplotLib, Python 用 opencv-python のインストール(Windows 上)

【要約】 Windows上でPython及び関連パッケージ(TensorFlow GPU版2.10,Keras,scikit-learn,MatplotLib,opencv-python)のインストール手順を説明している.主な内容として,PythonとGit,7-Zipのインストール,NVIDIA関連ソフトウェア(ドライバ,CUDAツールキット,cuDNN)のセットアップ,TensorFlowと他のパッケージのインストール,環境変数の設定,そして動作確認の方法を説明している.コマンドプロンプトを使用したインストール手順,各ステップでの注意点を説明している.GPUの認識確認や簡単なTensorFlowプログラム例も示している.

目次

  1. 前準備
  2. TensorFlow 2.10(GPU 対応可能), Keras, scikit-learn, MatplotLib, Python 用 opencv-python のインストール(Windows 上)
  3. TensorFlow 2 のプログラム例

サイト内の関連ページ

このWebページに記載しているプログラムは https://github.com/tensorflow/tensorflow#download-and-setup をもとに作成

関連する外部ページ

GPU

GPUは,グラフィックス・プロセッシング・ユニット(Graphics Processing Unit)の略である.3次元コンピュータグラフィックスや3次元ゲーム,動画編集,仮想通貨のマイニング,科学計算,ディープラーニングなど,並列処理が必要な幅広い分野で活用されている.

TensorFlow GPU 版

TensorFlowは,Googleが開発した機械学習フレームワークである.Python,C/C++言語から利用可能で,CPU,GPU,TPU上で動作する.TensorFlowの特徴として「データフローグラフ」がある.これは,「データの流れ」を表現するもので,グラフの節点は演算(オペレーション)を,エッジはデータ(テンソル)の流れを表す.TensorFlowを使用することで,音声,画像,テキスト,ビデオなど多様なデータを扱う機械学習アプリケーションの開発が容易になる.2015年11月に初版がリリースされて以来,継続的にバージョンアップが続いている.

TensorFlow GPU版の動作要件(2024年7月現在)

前準備

Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022)または Visual Studio 2022 のインストール(Windows 上)

インストールの判断Build Tools for Visual Studio は,開発ツールセットである. Visual Studio は統合開発環境であり,いくつかの種類があり,Build Tools for Visual Studioの機能を含むか連携して使用するものである.インストールは以下の基準で判断してください:

不明な点がある場合は,Visual Studio 全体をインストール を行う方が良い.

Build Tools for Visual Studio 2022 のインストール(Windows 上)

  1. Windows で,コマンドプロンプト管理者として実行

    コマンドプロンプトを管理者として実行: 別ページ »で説明

    次のコマンドを実行

    次のコマンドは,Build Tools for Visual Studio 2022と VC2015 再配布可能パッケージをインストールするものである.

    winget install --scope machine Microsoft.VisualStudio.2022.BuildTools 
    winget install --scope machine Microsoft.VCRedist.2015+.x64
    
  2. Build Tools for Visual Studio 2022 での C++ によるデスクトップ開発,CLI,ATL,MFC のインストール(Windows 上)
    1. Visual Studio Installer の起動

      起動方法: スタートメニューの「Visual Studio Installer」を選ぶ.

    2. Visual Studio Build Tools 2022 で「変更」を選ぶ.
    3. C++ によるデスクトップ開発」をクリック.そして,画面右側の「インストール」の詳細で「v143 ビルドツール用 C++/CLI サポート(最新)」,「ATL」,「MFC」をチェックする.その後,「変更」をクリック.

Visual Studio のインストール(Windows 上)

  1. Windows で,コマンドプロンプト管理者として実行

    コマンドプロンプトを管理者として実行: 別ページ »で説明

    次のコマンドを実行

    次のコマンドは,Visual Studio Community 2022と VC2015 再配布可能パッケージをインストールするものである.

    winget install --scope machine Microsoft.VisualStudio.2022.Community
    winget install --scope machine Microsoft.VCRedist.2015+.x64
    
  2. Visual Studio での C++ によるデスクトップ開発,CLI のインストール(Windows 上)
    1. Visual Studio Installer の起動

      起動方法: スタートメニューの「Visual Studio Installer」を選ぶ.

    2. Visual Studio Community 2022 で「変更」を選ぶ.
    3. C++ によるデスクトップ開発」をチェック.そして,画面右側の「インストール」の詳細で「v143 ビルドツール用 C++/CLI サポート(最新)」をチェックする.その後,「インストール」をクリック.

Python 3.10,Git,7-Zip のインストール(Windows 上)

Pythonは,プログラミング言語の1つ. Gitは,分散型のバージョン管理システム. 7-Zipは,ファイル圧縮・展開(解凍)ツール.

手順

  1. Windows で,コマンドプロンプト管理者として実行

    コマンドプロンプトを管理者として実行: 別ページ »で説明

    次のコマンドを実行

    次のコマンドは,Python ランチャーとPython 3.10とGit7-Zipをインストールし,Git7-Zipパスを通すものである.

    次のコマンドでインストールされるGitは 「git for Windows」と呼ばれるものであり, Git,MinGW などから構成されている.

    winget install --scope machine Python.Launcher
    winget install --scope machine Python.Python.3.10
    winget install --scope machine Git.Git
    powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\Program Files\Git\cmd\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
    winget install --scope machine 7zip.7zip
    powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\Program Files\7-Zip\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
    

関連する外部ページ

サイト内の関連ページ

関連項目Python, Git バージョン管理システム, Git の利用, 7-Zip

NVIDIA ドライバのインストール(Windows 上)

NVIDIA ドライバ

NVIDIA ドライバは,NVIDIA製GPUを動作させるための重要なソフトウェアである.このドライバをインストールすることにより,GPUの性能を引き出すことができ,グラフィックス関連のアプリ,AI関連のアプリの高速化が期待できる.

ドライバはNVIDIA公式サイトである https://www.nvidia.co.jp/Download/index.aspx?lang=jp からダウンロードできる.このサイトからダウンロードするときには,グラフィックスカードとオペレーティングシステムを選択する. なお,NVIDIA GeForce Experiance を用いてインストールすることも可能である.

サイト内の関連ページ

  1. NVIDIA グラフィックス・ボードの確認

    Windows で,NVIDIA グラフィックス・ボードの種類を調べたいときは, 次のコマンドを実行することにより調べることができる.

    wmic path win32_VideoController get name
    
  2. NVIDIA ドライバのダウンロード

    NVIDIA ドライバは,以下の NVIDIA 公式サイトからダウンロードできる.

    https://www.nvidia.co.jp/Download/index.aspx?lang=jp

  3. ダウンロードの際には,使用しているグラフィックス・ボードの型番とオペレーティングシステムを選択する.

NVIDIA CUDA ツールキット 11.8 のインストール(Windows 上)

NVIDIA CUDA ツールキットのインストール時の注意点

NVIDIAのGPUを使用して並列計算を行うためのツールセット

主な機能: GPU を利用した並列処理,GPU のメモリ管理,C++をベースとした拡張言語とAPIとライブラリ

NVIDIA CUDA ツールキットの動作に必要なもの

Windows でインストールするときの注意点

関連する外部ページ

関連項目NVIDIA CUDA ツールキット, NVIDIA CUDA ツールキット 12.5 のインストール(Windows 上), NVIDIA CUDA ツールキット 11.8 のインストール(Windows 上)

  1. Windows では,NVIDIA CUDA ツールキットインストール中は,なるべく他のウインドウはすべて閉じておくこと.
  2. Windows で,コマンドプロンプト管理者として実行

    コマンドプロンプトを管理者として実行: 別ページ »で説明

  3. 次のコマンドを実行

    次のコマンドは,NVIDIA GeForce Experience,NVIDIA CUDA ツールキット 11.8 をインストールするものである.

    wmic path win32_VideoController get name
    winget install --scope machine Nvidia.GeForceExperience
    winget install --scope machine Nvidia.CUDA --version 11.8
    powershell -command "[System.Environment]::SetEnvironmentVariable(\"CUDA_HOME\", \"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\", \"Machine\")"
    
  4. NVIDIA CUDA ツールキットのインストールが終わったら,ユーザ環境変数 TEMP の設定を行う.

    Windowsユーザ名が日本語のとき,nvcc がうまく動作しないエラーを回避するためである.

    ユーザ環境変数 TEMP に「C:\TEMP」を設定するために, コマンドプロンプトで,次のコマンドを実行する.

    mkdir C:\TEMP
    powershell -command "[System.Environment]::SetEnvironmentVariable(\"TEMP\", \"C:\TEMP\", \"User\")"
    

NVIDIA cuDNN 8.9.7 のインストール(Windows 上)

NVIDIA cuDNN

NVIDIA cuDNN は, NVIDIA CUDA ツールキット上で動作するディープラーニング・ライブラリである. 畳み込みニューラルネットワークや リカレントニューラルネットワークなど,さまざまなディープラーニングで利用されている.

Windows で,NVIDIA cuDNN の利用時に 「Could not locate zlibwapi.dll. Please make sure it is in your library path!」と表示されるときは, ZLIB DLL をインストールすること.

関連する外部ページ

NVIDIA cuDNN のインストール(Windows 上)の概要

zlib のインストール(Windows 上)

  1. Windows で,コマンドプロンプト管理者として実行

    コマンドプロンプトを管理者として実行: 別ページ »で説明

  2. 次のコマンドを実行

    次のコマンドは,zlibをインストールし,パスを通すものである.

    cd /d c:%HOMEPATH%
    rmdir /s /q zlib
    git clone https://github.com/madler/zlib
    cd zlib
    del CMakeCache.txt
    rmdir /s /q CMakeFiles\
    cmake . -G "Visual Studio 17 2022" -A x64 -T host=x64 -DCMAKE_INSTALL_PREFIX=c:/zlib
    cmake --build . --config RELEASE --target INSTALL
    powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\zlib\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
    powershell -command "[System.Environment]::SetEnvironmentVariable(\"ZLIB_HOME\", \"C:\zlib\", \"Machine\")"
    

関連する外部ページ

関連項目zlib

NVIDIA cuDNN 8.9.7 のインストール(Windows 上)

  1. NVIDIA cuDNN のウェブページを開く

    https://developer.nvidia.com/cuDNN

  2. ダウンロードしたいので,cuDNNのところにある「Download cuDNN」をクリック.
  3. cuDNN Downloads のページで「Archive of Previous Releases」をクリック
  4. cuDNN 8.x - 1.x」をクリック
  5. ダウンロードしたいバージョンを選ぶ

    ここでは「NVIDIA cuDNN v8.9.7 for CUDA 11.x」を選んでいる.

    このとき,画面の「for CUDA ...」のところを確認し,使用するNVIDIA CUDA のバージョンに合うものを選ぶこと.

  6. Windows にインストールするので Windows 版を選ぶ
  7. NVIDIA Developer Program メンバーシップに入る

    NVIDIA cuDNN のダウンロードのため.

    Join now」をクリック.その後,画面の指示に従う. 利用者本人が,電子メールアドレス,表示名,パスワード,生年月日を登録.利用条件等に合意.

  8. ログインする
  9. 調査の画面が出たときは,調査に応じる
  10. ライセンス条項の確認
  11. ダウンロードが始まる.
  12. ダウンロードした .zip ファイルを展開(解凍)する. その中のサブディレクトリを確認しておく.

    Windows での展開(解凍)に便利な 7-Zip: 別ページ »で説明

  13. NVIDIA CUDA ツールキットをインストールしたディレクトリを確認する.「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8」のようになっている.
  14. 確認したら, さきほど展開してできたすべてのファイルとディレクトリを,NVIDIA CUDA ツールキットをインストールしたディレクトリにコピーする
  15. パスが通っていることを確認.

    次の操作により,cudnn64_8.dllパスが通っていることを確認する.

    Windowsコマンドプロンプトを開き,次のコマンドを実行する.エラーメッセージが出ないことを確認.

    where cudnn64_8.dll
    
  16. Windowsシステム環境変数 CUDNN_PATH の設定を行う. Windows では, コマンドプロンプトを管理者として開き, 次のコマンドを実行することにより, システム環境変数 CUDNN_PATH の設定を行うことができる.

    コマンドプロンプトを管理者として実行: 別ページ »で説明

    powershell -command "[System.Environment]::SetEnvironmentVariable(\"CUDNN_PATH\", \"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\", \"Machine\")"
    

TensorFlow 2.10(GPU 対応可能), Keras, scikit-learn, MatplotLib, Python 用 opencv-python のインストール(Windows 上)

インストール手順

  1. Windows で,コマンドプロンプト管理者として実行

    コマンドプロンプトを管理者として実行: 別ページ »で説明

  2. 使用する Python のバージョンの確認
    python --version
    
  3. pip と setuptools の更新

    *python -m pip install ...」は,Python パッケージをインストールするためのコマンド.

    python -m pip install -U pip setuptools
    
  4. パッケージのアンインストール操作

    * トラブルの可能性を減らすために,次の操作でアンインストールを行っておく.

    python -m pip uninstall -y protobuf 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
    
  5. TensorFlow 2.10 , Keras, scikit-learn, Python 用 opencv-python, pillow, matplotlib, seaborn のインストール
    python -m pip install -U protobuf tensorflow==2.10.1 tf_slim tensorflow_datasets==4.8.3 tensorflow-hub tf-keras keras keras_cv keras-tuner keras-visualizer numpy pillow pydot matplotlib seaborn pandas scipy scikit-learn scikit-learn-intelex opencv-python opencv-contrib-python
    python -m pip install git+https://github.com/tensorflow/docs
    python -m pip install git+https://github.com/tensorflow/examples.git
    python -m pip install git+https://www.github.com/keras-team/keras-contrib.git
    

    (以下省略)
  6. Windowsシステム環境変数 TF_FORCE_GPU_ALLOW_GROWTH に,true を設定

    Windows で,コマンドプロンプト管理者として実行

    コマンドプロンプトを管理者として実行: 別ページ »で説明

    次のコマンドを実行

    powershell -command "[System.Environment]::SetEnvironmentVariable(\"TF_FORCE_GPU_ALLOW_GROWTH\", \"true\", \"Machine\")"
    

動作確認

TensorFlow がインストールできたかを確認したい.

  1. Windows では,コマンドプロンプトを実行.
  2. TensorFlow のバージョン確認

    バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある.

    python -c "import tensorflow as tf; print( tf.__version__ )"
    

    次のようなメッセージが出た場合には,メッセージに従い, NVIDIA ドライバNVIDIA CUDA ツールキットNVIDIA cuDNN のインストールを行う. 但し,GPU がない場合には,このメッセージを無視する.

  3. TensorFlow パッケージの情報の表示
    pip show tensorflow
    
  4. (GPU を使うとき) TensorFlow からGPU が認識できているかの確認

    TensorFlow が GPU を認識できているかの確認は,端末で,次を実行して行う.

    python -c "from tensorflow.python.client import device_lib; print(device_lib.list_local_devices())"
    

    実行結果の中に,次のように「device_type: "GPU"」があれば,GPUが認識できている.エラーメッセージが出ていないことを確認しておくこと.

    ここで,GPU があるのに,TensorFlow から認識されていないかもしれない. TensorFlow GPU 版が指定するバージョンの NVIDIA CUDA ツールキットNVIDIA cuDNN がインストールされていないことが原因かも知れない.

    TensorFlow 2.5 の GPU 版での,cuDNN のバージョンは 8.2TensorFlow 2.4 の GPU 版での,cuDNN のバージョンは 8.0.5TensorFlow 2.3, 2.2, 2.1 の GPU 版での,cuDNN のバージョンは 7.6.そして,TensorFlow 1.13 以上 TensorFlow 2.0 までの GPU 版での,cuDNN のバージョンは7.4 が良いようである.

    Windows での NVIDIA ドライバNVIDIA CUDA ツールキット 11.8,NVIDIA cuDNN v8.9.7 のインストールと動作確認: 別ページ »で説明

TensorFlow 2 のプログラム例

  1. Windows で,コマンドプロンプトを実行
  2. エディタを起動
    cd %HOMEPATH%
    notepad matmul.py
    
  3. エディタで,次のプログラムを保存

    このプログラムは,TensorFlowを使用してCPUとGPUでの行列積の計算時間を比較する. [5000, 10000, 15000, 20000] の異なる4通りのサイズの行列を2つ生成し,その行列積を求める.そのとき, 計算時間を測定して結果を表示する.

    import os
    import tensorflow as tf
    import time
    
    def measure_time(func):
        start_time = time.perf_counter()
        result = func()
        end_time = time.perf_counter()
        calculation_time = end_time - start_time
        return calculation_time
    
    def run_matmul(device_type, matrix_size):
        print(f'実行開始 - Matrix Size: {matrix_size}')
        print('device_type の設定:', device_type)
        
        if device_type == 'CPU':
            with tf.device('/CPU:0'):
                X = tf.random.uniform((matrix_size, matrix_size), minval=0, maxval=1)
                Y = tf.random.uniform((matrix_size, matrix_size), minval=0, maxval=1)
                calculation_time = measure_time(lambda: tf.matmul(X, Y))
        else:
            with tf.device('/GPU:0'):
                X = tf.random.uniform((matrix_size, matrix_size), minval=0, maxval=1)
                Y = tf.random.uniform((matrix_size, matrix_size), minval=0, maxval=1)
                calculation_time = measure_time(lambda: tf.matmul(X, Y))
        
        physical_devices = tf.config.list_physical_devices()
        gpu_devices = tf.config.list_physical_devices('GPU')
        
        print(f"Running on {device_type}")
        print(f"Available devices: {physical_devices}")
        print(f"Calculation time: {calculation_time:.6f} seconds")
        print()
    
    # GPUの利用可能性を確認
    print("GPU available:", tf.config.list_physical_devices('GPU'))
    
    # デバイス名を取得
    device_name = tf.config.list_logical_devices('GPU')
    print("Device name:", device_name)
    
    matrix_sizes = [5000, 10000, 15000, 20000]
    
    for size in matrix_sizes:
        print(f'Matrix Size: {size}')
        run_matmul('GPU', size)
        run_matmul('CPU', size)
        print('---')
    
  4. Python プログラムの実行

    Python プログラムの実行

    【サイト内の関連ページ】 Python のまとめ: 別ページ »

    プログラムを matmul.pyのようなファイル名で保存したので, 「python matmul.py」のようなコマンドで行う.

    python matmul.py
    
  5. 結果の確認

【まとめ】 Windows上でPython及び関連パッケージ(TensorFlow GPU版2.10,Keras,scikit-learn,MatplotLib,opencv-python)のインストール手順を説明.