Tensorflow の環境(参考「深層学習 Ubuntu 18.04 に Tensorflow をインストール」「深層学習 Ubuntu 18.04 に Tensorflow GPU をインストール」)が古くなったので、Ubuntuの 20.04 をインストールして Tensorflow 2.5.0 をインストールしました。
以前は keras はオリジナルをインポートしていましたが、今回は Tensorflow に同梱されているkeras を使うことにします。(インストール作業は 2021/06/24に行いましたので、ここの情報はその時点のものです。)
<<< ハードウェア >>>
ハード:マウスコンピューター LM-iH700B2N
CPU: Intel® Core™ i3-8100 CPU @ 3.60GHz × 4
メモリ: 12 GByte
本体電源: 500W
グラフィックボード:NVIDIA GEFORCE GTX1070 メモリ 8GB
ストレージ:SSD 480GB
(1) Ubuntu 20.04 のインストール
Ubuntu のサイトから Ubuntu 20.04.1 LTS をダウンロード、DVDに焼いてインストール。
https://www.ubuntulinux.jp/download/ja-remix
「深層学習 Ubuntu 18.04 に Tensorflow をインストール」とほぼ同様です。
(但し、グラフィックボード NVIDIAドライバの設定は (3)で行ってます。)
(2) Anaconda + Python のインストール
Anacondaのサイトからダウンロード
https://www.anaconda.com/products/individual#download
ページ下の方の Anaconda Installers で Linux 64-Bit (x86) Installer (544 MB) を選択。
Anaconda3-2021.05-Linux-x86_64.sh をダウンロード
右クリック「端末を開く」でターミナルを開いて実行。
~$ chmod +x Anaconda3-2021.05-Linux-x86_64.sh
~$ ./Anaconda3-2021.05-Linux-x86_64.sh
パス設定
~$ source .bashrc
確認
~$ python -V
Python 3.8.8
~$ conda -V
conda 4.10.1
(3) NVIDIAドライバのインストール
「深層学習 Ubuntu 18.04 に Tensorflow GPU をインストール」と同様に、セキュアブートを外して、ドライバ更新を行う。
~$ sudo apt-get remove nvidia-*
~$ sudo apt-get remove cuda-*
~$ sudo add-apt-repository ppa:graphics-drivers/ppa
~$ sudo apt update
~$ sudo apt install nvidia-driver-470
再起動
確認
~$ nvidia-smi
Sat Jul 24 14:42:22 2021
+—————————————————————————–+
| NVIDIA-SMI 470.42.01 Driver Version: 470.42.01 CUDA Version: 11.4 |
|——————————-+———————-+———————-+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce … On | 00000000:01:00.0 On | N/A |
| 27% 40C P8 10W / 151W | 143MiB / 8111MiB | 0% Default |
| | | N/A |
+——————————-+———————-+———————-+
+—————————————————————————–+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1103 G /usr/lib/xorg/Xorg 23MiB |
| 0 N/A N/A 1638 G /usr/lib/xorg/Xorg 32MiB |
| 0 N/A N/A 1844 G /usr/bin/gnome-shell 75MiB |
+—————————————————————————–+
(4) CUDAインストール
CUDA Toolkit 11.4 をダウンロード
https://developer.nvidia.com/cuda-toolkit-archive
Lunux , X86_64 , Ubuntu , 20.04 , deb (local) を選択。
「Download Installer for Linux Ubuntu 20.04 x86_64」欄の記述どおりにインストール。
~$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
~$ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
~$ wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda-repo-ubuntu2004-11-4-local_11.4.0-470.42.01-1_amd64.deb
~$ sudo dpkg -i cuda-repo-ubuntu2004-11-4-local_11.4.0-470.42.01-1_amd64.deb
~$ sudo apt-key add /var/cuda-repo-ubuntu2004-11-4-local/7fa2af80.pub
~$ sudo apt-get update
~$ sudo apt-get -y install cuda
途中で、「メディア変更:
‘Ubuntu 20.04.1 _Focal Fossa_ – Release amd64(20200808.1)’
とラベルの付いたディスクをドライブ ‘/cdrom/’ に入れて [Enter] キーを押してください」
とのメッセージが出たので、/cdrom/に Ubuntu 20.04.1 LTS の DVDをマウントして再実行しました。
※/cdrom/にマウントする
~$ sudo mount /dev/dvd /cdrom
パス設定
.bashrc に追加。
export PATH=”/usr/local/cuda-11.4/bin:$PATH”
export LD_LIBRARY_PATH=”/usr/local/cuda/lib64:$LD_LIBRARY_PATH”
~$ source .bashrc
(5) cuCNNのインストール
cuCNNのサイト
https://developer.nvidia.com/rdp/cudnn-download
Instractionのページ
https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html
アカウントのない方は、アカウトを作成してログインします。
Download cuDNN v8.2.2 (July 6th, 2021), for CUDA 11.4 を選択。
以下をダウンロード
cuDNN Runtime Library for Ubuntu20.04 x86_64 (Deb)
cuDNN Developer Library for Ubuntu20.04 x86_64 (Deb)
cuDNN Code Samples and User Guide for Ubuntu20.04 x86_64 (Deb)
インストール
~$ sudo dpkg -i libcudnn8_8.2.2.26-1+cuda11.4_amd64.deb
~$ sudo dpkg -i libcudnn8-dev_8.2.2.26-1+cuda11.4_amd64.deb
~$ sudo dpkg -i libcudnn8-samples_8.2.2.26-1+cuda11.4_amd64.deb
(7) tensorflow-gpuのインストール
~$ pip install –upgrade tensorflow-gpu
tensorflowとkerasの確認
~$ python
>>> import tensorflow as tf
>>> import tensorflow.keras as ke
>>>
>>> print(tf.__version__)
2.5.0
>>> print(ke.__version__)
2.5.0
>>>
GPUの確認
>>> from tensorflow.python.client import device_lib
>>> device_lib.list_local_devices()
2021-07-24 15:22:46.645889: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1418] Created TensorFlow device (/device:GPU:0 with 7280 MB memory) -> physical GPU (device: 0, name: NVIDIA GeForce GTX 1070, pci bus id: 0000:01:00.0, compute capability: 6.1)
[name: “/device:CPU:0”
device_type: “CPU”
memory_limit: 268435456
locality {
}
incarnation: 9413427757515000154
, name: “/device:GPU:0”
device_type: “GPU”
memory_limit: 7634616320
locality {
bus_id: 1
links {
}
}
incarnation: 11483819985304158075
physical_device_desc: “device: 0, name: NVIDIA GeForce GTX 1070, pci bus id: 0000:01:00.0, compute capability: 6.1”
(8) 仮想環境と Jupyter notebook 起動シェル
仮想環境の作成を作成して Jupyter notebook 起動シェルを作りました。
~$ conda create -n tf
仮想環境で Jupyter notebook を起動する shell
cd /home/(username)/anaconda3/envs/tf/
conda activate tf
jupyter notebook
(9)動作確認
「深層学習 Keras(TensorFlow用)のインストール、(2)学習とテスト (MNISTを試す)」のソースでテスト。
kerasはtensorflowのものを使うのでインポートを変更しました。
テストプログラム:(テキストファイル、文字コード UTF-8)
keras_mnist_test.py
———————–
実行結果(一部抜粋)
540/540 [==============================] – 1s 1ms/step – loss: 0.2568 – accuracy: 0.9283 – val_loss: 0.1641 – val_accuracy: 0.9577
Epoch 20/20
540/540 [==============================] – 1s 1ms/step – loss: 0.2489 – accuracy: 0.9294 – val_loss: 0.1605 – val_accuracy: 0.9587
[7 2 1 … 4 5 6]
[7 2 1 … 4 5 6]
0.9474
———————–
テストした範囲では互換問題もなく使えてます。
(S.Onda 2021/8/18)