はじめに
Ubuntuを20.04にして、NVIDIAのドライバーをインストールするとCUDA12.0がインストールされます(2023年2月20日)。
問題なくインストールされnvidia-smiを正常に起動されます。
しかし、TensorflowがGPUを認識しません。
そこで、今回CUDAを11.4にバージョンダウンして利用する方法を投稿します。
1)Ubuntu20.04インストール後 ソフトウェアアップデート
$ sudo apt upgrade
$ sudo reboot
2)CUDA&Driverインストール
https://developer.nvidia.com/cuda-toolkit-archive
- OS:Linux
- Architecture:x86_64
- Distribution:Ubuntu
- Version:20.04
- Installer Type:dev(local)
注意:cudaのインストール時に明示的に11.4をcuda-11-4と指定すること
$ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ wget https://developer.download.nvidia.com/compute/cuda/11.4.4/local_installers/cuda-repo-ubuntu2004-11-4-local_11.4.4-470.82.01-1_amd64.deb
$ sudo dpkg -i cuda-repo-ubuntu2004-11-4-local_11.4.4-470.82.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-11-4
$ sudo reboot
確認1
$ nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.82.01 Driver Version: 470.82.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 |
| 38% 33C P0 28W / 120W | 188MiB / 6069MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1084 G /usr/lib/xorg/Xorg 35MiB |
| 0 N/A N/A 1569 G /usr/lib/xorg/Xorg 58MiB |
| 0 N/A N/A 1698 G /usr/bin/gnome-shell 84MiB |
+-----------------------------------------------------------------------------+
確認2
/usr/localにcudaの関連ディレクトリがあるか確認する
$ sudo find /usr/local | grep cuda
/usr/local/cuda-11.4/compute-sanitizer
・・・
3)CUDAパス設定
CUDA のライブラリにパスを通します
$ gedit .bashrc
次の3行を .bashrc ファイルの最後に追加
export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"
確認
$ nvcc -V
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Mon_Oct_11_21:27:02_PDT_2021
Cuda compilation tools, release 11.4, V11.4.152
Build cuda_11.4.r11.4/compiler.30521435_0
4)cuDNNのインストール
https://developer.nvidia.com/rdp/cudnn-download
ログイン(またはJoin nowにて新規登録)
cuDNN Downloadのダウンロードページへ
Archived cuDNN Releases
Local Installer for Ubuntu20.04 x86_64 (Deb)
ダウンロードしたファイル名:cudnn-local-repo-ubuntu2004-8.6.0.163_1.0-1_amd64.deb
ファイルをhomeディレクトリに移動し、以下を実行
$ sudo dpkg -i cudnn-local-repo-ubuntu2004-8.6.0.163_1.0-1_amd64.deb
$ sudo apt update
$ sudo apt -y install libcudnn8 libcudnn8-dev libcudnn8-samples
確認
$ dpkg -l | grep cudnn
ii libcudnn8 8.6.0.163-1+cuda11.8 amd64 cuDNN runtime libraries
ii libcudnn8-dev 8.6.0.163-1+cuda11.8 amd64 cuDNN development libraries and headers
ii libcudnn8-samples 8.6.0.163-1+cuda11.8 amd64 cuDNN samples
5)Anacondaのインストール
Python 3.9をインストールするため、昨年のファイルを使用
https://www.anaconda.com/distribution/
ダウントード:Anaconda3-2023.03-Linux-x86_64.sh
$ bash Anaconda3-2023.03-Linux-x86_64.sh
確認
$ source .bashrc
conda 4.12.0
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
6)TnesorFlow と Kerasのインストール
Tensorflowの2.8.2をインストール。
次を実行することでGPU対応のTensorflowとKerasがインストールされる
$ pip install tensorflow==2.8.2
GPU確認
python起動後
>>> device_lib.list_local_devices()
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2023-03-26 14:06:15.612622: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:936] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2023-03-26 14:06:15.706883: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:936] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2023-03-26 14:06:15.708182: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:936] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2023-03-26 14:06:16.083901: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:936] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2023-03-26 14:06:16.084200: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:936] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2023-03-26 14:06:16.084453: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:936] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2023-03-26 14:06:16.084689: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1525] Created device /device:GPU:0 with 5239 MB memory: -> device: 0, name: NVIDIA GeForce GTX 1060 6GB, pci bus id: 0000:01:00.0, compute capability: 6.1
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 3029067233870127766
xla_global_id: -1
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 5493751808
locality {
bus_id: 1
links {
}
}
incarnation: 7369121378162548002
physical_device_desc: "device: 0, name: NVIDIA GeForce GTX 1060 6GB, pci bus id: 0000:01:00.0, compute capability: 6.1"
xla_global_id: 416903419
]
>>>
7)OpenCVのインストール
$ pip install opencv-python
Downloading opencv_python-4.6.0.66-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (60.9 MB)
|████████████████████████████████| 60.9 MB 10.5 MB/s
Requirement already satisfied: numpy>=1.14.5 in ./anaconda3/lib/python3.9/site-packages (from opencv-python) (1.21.5)
Installing collected packages: opencv-python
Successfully installed opencv-python-4.6.0.66
確認
'4.7.0'
8)Pydicomインストール
$ pip install pydicom
Downloading pydicom-2.3.0-py3-none-any.whl (2.0 MB)
|████████████████████████████████| 2.0 MB 3.1 MB/s
Installing collected packages: pydicom
Successfully installed pydicom-2.3.1
9)DCMTKのインストール
$ sudo apt install dcmtk
確認
$ dcmdjpeg --version
(以下の内容が表示されればOK)
dcmdjpeg: Decode JPEG-compressed DICOM file
Host type: Debian
Character encoding: UTF-8
External libraries used:
- ZLIB, Version 1.2.11
- IJG, Version 6b 27-Mar-1998 (modified)
10)ImageJのインストール
ImageJのページからLinux版をダウンロード
https://imagej.nih.gov/ij/
ダウンロード:ij153-linux64-java8.zip
Homeで展開、起動してアイコンをお気に入りに登録する
GUI画面が小さい場合
Edit/Options/AppearanceのGUI scaleを1.5にしてみる。
11)その他の設定
○メニューに空のドキュメントを追加する
# フォルダーが日本語のままの場合
$ touch ~/テンプレート/空のドキュメント
○エディタ
・行番号の表示
・Tab 4文字空白で設定
・フォントサイズ 16
-----------------------------------
おまけ)Dropboxのインストール
$ cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
起動
$ ~/.dropbox-dist/dropboxd