NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.8, NVIDIA cuDNN 8, Python 開発環境,TensorFlow のインストール(Ubuntu 上)
【目次】
- 前準備
- NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.8, NVIDIA cuDNN 8 のインストール(Ubuntu 上)
- Python3 開発用ファイル,pip, setuptools, venv のインストール,Python 開発環境,Python コンソール(Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, spyder)のインストール(Ubuntu 上)
- TensorFlow 2.11,Keras,MatplotLib, Python 用 opencv-python のインストール(Ubuntu 上)
- TensorFlow のプログラム例
【サイト内の主な Ubuntu 関連ページ】
- システム更新: 別ページ »で説明
- Ubuntu のセットアップ(Ubuntu のインストールと設定,アプリケーションソフトウェアのインストール及び設定手順): 別ページ »で説明
- Ubuntu,WSL2 について: 別ページ »にまとめている.
先人に感謝.
このWebページに記載しているプログラムは https://github.com/tensorflow/tensorflow#download-and-setup をもとに作成
【関連する外部ページ】
前準備
Ubuntu のシステム更新
Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する.
sudo apt -y update
sudo apt -yV upgrade
sudo /sbin/shutdown -r now
NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.8, NVIDIA cuDNN 8 のインストール(Ubuntu 上)
GPUとは
GPUは,グラフィックス・プロセッシング・ユニット(Graphics Processing Unit)の略です.その高い並列計算能力から,3次元コンピュータグラフィックス,3次元ゲーム,動画編集,科学計算,ディープラーニングなど,並列処理が必要な幅広い分野で活用されています.
.NVIDIA ドライバ
NVIDIA ドライバは,NVIDIA 社製の GPU を動作させるのに必要なドライバである.次の NVIDIA の公式サイトからダウンロードできる.ダウンロードのときは,使用しているオペレーティングシステムとGPUに適したものを選ぶこと.
【関連する外部ページ】 NVIDIA ドライバのダウンロードの公式ページ: https://www.nvidia.co.jp/Download/index.aspx?lang=jp
【インストール手順の詳細説明】
- Windows での NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.8,NVIDIA cuDNN v8.9.7 のインストールと動作確認: 別ページ »で説明
- Ubuntu での NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.8, NVIDIA cuDNN 8 のインストール: 別ページ »で説明
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 CUDA ツールキット
最新のNVIDIA CUDA ツールキットでは動かないということもあるので注意.
- NVIDIA Developer Program メンバーシップへの加入が必要.
NVIDIA Developer Program の公式ページ: https://developer.nvidia.com/developer-program
NVIDIA ドライバ,NVIDIA CUDA ツールキット, NVIDIA cuDNN のインストールの要点と注意点
- TensorFlow,
PyTorch を使うためには,
インストールする NVIDIA CUDA ツールキットのバージョン,NVIDIA cuDNN のバージョンに注意する必要がある.
そのことについて,より詳しい説明は: 別ページ »で説明
- NVIDIA CUDA ツールキットのダウンロード(Windows, Linux):
NVIDIA CUDA ツールキットのアーカイブの公式ページ: https://developer.nvidia.com/cuda-toolkit-archive
- NVIDIA cuDNN のダウンロード,
NVIDIA CUDA ツールキットに合致する NVIDIA cuDNN のバージョンの確認 (Windows, Linux):
NVIDIA cuDNN のページ: https://developer.nvidia.com/cudnn
必ず,使用する NVIDIA CUDA ツールキットにあう NVIDIA cuDNN を使うこと.
- NVIDIA cuDNN のインストール後に,必要に応じて,環境変数 CUDNN_PATH を設定する.
NVIDIA ドライバのインストール(Ubuntu 上)
NVIDIA グラフィックス・ボードがある場合に限り, あとで,NVIDIA CUDA ツールキット,NVIDIA cuDNN のインストールを行う.
- NVIDIA グラフィックス・ボードの確認
CUDA 対応の GPU であるかを確認のため, 端末で,次のコマンドを実行する.
(表示が空になるときは,NVIDIAのグラフィックス・カードが無い可能性がある).
lspci | grep -i nvidia | grep VGA
- nouveau ドライバの無効化
端末で,次のコマンドを実行する.
echo 'blacklist nouveau' | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf echo 'options nouveau modeset=0' | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf cat /etc/modprobe.d/blacklist-nouveau.conf sudo update-initramfs -u
- NVIDIA ドライバとNVIDIA CUDA ツールキットのアンインストール
NVIDIA ドライバのインストール,NVIDIA CUDA ツールキットがインストールされていた場合には,アンイントールする. 端末で,次のコマンドを実行する.
dpkg -l | grep cuda cd /tmp sudo apt --purge remove -y nvidia-* sudo apt --purge remove -y cuda-* sudo apt autoremove -y
- カーネルヘッダーと,カーネル開発用パッケージのインストール
端末で,次のコマンドを実行する.
sudo apt -y update sudo apt -y install linux-headers-$(uname -r)
- NVIDIA ドライバのインストール操作
「sudo ubuntu-drivers autoinstall」を用いて NVIDIA ドライバをインストールする.
端末で,次のコマンドを実行する.
sudo apt -y update sudo apt -y upgrade sudo apt dist-upgrade ubuntu-drivers devices sudo ubuntu-drivers autoinstall sudo update-initramfs -u
- Ubuntu システムの再起動
グラフィックスドライバが入れ変わったので,Ubuntu システムを再起動する.
端末で,次のコマンドを実行する.
sudo /sbin/shutdown -r now
- NVIDIA ドライバの確認
システムの再起動後,端末で,次のコマンドを実行し,ドライバ等を確認する
先頭の「Driver Version」のところに,ドライバのバージョンが表示される.
nvidia-smi
NVIDIA CUDA ツールキット11.8 のインストール
Ubuntu で NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.8 のインストールを行う.
NVIDIA CUDA ツールキット は,NVIDIA社が提供する GPU 用のツールキットである.GPU を用いた演算のプログラム作成や動作のための各種機能を備えている.ディープラーニングでも利用されている. NVIDIA 社のグラフィックス・カードが持つ GPU の機能を使うとき,NVIDIA CUDA ツールキット を利用することができる.
【関連する外部ページ】
- Ubuntu のバージョンを確認
端末で,次のコマンドを実行する.
uname -m lsb_release -sc cat /etc/*release
Ubuntu のバージョンが表示されるので確認する.
Ubuntu のバージョンは,VERSION_ID の行などで確認できる.
- NVIDIA CUDA パッケージレポジトリで,ファイル名を確認
NVIDIA CUDA パッケージレポジトリの URL: https://developer.download.nvidia.com/compute/cuda/repos/
* Linux の種類やバージョンごとに,ファイル名が違うので確認する.NVIDIA CUDA パッケージレポジトリでは, Ubuntu 以外の Linux についてのファイルも公開されている : https://developer.download.nvidia.com/compute/cuda/repos/
- Ubuntu 22.04 の場合
https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ で確認.
「
.pub」という名前の付いたファイルを確認. 複数あるときは,新しい方を確認.
「cuda-ubuntu...
.pin」という名前の付いたファイルを確認. 使用したいバージョンのものを確認.
- Ubuntu 20.04 の場合
https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ で確認.
「
.pub」という名前の付いたファイルを確認. 複数あるときは,新しい方を確認.
「cuda-ubuntu...
.pin」という名前の付いたファイルを確認. - Ubuntu 18.04 の場合
https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ で確認.
Ubuntu 18.04 の場合は cuda-repo パッケージをインストールする.
スクロールして「cuda-repo・・・」を探す
- Ubuntu 20.04 の場合
- Ubuntu 22.04 の場合
- NVIDIA CUDA パッケージレポジトリを,Ubuntu システムに追加
このとき,いま,確認したファイル名を指定すること.
端末で,次のように操作する.
- Ubuntu 22.04 の場合
次の操作により,NVIDIA CUDA のパッケージレポジトリが Ubuntu システムに追加される.
sudo wget -O /etc/apt/preferences.d/cuda-repository-pin-600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /"
- Ubuntu 20.04 の場合
次の操作により,NVIDIA CUDA のパッケージレポジトリが Ubuntu システムに追加される.
sudo wget -O /etc/apt/preferences.d/cuda-repository-pin-600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
- Ubuntu 18.04 の場合
NVIDIA CUDA パッケージレポジトリを,Ubuntu システムに追加 (いま確認したファイル名のファイルを追加).
cd /tmp wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.1.243-1_amd64.deb sudo dpkg -i cuda-repo-ubuntu1804_10.1.243-1_amd64.deb sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub sudo apt -y update
- Ubuntu 22.04 の場合
- インストールできる CUDA のバージョンの確認
apt-cache search cuda-11
- NVIDIA CUDA パッケージレポジトリを用いて,NVIDIA CUDA ツールキット 11.8 のインストール
次の操作により,NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.8 がインストールされる.
端末で,次のコマンドを実行する.
sudo apt -y update sudo apt -y install cuda-11-8 sudo update-initramfs -u sudo /sbin/shutdown -r now
- NVIDIA CUDA ツールキットにパスを通す設定
端末で,次のコマンドを実行する.
export CUDA_PATH=/usr/local/cuda-11.8 echo 'export CUDA_PATH=/usr/local/cuda-11.8' >> ${HOME}/.bashrc export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:${LD_LIBRARY_PATH} echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:${LD_LIBRARY_PATH}' >> ${HOME}/.bashrc export PATH=/usr/local/cuda-11.8/bin:${PATH} echo 'export PATH=/usr/local/cuda-11.8/bin:${PATH}' >> ${HOME}/.bashrc
- インストールできたことの確認のため,CUDA ツールキットのバージョンを確認
端末で,次のコマンドを実行する.
cat /usr/local/cuda-11.8/version.json
NVIDIA cuDNN のインストール
Ubuntu 22.04, Ubuntu 20.04 の場合
- パッケージ名の確認
apt-cache search cudnn
- いま確認したパッケージ名を指定して,NVIDIA cuDNN のインストール
sudo apt -y update sudo apt -y install libcudnn8 libcudnn8-dev
- インストールされたパッケージの確認
dpkg -l | grep cudnn
Ubuntu 18.04 の場合
NVIDIA 機械学習パッケージレポジトリからダウンロードして,インストールするという手順を説明する.
NVIDIA 機械学習パッケージレポジトリの URL: https://developer.download.nvidia.com/compute/machine-learning/repos/
- NVIDIA 機械学習パッケージレポジトリで,ファイル名を確認
NVIDIA 機械学習パッケージレポジトリの URL: https://developer.download.nvidia.com/compute/machine-learning/repos/
Ubuntu 18.04 の場合は,https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/ で確認.
スクロールして「nvidia-machine-learning-repo ・・・」を探す
- NVIDIA 機械学習パッケージレポジトリを,Ubuntu システムに追加
端末で,次のように操作する. このとき,確認したファイル名を指定すること.
cd /tmp wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb sudo dpkg -i nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/7fa2af80.pub sudo apt -y update
- パッケージ名の確認
apt-cache search cudnn
- いま確認したパッケージ名を指定して,NVIDIA cuDNN のインストール
sudo apt -y update sudo apt -y install libcudnn8 libcudnn8-dev
- インストールされたパッケージの確認
dpkg -l | grep cuda
nvcc の動作確認
nvccの動作確認のため, https://devblogs.nvidia.com/easy-introduction-cuda-c-and-c/に記載のソースコードを使用.
- まず,エディタを開く(ここではエディタとして,「nano」を使っている).
nano hello.cu
- その後,ファイルを編集し,ファイルを保存.
ファイル hello.cu ができる.
- ビルドと実行.
「nvcc hello.cu」で a.out というファイルができる. 「Max error: 0.000000」と表示されればOK.
del a.exe nvcc hello.cu
./a.out
Python3 開発用ファイル,pip, setuptools, venv のインストール,Python 開発環境,Python コンソール(Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, spyder)のインストール(Ubuntu 上)
Python のインストールは行わない(Ubuntu のシステム Python を用いる.)
Python, pip, Python 開発環境,Python コンソールのコマンドでの起動のまとめ.
Ubuntu のシステム Python を用いるとき, python, pip, Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, Spyder は,次のコマンドで起動できる.
- python3 (Ubuntu のシステム Python)
- sudo pip3 (pip 3)
- jupyter qtconsole (Jupyter Qt Console)
- jupyter notebook (Jupyter ノートブック (Jupyter Notebook))
- jupyter lab (Jupyter Lab)
- jupyter nteract (Nteract)
- spyder (spyder)
Python3 開発用ファイル,pip, setuptools, venv のインストール
Python3 開発用ファイル,pip, setuptools, venv のインストールのために,端末で,次のコマンドを実行する.
sudo apt -y update
sudo apt -y install python-is-python3 python3-dev python-dev-is-python3 python3-pip python3-setuptools python3-venv build-essential
6.2 Python 開発環境(JupyterLab, spyder, nteract)
- Python3 開発用ファイル,pip, setuptools, venv, Python 開発環境,Python コンソール(Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, spyder)のインストール
端末で,次のコマンドを実行する.
sudo apt -y update sudo apt -y install python-is-python3 python3-dev python-dev-is-python3 python3-pip python3-setuptools python3-venv build-essential sudo pip3 uninstall -y ptyprocess sniffio terminado tornado jupyterlab jupyter jupyter-console jupytext nteract_on_jupyter spyder sudo apt -y install jupyter jupyter-qtconsole spyder3 sudo apt -y install python3-ptyprocess python3-sniffio python3-terminado python3-tornado sudo pip3 install -U jupyterlab jupyter jupyter-console jupytext nteract_on_jupyter
- Ubuntu システムの python3 のバージョンの確認
python3 --version
- Jupyter Qt Console の起動チェック
まず,numpy, matplotlib のインストールのため, 端末で,次のコマンドを実行する.
sudo apt -y update sudo apt -y install python3-numpy python3-matplotlib
端末で,次のコマンドを実行する. Jupyter Qt Console が開けば OK.
jupyter qtconsole
- 確認のため,Jupyter Qt Console で,次の Python プログラムを実行してみる.
次のプログラムは,NumPy と Matplotlib を使用して,0から6までの範囲のsin関数のグラフを描画する.warnings モジュールを使用して Matplotlib の警告表示を抑制し,Matplotlib では,デフォルトのスタイルを使用する.
import numpy as np %matplotlib inline import matplotlib.pyplot as plt import warnings warnings.filterwarnings('ignore') # Suppress Matplotlib warnings x = np.linspace(0, 6, 100) plt.style.use('default') plt.plot(x, np.sin(x))
- nteract の起動チェック
端末で,次のコマンドを実行する. ntetact が開けば OK.
jupyter nteract
- 確認のため,nteract で,次の Python プログラムを実行してみる.
そのために「Start a new notebook」の下の「Python」をクリック,次のプログラムを入れ実行.
次のプログラムは,NumPy と Matplotlib を使用して,0から6までの範囲のsin関数のグラフを描画する.warnings モジュールを使用して Matplotlib の警告表示を抑制し,Matplotlib では,デフォルトのスタイルを使用する.
import numpy as np %matplotlib inline import matplotlib.pyplot as plt import warnings warnings.filterwarnings('ignore') # Suppress Matplotlib warnings x = np.linspace(0, 6, 100) plt.style.use('default') plt.plot(x, np.sin(x))
- Juypter Notebook で,保存のときに,.py ファイルと .ipyrb ファイルが保存されるように設定.(この設定を行わないときは .ipyrb ファイルのみが保存される)
- 次のコマンドで,設定ファイルを生成
jupyter notebook --generate-config
- jupyter notebook を起動し,Edit, Edit Notbook Manager を選ぶ.次のように設定する.
"jupytext": {"formats": "ipynb,py"}
- 次のコマンドで,設定ファイルを生成
numpy, scikit-learn のインストール
インストールするには, 端末で,次のコマンドを実行する.
sudo apt -y update
sudo apt -y install python3-numpy python3-sklearn
numpy の動作確認のためPython プログラムの実行
Ubuntu では, Python プログラムを動かすために, 「python3」コマンドを使う.
Python プログラムを動かすために, python3のコマンドを使う. Python 開発環境(Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, Spyder, PyCharm, PyScripterなど)も便利である. Python 開発環境の説明: 別ページ »にまとめ
python3
import numpy as np
print(np.sin(0))
exit()

Python の数値演算等の性能確認
Python プログラムの実行
Ubuntu では, Python プログラムを動かすために, 「python3」コマンドを使う.
Python プログラムを動かすために, python3のコマンドを使う. Python 開発環境(Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, Spyder, PyCharm, PyScripterなど)も便利である. Python 開発環境の説明: 別ページ »にまとめ
次のプログラムは,NumPy と scikit-learn を使用して,行列計算とデータ分析を行う.
- 2000x2000 の乱数行列 X と Y を生成し、それらの行列積を計算する.
- scikit-learn の PCA を使用して,X の主成分分析を行い,2次元に次元削減する.
- NumPy の svd 関数を使用して、X の特異値分解を行う.
- scikit-learn の KMeans を使用して,X に対して10クラスタのk-means クラスタリングを行う.
各操作の実行時間を測定し,結果を出力するプログラムである.
import time
import numpy
import numpy.linalg
import sklearn.decomposition
import sklearn.cluster
X = numpy.random.rand(2000, 2000)
Y = numpy.random.rand(2000, 2000)
# 行列の積
a = time.time(); Z = numpy.dot(X, Y); print(time.time() - a)
# 主成分分析
pca = sklearn.decomposition.PCA(n_components = 2)
a = time.time(); pca.fit(X); X_pca = pca.transform(X); print(time.time() - a)
# SVD
a = time.time(); U, S, V = numpy.linalg.svd(X); print(time.time() - a)
# k-means
a = time.time();
kmeans_model = sklearn.cluster.KMeans(n_clusters=10, random_state=10).fit(X)
labels = kmeans_model.labels_
print(time.time() - a)
実行結果の例
- 行列の積: 0.07 秒
- 主成分分析: 0.11 秒
- SVD: 2.46 秒
- k-Means クラスタリング: 1.48 秒

TensorFlow 2.11,Keras,MatplotLib, Python 用 opencv-python のインストール(Ubuntu 上)
設定の要点
環境変数 TF_FORCE_GPU_ALLOW_GROWTH の設定: true
TensorFlow 2.11,Keras,MatplotLib, Python 用 opencv-python のインストール
- 端末を開く
- パッケージのアンインストール操作
トラブルの可能性を減らすために,次の操作でアンインストールを行っておく.
sudo apt -y remove python3-keras sudo pip3 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 の前提パッケージのインストール
端末で,次のコマンドを実行する.
sudo pip3 uninstall -y six wheel astunparse tensorflow-estimator numpy keras-preprocessing absl-py wrapt gast flatbuffers grpcio opt-einsum protobuf termcolor typing-extensions google-pasta h5py tensorboard-plugin-wit markdown werkzeug requests-oauthlib rsa cachetools google-auth google-auth-oauthlib tensorboard tensorflow sudo apt -y install python3-six python3-wheel python3-numpy python3-grpcio python3-protobuf python3-termcolor python3-typing-extensions python3-h5py python3-markdown python3-werkzeug python3-requests-oauthlib python3-rsa python3-cachetools python3-google-auth
- TensorFlow, numpy, pillow, pydot, matplotlib, keras, opencv-python のインストール
インストールするには, 端末で,次のコマンドを実行する.
sudo apt -y update sudo apt -y install python3-numpy python3-pil python3-pydot python3-matplotlib sudo apt -y install libopencv-dev libopencv-core-dev python3-opencv libopencv-contrib-dev opencv-data sudo pip3 install -U tensorflow tf-models-official tf_slim tensorflow_datasets tensorflow-hub keras keras-tuner keras-visualizer sudo pip3 install git+https://github.com/tensorflow/docs sudo pip3 install git+https://github.com/tensorflow/examples.git sudo pip3 install git+https://www.github.com/keras-team/keras-contrib.git
- TensorFlow のバージョン確認
バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある.
python3 -c "import tensorflow as tf; print( tf.__version__ )"
- このあと、TensorFlow からGPU が認識できているかの確認
端末で,次のコマンドを実行する.
python3 -c "from tensorflow.python.client import device_lib; print(device_lib.list_local_devices())"
実行結果の中に,次のように「device_type: "GPU"」があれば,GPUが認識できている.エラーメッセージが出ていないことを確認しておくこと.
- 環境変数 TF_FORCE_GPU_ALLOW_GROWTH の設定
環境変数の名前 TF_FORCE_GPU_ALLOW_GROWTH 値 true
端末で,次のコマンドを実行する.
export TF_FORCE_GPU_ALLOW_GROWTH=true echo 'export TF_FORCE_GPU_ALLOW_GROWTH=true' >> ${HOME}/.bashrc
TensorFlow, Keras, VGG 16, InceptionV3, Imagenet による画像分類を試してみる
- 前準備として h5py, pillow のインストール
sudo apt -y update sudo apt -y install python3-h5py python3-pillow
- 画像の準備
10.png のようなファイル名で保存しておく
- Python プログラムの実行
cd <画像を置いたディレクトリ> python3
- VGG 16, Imagenet による学習済みの重みデータによる画像分類を試してみる
次のプログラムをコピー&ペースト
Kerasのサイトで公開されているものを少し書き換えて使用。
「'10.png'」のところは,実際に使用する画像ファイル名に書き換えること.
Python プログラムの実行
Ubuntu では, Python プログラムを動かすために, 「python3」コマンドを使う.
Python プログラムを動かすために, python3のコマンドを使う. Python 開発環境(Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, Spyder, PyCharm, PyScripterなど)も便利である. Python 開発環境の説明: 別ページ »にまとめ
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)
python3 の終了は「exit()」
- InceptionV3, Imagenet による学習済みの重みデータによる画像分類を試してみる
次のプログラムをコピー&ペースト
Kerasのサイトで公開されているものを少し書き換えて使用。
「'10.png'」のところは,実際に使用する画像ファイル名に書き換えること.
Python プログラムの実行
Ubuntu では, Python プログラムを動かすために, 「python3」コマンドを使う.
Python プログラムを動かすために, python3のコマンドを使う. Python 開発環境(Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, Spyder, PyCharm, PyScripterなど)も便利である. Python 開発環境の説明: 別ページ »にまとめ
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]))
python3 の終了は「exit()」
TensorFlow のプログラム例
TensorFlow がインストールできたかを確認したい.
Python プログラムの実行
- Windows では python (Python ランチャーは py)
- Ubuntu では python3
Python 開発環境(Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, Spyder, PyCharm, PyScripterなど)も便利である.
Python のまとめ: 別ページ »にまとめ
python
- 次の Python プログラムを実行してみる.
結果として 「b'Hello, TensorFlow!'」のように表示されるので確認する.
import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') print(hello)
- 今度は,次の 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 )
- 今度は,次の Python プログラムを実行する
結果として 「[[ 12.]]」のように表示されるので確認する.
import tensorflow as tf matrix1 = tf.constant([[3., 3.]]) matrix2 = tf.constant([[2.],[2.]]) print( tf.matmul(matrix1, matrix2) )