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プログラム例も示している.
【目次】
- 前準備
- TensorFlow 2.10(GPU 対応可能), Keras, scikit-learn, MatplotLib, Python 用 opencv-python のインストール(Windows 上)
- TensorFlow 2 のプログラム例
【サイト内の関連ページ】
- Windows の種々のソフトウェアのインストール: 別ページ »にまとめ
- 人工知能の実行(Google Colaboratory を使用): 別ページ »にまとめ
- TensorFlow GPU 版 1.15 のインストール: 別ページ »で説明
このWebページに記載しているプログラムは https://github.com/tensorflow/tensorflow#download-and-setup をもとに作成
【関連する外部ページ】
- https://pypi.python.org/pypi/tensorflow-gpu (TensorFlow の最新バージョンの確認など)
- https://github.com/tensorflow/tensorflow#download-and-setup (TensorFlow の最新情報の確認など)
GPUとは
GPUは,グラフィックス・プロセッシング・ユニット(Graphics Processing Unit)の略です.その高い並列計算能力から,3次元コンピュータグラフィックス,3次元ゲーム,動画編集,科学計算,ディープラーニングなど,並列処理が必要な幅広い分野で活用されています.
TensorFlowとNVIDIAソフトウェアの関連
TensorFlowは,Googleが開発した機械学習フレームワークであり,ディープラーニング開発で広く使われています.Python,C/C++言語から利用可能で,CPUだけでなく,NVIDIA GPUやGoogle TPU上で計算を高速化できます.TensorFlowでGPUの計算能力を活用するには、NVIDIAが提供するドライバ、CUDAツールキット、cuDNNライブラリが必要になります.
TensorFlowの特徴として「データフローグラフ」があります.これは,「データの流れ」を表現するもので,グラフの節点は演算(オペレーション)を,エッジはデータ(テンソル)の流れを表します.TensorFlowを使用することで,音声,画像,テキスト,ビデオなど多様なデータを扱う機械学習アプリケーションの開発が容易になります.2015年11月に初版がリリースされて以来,継続的にバージョンアップが続いています.
TensorFlow GPU版などのGPU対応フレームワークを利用するための主な動作要件(2024年7月現在参考):
- NVIDIA グラフィックス・ボード: CUDAに対応したNVIDIA製GPUが必要です.
Windows で,NVIDIA グラフィックス・ボードの種類を確認するには,次のコマンドをコマンドプロンプトで実行します.
wmic path win32_VideoController get name
- NVIDIA ドライバ: GPUをOSに認識させ、性能を引き出すためのソフトウェアです.
- NVIDIA CUDA ツールキット: GPU上でプログラムを開発・実行するためのプラットフォームです.コンパイラ(nvcc)、ライブラリ、APIなどが含まれます.
TensorFlow バージョン 2.10.1の動作には,CUDA 11.2が必要です(公式ドキュメントより.対応するDLL: cudart64_110.dll, cusolver64_11.dllなど)。TensorFlowのバージョンによって要求されるCUDAバージョンは異なります。 Windows環境のTensorFlow 2.10ではCUDA 11が必要であり、そして、CUDA 11.8や12.xとの公式な互換性は保証されていないようです。本記事ではCUDA 11.8のインストールを解説しますが、TensorFlow 2.10を使用する場合はCUDA 11.2のインストールを検討してください。
また,NVIDIA CUDA ツールキット のバージョンを選ぶときは,NVIDIA cuDNNに対応したバージョンを選択することも重要です. 互換性の詳細はcuDNNの公式アーカイブページなどで確認できます.
- NVIDIA cuDNN: ディープニューラルネットワークのためのGPUアクセラレーションライブラリです.畳み込み演算などを高速化します.
TensorFlow GPU版の動作のためにNVIDIA cuDNNが必要です.これもTensorFlowやCUDAのバージョンとの互換性を確認する必要があります.(例: TensorFlow 2.10はcuDNN 8.1を要求)
TensorFlowの古いバージョンを使用する場合や特定のバージョン組み合わせについては、対応バージョン情報(別ページ »)も参照してください.
前準備
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の機能を含むか連携して使用するものである.インストールは以下の基準で判断してください:
- Build Tools for Visual Studio の機能のみが必要な場合
- Visual Studio の機能が必要である,あるいは,よく分からない場合
Visual Studio 2022 をインストールする際に,「C++ によるデスクトップ開発」を選択することで, Build Tools for Visual Studio 2022 の機能も一緒にインストールされる.
不明な点がある場合は,Visual Studio 全体をインストール を行う方が良い.
Build Tools for Visual Studio 2022 のインストール(Windows 上)
- Windows で,コマンドプロンプトを管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
次のコマンドを実行
次のコマンドは,Build Tools for Visual Studio 2022と VC2015 再配布可能パッケージをインストールするものである.
- Build Tools for Visual Studio 2022 での C++ によるデスクトップ開発,CLI,ATL,MFC のインストール(Windows 上)
- Visual Studio Installer の起動
起動方法: スタートメニューの「Visual Studio Installer」を選ぶ.
- Visual Studio Build Tools 2022 で「変更」を選ぶ.
- 「C++ によるデスクトップ開発」をクリック.そして,画面右側の「インストール」の詳細で「v143 ビルドツール用 C++/CLI サポート(最新)」,「ATL」,「MFC」をチェックする.その後,「変更」をクリック.
- Visual Studio Installer の起動
Visual Studio のインストール(Windows 上)
- Windows で,コマンドプロンプトを管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
次のコマンドを実行
- コマンドプロンプトを管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
- インストールコマンドの実行
winget install Microsoft.VisualStudio.2022.Community --scope machine --override "--add Microsoft.VisualStudio.Workload.NativeDesktop Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core Microsoft.VisualStudio.Component.VC.CLI.Support Microsoft.VisualStudio.Component.CoreEditor Microsoft.VisualStudio.Component.NuGet Microsoft.VisualStudio.Component.Roslyn.Compiler Microsoft.VisualStudio.Component.TextTemplating Microsoft.VisualStudio.Component.Windows.SDK.Latest Microsoft.VisualStudio.Component.VC.Tools.x86.x64 Microsoft.VisualStudio.Component.VC.ATL Microsoft.VisualStudio.Component.VC.ATLMFC" winget install Microsoft.VisualStudio.2022.Community --scope machine Microsoft.VCRedist.2015+.x64
インストールされるコンポーネントの説明:
NativeDesktop
:C++によるデスクトップアプリケーション開発のためのワークロード一式NativeDesktop.Core
:C++デスクトップ開発に必要な基本コンポーネント群VC.CLI.Support
:マネージドコードとネイティブコードの統合開発を可能にするC++/CLIサポートCoreEditor
:コード編集,デバッグ,検索などの基本機能を提供するVisual StudioのコアエディタNuGet
:.NETライブラリの依存関係を管理するパッケージ管理システムWindows.SDK.Latest
:Windows 向けアプリケーション開発用SDK(Software Development Kit)VC.Tools.x86.x64
:32ビット及び64ビット向けC++コンパイラとビルドツールVC.ATL
:Windowsコンポーネント開発用のActive Template LibraryVC.ATLMFC
:デスクトップアプリケーション開発用のMicrosoft Foundation Class Library
システム要件と注意事項:
- 管理者権限でのインストールが必須
- 必要ディスク容量:10GB以上
- 推奨メモリ:8GB以上のRAM
- インストール過程でシステムの再起動が要求される可能性がある
- 安定したインターネット接続環境が必要
追加のコンポーネントが必要な場合は,Visual Studio Installerを使用して個別にインストールすることが可能である.
- インストール完了の確認
winget list Microsoft.VisualStudio.2022.Community
トラブルシューティング:
インストール失敗時は,以下のログファイルを確認:
%TEMP%\dd_setup_<timestamp>.log %TEMP%\dd_bootstrapper_<timestamp>.log
- Visual Studio での C++ によるデスクトップ開発,CLI のインストール(Windows 上)
- Visual Studio Installer の起動
起動方法: スタートメニューの「Visual Studio Installer」を選ぶ.
- Visual Studio Community 2022 で「変更」を選ぶ.
- 「C++ によるデスクトップ開発」をチェック.そして,画面右側の「インストール」の詳細で「v143 ビルドツール用 C++/CLI サポート(最新)」をチェックする.その後,「インストール」をクリック.
- Visual Studio Installer の起動
Python 3.10,Git,7-Zip のインストール(Windows 上)
Pythonは,プログラミング言語の1つ. Gitは,分散型のバージョン管理システム. 7-Zipは,ファイル圧縮・展開(解凍)ツール.
【手順】
- Windows で,コマンドプロンプトを管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
次のコマンドを実行
次のコマンドは,Python ランチャーとPython 3.10とGitと7-Zipをインストールし,Gitと7-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 の公式ページ: https://www.python.org/
- Git の公式ページ: https://git-scm.com/
- 7-Zip の公式ページ: https://7-zip.opensource.jp/
【サイト内の関連ページ】
【関連項目】 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 を用いてインストールすることも可能である.
【サイト内の関連ページ】
- NVIDIA グラフィックス・ボードの確認
Windows で,NVIDIA グラフィックス・ボードの種類を調べたいときは, 次のコマンドを実行することにより調べることができる.
wmic path win32_VideoController get name
- NVIDIA ドライバのダウンロード
NVIDIA ドライバは,以下の NVIDIA 公式サイトからダウンロードできる.
- ダウンロードの際には,使用しているグラフィックス・ボードの型番とオペレーティングシステムを選択する.
NVIDIA CUDA ツールキット 11.8 のインストール(Windows 上)
NVIDIA CUDA ツールキットのインストール時の注意点
NVIDIAのGPUを使用して並列計算を行うためのツールセット
主な機能: GPU を利用した並列処理,GPU のメモリ管理,C++をベースとした拡張言語とAPIとライブラリ
【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 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 ツールキット 12.5 のインストール(Windows 上), NVIDIA CUDA ツールキット 11.8 のインストール(Windows 上)
- Windows では,NVIDIA CUDA ツールキットのインストール中は,なるべく他のウインドウはすべて閉じておくこと.
- Windows で,コマンドプロンプトを管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
- 次のコマンドを実行
次のコマンドは,NVIDIA GeForce Experience,NVIDIA CUDA ツールキット 11.8 をインストールするものである.
wmic path win32_VideoController get name 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\")"
- 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 ツールキット上で動作する、高性能なディープラーニング用ライブラリです.畳み込みニューラルネットワーク (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 のインストール(Windows 上)の概要
- NVIDIA Developer Program メンバーシップへの加入: cuDNNのダウンロードには無料のメンバーシップ登録が必要です。
NVIDIA Developer Program の公式ページ: https://developer.nvidia.com/developer-program
- 互換バージョンの選択とダウンロード: インストール済みのCUDAツールキットのバージョン (今回は11.x) に適合するcuDNNのバージョン (今回はv8.9.7) を選択し、Windows用のzipファイルをダウンロードします。
- ファイルの展開と配置: ダウンロードしたzipファイルを展開(解凍)し、中のファイル(
bin
,include
,lib
フォルダ内)を、CUDAツールキットのインストールディレクトリにコピーします。 - (オプション) 環境変数の設定: 必要に応じてシステム環境変数
CUDNN_PATH
を設定します。 - (必要に応じて) ZLIB DLL のインストール:
zlibwapi.dll
が見つからないエラーが発生する場合にインストールします。 - 動作確認: cuDNNライブラリ (
cudnn64_*.dll
) にパスが通っているか確認します。
zlib のインストール(Windows 上)
- Windows で,コマンドプロンプトを管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
- 次のコマンドを実行
次のコマンドは,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 の公式ページ: https://www.zlib.net/
【関連項目】 zlib
NVIDIA cuDNN 8.9.7 のインストール手順(Windows上)
- NVIDIA cuDNN のウェブページを開きます。
- ダウンロードセクションに進みます。(「Download cuDNN」ボタンなどをクリック)
- NVIDIA Developer Program へのログイン/登録が求められます。アカウントがない場合は無料で作成します。(「Join now」または「Login」)
利用者本人が,電子メールアドレス,表示名,パスワード,生年月日などを登録し,利用条件等に合意します.
- ログイン後、ダウンロードページが表示されます。最新版ではなく特定のバージョンが必要なため、「Archive of Previous cuDNN Releases」やそれに類するリンクをクリックします。
- アーカイブページで、目的のメジャーバージョン(例: cuDNN 8.x)を選択します。
- ダウンロードしたいバージョン(今回は cuDNN v8.9.7)を探し、インストール済みのCUDAバージョン (今回は CUDA 11.x) に対応するものを選びます。
「cuDNN Library for Windows (x86_64)」のような、Windows向けのリンクをクリックします。
- ライセンス条項を確認・同意し、ダウンロードを開始します。(.zip ファイルがダウンロードされます)
- ダウンロードした .zip ファイルを、7-Zipなどのツールを使って展開(解凍)します。
展開すると、通常
bin
,include
,lib
というサブフォルダが含まれています。 - CUDAツールキットがインストールされているディレクトリを開きます。デフォルトでは通常「
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8
」です。 - (重要) ファイルのコピー: 先ほど展開してできたcuDNNのフォルダ(
bin
,include
,lib
)の中身を、それぞれ対応するCUDAツールキットのインストールディレクトリ内のフォルダ(bin
,include
,lib
)にコピー(マージ)します。- 展開したcuDNNの
bin
フォルダ内のファイル (例:cudnn*.dll
) を CUDA のbin
フォルダ (C:\...\v11.8\bin
) へコピーします。 - 展開したcuDNNの
include
フォルダ内のファイル (例:cudnn*.h
) を CUDA のinclude
フォルダ (C:\...\v11.8\include
) へコピーします。 - 展開したcuDNNの
lib\x64
フォルダ内のファイル (例:cudnn*.lib
) を CUDA のlib\x64
フォルダ (C:\...\v11.8\lib\x64
) へコピーします。
- 展開したcuDNNの
- パスが通っていることを確認します。
cuDNNのDLLファイル(例:
cudnn64_8.dll
- バージョンによって数字は変わります)が、CUDAツールキットのbin
ディレクトリ(システム環境変数PATH
に含まれているはず)に正しくコピーされたか確認します。新しいコマンドプロンプトを開き,次のコマンドを実行します。DLLファイルのフルパスが表示されればOKです。エラーメッセージが出ないことを確認してください.
where cudnn64_8.dll
(注:
cudnn64_8.dll
はcuDNN 8.x系のファイル名です。バージョンによってファイル名が異なる場合があります。where cudnn*.dll
などで確認してください。) - (オプション) システム環境変数 CUDNN_PATH の設定
一部のフレームワークやライブラリは、cuDNNの場所を特定するために
CUDNN_PATH
環境変数を参照することがあります。設定しておくと互換性が向上する場合があるため、設定を推奨します。Windows では,コマンドプロンプトを管理者として開き,次のコマンドを実行して、システム環境変数
CUDNN_PATH
をCUDAツールキットのインストールディレクトリに設定します。コマンドプロンプトを管理者として実行する方法は、別ページで説明しています.
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 上)
インストール手順
- Windows で,コマンドプロンプトを管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
- 使用する Python のバージョンの確認
python --version
- pip と setuptools の更新
* 「 python -m pip install ...」は,Python パッケージをインストールするためのコマンド.
python -m pip install -U pip setuptools
- パッケージのアンインストール操作
* トラブルの可能性を減らすために,次の操作でアンインストールを行っておく.
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
- 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
(以下省略) - 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 のバージョン確認
バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある.
python -c "import tensorflow as tf; print( tf.__version__ )"
次のようなメッセージが出た場合には,メッセージに従い, NVIDIA ドライバ,NVIDIA CUDA ツールキット, NVIDIA cuDNN のインストールを行う. 但し,GPU がない場合には,このメッセージを無視する.
- Windows での NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.8,NVIDIA cuDNN v8.9.7 のインストールと動作確認: 別ページ »で説明
- TensorFlow パッケージの情報の表示
pip show tensorflow
- (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.2,TensorFlow 2.4 の GPU 版での,cuDNN のバージョンは 8.0.5,TensorFlow 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 のプログラム例
- Windows で,コマンドプロンプトを実行
- エディタを起動
cd %HOMEPATH% notepad matmul.py
- エディタで,次のプログラムを保存
このプログラムは,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('---')
- Python プログラムの実行
Python プログラムの実行
- Windows では python (Python ランチャーは py)
- Ubuntu では python3
【サイト内の関連ページ】 Python のまとめ: 別ページ »
プログラムを matmul.pyのようなファイル名で保存したので, 「python matmul.py」のようなコマンドで行う.
python matmul.py
- 結果の確認
【まとめ】 Windows上でPython及び関連パッケージ(TensorFlow GPU版2.10,Keras,scikit-learn,MatplotLib,opencv-python)のインストール手順を説明.