機械学習環境を作る@2025春

未分類

機械学習の勉強を始めるにあたり、機械学習の環境を整えることにした。
awsやgoole colabなどを調べてみたが、自分のPCで構築してみたくなり、購入も考えたが、PCを自作したことなどなく、GPUのスペックなんかもよくわからない。
どうしようか考えていたところ、昔、GPUを一度だけ購入したことがあり、それを利用して環境を構築してみた。古いGPUなのでライブラリ、ドライバ、OSのバージョンの互換性の調整が大変で何度もOSインストールからやりなおした。

作業全体の流れは以下の通り

  • GPUの選定
  • OSの選定
  • GPUドライバインストール
  • CUDAインストール
  • cuDNNインストール
  • pytorchインストール

各スペック、バージョンは以下の通り

GPUgeforce gt710(compute capability 3.5)
OSubuntu20.04
CUDA11.4
cuDNNv8.5.0 (August 8th, 2022), for CUDA 11.x
pytorch1.10.0
torchvision0.11.0
python3.9
python-venv3.9
python-dev3.9

その他に必要なライブラリバージョン

cmake>= 3.18.0
numpy1.24.4
pyyaml
typing-extensions

GPUドライバ

OSからクリーンインストールしていない場合、すでにドライバが入っている可能性があるので削除

$ sudo apt-get --purge remove nvidia-*
$ sudo apt-get --purge remove cuda-*

最適なドライバをインストール

$sudo apt install ubuntu-drivers-common
$ubuntu-drivers devices	#recommendedと表示されたドライバを覚えておく
$sudo apt install nvidia-driver-470 #今回はnvidia-driver-470がrecommendedだった

再起動し、GPU周りの情報を見る。CUDA11.4まで対応している

$nvidia-smi
Tue Apr 15 16:35:21 2025
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.256.02   Driver Version: 470.256.02   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 ...  Off  | 00000000:01:00.0 N/A |                  N/A |
| 40%   35C    P8    N/A /  N/A |     87MiB /   973MiB |     N/A      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

CUDA

https://developer.nvidia.com/cuda-11-4-0-download-archiveにアクセスし、自分のインストール環境情報を入力すると、コマンドが表示されるので、それを入力し、実行

環境変数を追加。パスを通す。

export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"

以下のコマンドでインストール完了確認

$nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Wed_Jun__2_19:15:15_PDT_2021
Cuda compilation tools, release 11.4, V11.4.48
Build cuda_11.4.r11.4/compiler.30033411_0

cuDNN

https://developer.nvidia.com/rdp/cudnn-archiveにアクセスし、「cuDNN v8.5.0 (August 8th, 2022), for CUDA 11.x」をダウンロードし以下のコマンド実行

tar Jxfv cudnn-linux-x86_64-8.5.0.96_cuda11-archive.tar.xz
sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include 
sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

pytorch

バージョン選定、インストールに一番苦労した。試行錯誤した結果、ソースからビルドすることとなった。実際のインストールではやり直しがきくようにvenvを利用した。

pytorchのインストール

$export USE_CUDA=1 USE_CUDNN=1 TORCH_CUDA_ARCH_LIST="3.5"  #gt710のcompute capabilityが3.5
git clone https://github.com/pytorch/pytorch.git -b v1.10.0
cd pytorch
python setup.py develop && python -c "import torch"

torchvisionのインストール

git clone --recursive https://github.com/pytorch/vision.git -b v0.11.0
cd vision
python setup.py install

以上でインストール完了。これにjupyterをインストールして環境構築した。
ただ、GPUがかなり貧弱なので(実際、ちょっと負荷の高いモデルのトレーニングをするとメモリ不足のエラー発生)ある程度慣れてきたらGPUのバージョンアップをしようと思う。

コメント

タイトルとURLをコピーしました