Featured image of post 組み立てたGPU搭載Linuxマシンで機械学習の環境構築を行ってみました

組み立てたGPU搭載Linuxマシンで機械学習の環境構築を行ってみました

GPU搭載のLinuxマシンを組み立てましたが、これに機械学習の環境を構築してみました。

今回は以下のものをUbuntu 20.04.5 LTSにインストールしています。

CUDAのインストール

CUDAはDownloadのページにあった最新版のCUDA 12をインストールしてしまいました。インストールは公式ページの通りに行いました。

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/12.0.0/local_installers/cuda-repo-ubuntu2004-12-0-local_12.0.0-525.60.13-1_amd64.deb $ sudo dpkg -i cuda-repo-ubuntu2004-12-0-local_12.0.0-525.60.13-1_amd64.deb $ sudo cp /var/cuda-repo-ubuntu2004-12-0-local/cuda-*-keyring.gpg /usr/share/keyrings/ $ sudo apt-get update $ sudo apt-get -y install cuda 実はCUDA 12は最近リリースされたばかりで、本来なら実績のあるCUDA 11系にすべきでしたがあとの祭りです。

CUDAの動作確認

せっかくなのでCUDA 12でサンプルプログラムを動かしてみます。

githubからクローンしたサンプルプログラムをコンパイルします。

1
$ cd ~$ git clone https://github.com/NVIDIA/cuda-samples.git$ cd cuda-samples$ make(延々と続きます)Finished building CUDA samples$ 

Finished Building CUDA samplesと表示されればコンパイル完了です。

生成された実行形式のバイナリはbinの中にあります。ここではoceanFFTを実行してみます。

1
$ bin/x86_64/linux/release/oceanFFTNOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled.[CUDA FFT Ocean Simulation]Left mouse button          - rotateMiddle mouse button        - panRight mouse button         - zoom'w' key                    - toggle wireframe[CUDA FFT Ocean Simulation] GPU Device 0: "Ampere" with compute capability 8.6

Jetson Nanoでみたことがあるシミュレーション結果が表示されました。CUDA 12自体は動いているようです。

CUDA_FFT_Ocean_Simulation_1.png

この状態でnvidia-smiコマンドを入力するとoceanFFTのプロセスでGPUが使われていることが確認できました。

nvidia-smi-oceanfft_1.png

PyTorchのインストール

PyTorchのドキュメントには最近リリースされたCUDA 12については情報がなかったのですが、ダメもとでインストールしてみました。

こちらも公式サイトのStart Locallyの通りにしています。CUDA 12は無いのでCUDA 11.7のインストール手順に従いました。

pytorch_install_1.png

インストールのコマンドは以下の通りです。

1
$ pip3 install torch torchvision torchaudio

インストールが終わったので動作確認です。

1
$ python3Python 3.8.10 (default, Nov 14 2022, 12:59:47) [GCC 9.4.0] on linuxType "help", "copyright", "credits" or "license" for more information.>>> import torch>>> x = torch.rand(5, 3)>>> print(x)tensor([[0.3478, 0.8823, 0.9931],        [0.4515, 0.8548, 0.2911],        [0.4186, 0.1085, 0.1599],        [0.2597, 0.7190, 0.8341],        [0.7016, 0.6272, 0.5869]])>>>

なにやら動いているようです。

肝心なGPUは動いているのでしょうか。以下のコマンドで確認します。

1
>>> import torch>>> torch.cuda.is_available()True

一応動いているように見えます。

JupyterLabのインストール

使い勝手がよくなるようにJupyterLabをインストールします。うまくいけばGoogle Colaboと同様の環境ができあがります。

1
$ pip install jupyterlab

以下のコマンドで起動します。

1
$ jupyter lab

うまく起動できたようなので、PytorchのチュートリアルのQuickStartにしたがって動作確認をすすめました。

jupyterLab_quickstart_1.png

なんとデータセットの読み込みからモデルの構築、最適化、モデルの保存まで一通り問題なく動いてしまいました。

jupyterLab_quickstart_2.png

まとめ

今のところ、Google Colaboと同等に動いているように見えます。とはいえCUDA 12はPyTorchで正式サポートとはなっていないので何が起こるかわかりません。あくまでも実験的な記録として扱ってください。まだ機械学習は初心者なのでこの環境でチュートリアルを進めてみたいと思います。

Licensed under CC BY-SA 4.0
Hugo で構築されています。
テーマ StackJimmy によって設計されています。