金子邦彦研究室インストールWindows の種々のソフトウェア(インストール)TensorFlow GPU 版 2.10,Keras 2.10,Python 3.10 のインストールと動作確認(Windows 上)

TensorFlow GPU 版 2.10,Keras 2.10,Python 3.10 のインストールと動作確認(Windows 上)

要約】 TensorFlowは,データフローグラフを特徴とするPythonパッケージであり,CPU,GPU,Google TPU上で動作する.Windows環境でTensorFlow GPU版をインストールし,動作を確認する手順は次の通りである.初めに,最新のNVIDIAドライバとBuild Tools for Visual Studioを準備する.さらに,NVIDIA CUDAツールキット11とPythonのインストールが必要である.既にTensorFlowや関連パッケージがインストールされている場合は,問題を回避するためにアンインストールを行う.その後,pipを用いてTensorFlow(推奨バージョン2.10)をインストールする.インストールの成功は,バージョン番号の表示とGPUの認識によって確認する.さらに,「Hello, TensorFlow!」と表示するサンプルプログラムや,VGG16及びInceptionV3を活用した画像分類のサンプルプログラムも提供しており,試すことが可能である.

目次

  1. Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022),Visual Studio 2022 のインストール(Windows 上)
  2. Git のインストール(Windows 上)
  3. NVIDIA ドライバ,NVIDIA CUDA ツールキット, NVIDIA cuDNN のインストール(Windows 上)
  4. Python のインストール,pip と setuptools の更新,Python 開発環境のインストール
  5. TensorFlow 2 のインストール
  6. TensorFlow 2 のプログラム例
  7. TensorFlow, Keras, VGG 16, InceptionV3, Imagenet による画像分類を試してみる

GPU

GPU は,グラフィックス・プロセッシング・ユニット(Graphics Processing Unit)の略である.現在は,3次元のビデオゲーム,さまざまな計算,ディープラーニングの高速な並列処理などに用いられている

NVIDIA CUDA ツールキット

NVIDIA CUDA ツールキット は,NVIDIA社が提供する GPU 用のツールキットである.GPU を用いた演算のプログラム作成や動作のための各種機能を備えている.ディープラーニングでも利用されている.

サイト内の関連ページ

関連する外部ページ

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

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

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 のインストール時の注意点

NVIDIA cuDNN の動作に必要なもの

NVIDIA ドライバ

NVIDIA ドライバは,NVIDIA 社製の GPU を動作させるのに必要なドライバである.次の NVIDIA の公式サイトからダウンロードできる.ダウンロードのときは,使用しているオペレーティングシステムとGPUに適したものを選ぶこと.

関連する外部ページ

NVIDIA ドライバのダウンロードの公式ページ: https://www.nvidia.co.jp/Download/index.aspx?lang=jp

TensorFlow GPU 版

Tensorflowは, データフローグラフ (data flow graph) を特色とするフレームワークの機能を持つ Pythonのパッケージ. データフローグラフでは, 節が数値演算,枝が多次元の配列(テンソル)になっている. Python, C/C++ 言語から利用可能.機械学習のアプリケーションを簡単に作成できるもの. プロセッサ(CPU), GPU, Google TPU で動く. Google 社のディープラーニング研究プロジェクト. 2015年11月に最初のリリース.

TensorFlow のデータセットとして,https://github.com/tensorflow/datasets などで・音声,画像,テキスト,ビデオのデータが多数公開されており,学習に利用できる

TensorFlow GPU 版の動作に必要なもの(2023年4月時点)

古いバージョンである2.4.4 あるいはそれ以前のバージョン のTensorFlow を使う場合は, 最新NVIDIA cuDNNを使わないこと. 詳しくは,別ページ »で説明

Build Tools for Visual Studio 2022

Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022)は,Windows で動くMicrosoft の C++ コンパイラーである.

サイト内の関連ページ

Windows での Build Tools for Visual Studio 2022(ビルドツール for Visual Studio 2022)のインストール: 別ページ »で説明している.

関連する外部ページ

Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022)の公式ダウンロードページ: https://visualstudio.microsoft.com/ja/visual-cpp-build-tools/

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

Visual Studio を使う予定がある場合

Windows での Visual Studio Community 2022 のインストール: 別ページ »で説明している.

Visual Studio Community 2022 に, Build Tools for Visual Studio 2022の機能が含まれている.

Visual Studio を使う予定がない場合

Build Tools for Visual Studio 2022 のインストールを行う.

関連する外部ページ

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

Git はバージョン管理システムである.

Git の公式ページ: https://git-scm.com/ からダウンロードしてインストール:

  1. Git のページを開く

    https://git-scm.com/

  2.  ダウンロードしたいので「Downloads」をクリック

  3. Windows 版が欲しいので 「Windows」をクリック.

  4. 64ビット版のインストーラを選ぶ

  5. ダウンロードした .exe ファイルを実行

    このとき,ライセンス条項の確認を行う.設定は既定(デフォルト)のままでも問題はない.

サイト内の関連ページ

関連する外部ページ

NVIDIA ドライバ,NVIDIA CUDA ツールキット, NVIDIA cuDNN のインストール(Windows 上)

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

Python のインストール,pip と setuptools の更新,Python 開発環境のインストール

① インストールする Python のバージョンの確認

2022年12月時点では, Python 3.10 を使う.

Python 3.10 の根拠:

古いバージョンTensorFlow,PyTorch を使う予定の場合.

次により, Python, TensorFlow, PyTorch のバージョンの組み合わせを確認し,それにあったバージョンの Python をインストールする必要がある.

② Python のインストール

Python のインストールでの注意点

