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

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=deb_local

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)