インストール手順の詳細(別ページ)

Windows での Python のインストール: 別ページ »で説明している.

Python の公式ページ

https://www.python.org/

③ pip と setuptools の更新

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

    Windowspip を実行するときは,コマンドプロンプト管理者として開き,それを使って pip を実行することにする.

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

  2. 次のコマンドを実行する.
    python -m pip install -U pip setuptools
    

    [image]

【pip の利用】

Windows では,pip は,次のコマンドで起動できる.

pip または python -m pip または py -3.10 -m pip のようにバージョン指定.

Windows では,管理者として実行.

④ Python 開発環境として,Python コンソール(Jupyter Qt Console), Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, spyder のインストール

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

    Windowspip を実行するときは,コマンドプロンプト管理者として開き,それを使って pip を実行することにする.

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

  2. 次のコマンドを実行する.

    python -m pip install -U pip setuptools jupyterlab jupyter jupyter-console jupytext PyQt5 nteract_on_jupyter spyder
    

    [image]

他の Python の開発環境

TensorFlow 2 のインストール

設定の要点

システム環境変数 TF_FORCE_GPU_ALLOW_GROWTH の設定: true

インストール手順

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

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

  2. 使用する Python のバージョンの確認
    python --version
    

    [image]
  3. pip と setuptools の更新

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

    python -m pip install -U pip setuptools
    

    [image]
  4. TensorFlow, Keras 関係のパッケージのアンインストール操作

    トラブルの可能性を減らすために,関係のパッケージのアンインストールを行っておく.

    Windowspip を実行するときは,コマンドプロンプト管理者として開き,それを使って pip を実行することにする.

    python -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
    

    [image]
  5. TensorFlow GPU 版 2.10 ,Keras, 関連ソフトウェアのインストール

    pip を用いてインストール

    python -m pip install -U tensorflow==2.10.1 tf_slim tensorflow_datasets==4.8.3 tensorflow-hub keras keras-tuner keras-visualizer
    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
    

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

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

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

    次のコマンドを実行

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

    [image]

動作確認

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

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

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

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

    [image]

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

    [image]
  3. TensorFlow パッケージの情報の表示

    pip show tensorflow
    

    [image]
  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が認識できている.エラーメッセージが出ていないことを確認しておくこと.

    [image]

    ここで,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.8 のインストールと動作確認: 別ページ »で説明

TensorFlow 2 のプログラム例

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

    Python プログラムを実行する

    Python プログラムの実行: 別ページ »で説明

    Python のまとめ: 別ページ »にまとめ

    結果として 「b'Hello, TensorFlow!'」のように表示されるので確認する.

    import tensorflow as tf
    hello = tf.constant('Hello, TensorFlow!')
    print(hello)
    exit()
    

    [image]
  2. 今度は,次の Python プログラムを実行する

    結果として 「42」のように表示されるので確認する.

    「tf.add(a, b)」と「a + b 」は,同じ結果になる

    import tensorflow as tf
    a = tf.constant(10)
    b = tf.constant(32)
    print( tf.add(a, b) )
    print( a + b )
    exit()
    

    [image]
  3. 今度は,次の Python プログラムを実行する

    結果として 「[[ 12.]]」のように表示されるので確認する.

    import tensorflow as tf
    matrix1 = tf.constant([[3., 3.]])
    matrix2 = tf.constant([[2.],[2.]])
    print( tf.matmul(matrix1, matrix2) )
    exit()
    

    [image]

TensorFlow, Keras, VGG 16, InceptionV3, Imagenet による画像分類を試してみる

  1. 前準備として h5py, pillow のインストール

    python -m pip install -U h5py pillow
    
  2. 画像の準備

    10.png のようなファイル名で保存しておく

    [image]
  3. Python プログラムの実行
    cd <画像を置いたディレクトリ>
    python  
    

    [image]
  4. VGG 16, Imagenet による学習済みの重みデータによる画像分類を試してみる

    次のプログラムをコピー&ペースト

    Kerasのサイトで公開されているものを少し書き換えて使用。

    「'10.png'」のところは,実際に使用する画像ファイル名に書き換えること.

    import h5py
    from tensorflow.keras.preprocessing import image
    from tensorflow.keras.applications.vgg16 import VGG16
    from tensorflow.keras.applications.vgg16 import preprocess_input
    import numpy as np
    
    m = VGG16(weights='imagenet', include_top=False)
    
    img_path = '10.png'
    img = image.load_img(img_path, target_size=(299, 299))
    x = image.img_to_array(img)
    x = np.expand_dims(x, axis=0)
    x = preprocess_input(x)
    
    features = m.predict(x)
    print(features) 
    

    [image]

    python の終了は「exit()」

  5. InceptionV3, Imagenet による学習済みの重みデータによる画像分類を試してみる

    次のプログラムをコピー&ペースト

    Kerasのサイトで公開されているものを少し書き換えて使用。

    「'10.png'」のところは,実際に使用する画像ファイル名に書き換えること.

    import h5py
    from tensorflow.keras.preprocessing import image
    from tensorflow.keras.applications.inception_v3 import preprocess_input, decode_predictions, InceptionV3
    import numpy as np
    
    m = InceptionV3(weights='imagenet')
    
    img_path = '10.png'
    img = image.load_img(img_path, target_size=(299, 299))
    x = image.img_to_array(img)
    x = np.expand_dims(x, axis=0)
    x = preprocess_input(x)
    
    preds = m.predict(x)
    
    print('Predicted:')
    for p in decode_predictions(preds, top=5)[0]:
        print("Score {}, Label {}".format(p[2], p[1]))
    

    [image]

    python の終了は「exit()」