【No.L002】LinuxでのDeep Learning環境構築:GPUの確認からPyTorchのインストールまで完全ガイド

はじめに

DeepLearningを自宅で実装しようとしたとき、ちょっと専門的なことをやろうとするとLinux環境を整えないとWebに落ちているサンプルコードが使えないということを知り(例えばPEFTなど)、Windows環境でLinuxを作る手法をメモしておく。私の環境はWindows11でGPUはNVIDIA Geforce GTX 1660 Ti、Ubuntuというソフトを使ってLinux環境を整えた。

★関連リンク
業務で活用できるAI技集のまとめはこちら

GPUについて

そもそも手元のPCにどんな種類のGPUは入っているかを確認する方法は以下の通り。

やり方①:タスクマネージャから確認
タスクマネージャを開く。その後、パフォーマンスタブを押してGPUを選択。右上に記載あるのがGPUの種類となる。(GPUの項目がなければGPUなしの環境となる)

やり方②:dxdiagで確認
Windowsのタスクバーにある検索で「dxdiag」を探して実行。ディスプレイタブにGPUの情報の記載あり。
やり方③:nvidia-smiコマンドで確認
NVIDIAのGPUに対して、コマンドプロンプト(検索でcmd)を開き「nvidia-smi」を入力。GPU情報が返ってくる。

GPUの確認ができたら、以下のページで自分のGPUの能力を確認。(ここは読み飛ばして頂いてOK)
現行世代と前世代の GeForce シリーズのグラフィックス カードの比較 | NVIDIA
自分のGPUのCudaコア数、メモリに注目。この値がGPUのスペックを表す数値となる。ちなみに私のGPU(NVIDIA Geforce GTX 1660 Ti)はCudaコア数:1,408、メモリ:6GBとなる。高性能なものはCudaコア数が10,000超、メモリも20GB超になってくるので、残念ながら私のものは非力だということが判明…。

GPUを認識させる

GPUは内蔵されていても、実はそのままではDeepLearningに使うことができないので、環境整備のためのプロセスを記載。

①GPUの最新ドライバをインストールする
以下のURLから最新のドライバをインストール実施。迷うところはダウンロードタイプかと思うが今回はStudioドライバーを選択。ちなみにStudioはクリエイティブ系アプリ用、Game Ready用ドライバは文字通りゲーム用らしいのだが、恐らくはどちらでも動作はすると思われる。
公式ドライバー | NVIDIA

②Visual Studioのインストールする
以下URLからインストーラをダウンロード。
Visual Studio Tools のダウンロード – Windows、Mac、Linux 用の無料インストール (microsoft.com)
ダウンロードが完了したら「C++によるデスクトップ環境」にチェックを入れてインストール実施。

③Pytorchをインストールする
下記リンクからインストール用のpipコマンドを確認し、Pytorchをインストール。お勧めはStable(安定)Versionのほう。Compute Platformは11.8を選んだが、この数値は後で使うので必ず控えておく。
PyTorch

④CUDA Toolkitをインストールする
下記リンクからCUDA Toolkitをダウンロード(要無料アカウント登録)。③で控えたCUDAのVersionに合致するものを選んでインストール。
CUDA Toolkit Archive | NVIDIA Developer

⑤cuDNNをインストールする
下記リンクからcuDNNをダウンロード(要無料アカウント登録)。④同様、③で控えたCUDAのVersionに合致するものを選んでzipファイルを解凍し任意のディレクトリにコピー。この後にPathを通すので、一時的なディレクトリ(Desktop,Downloadなど)は控えたほうが無難。
cuDNN Archive | NVIDIA Developer

⑥Pathを通す
Windowsのタスクバーにある検索で「システム環境の変数」を探して実行。環境変数タブでシステム環境変数のリスト内にある「Path」を選択し編集を実行。以下の5つのパスが通っているかを確認する。(上4つは自動で入るので、追加必要のあるものは恐らく一番下のみ)

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\extras\CUPTI\lib64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include
⑤で指定したディレクトリ\bin

⑦動作確認
以下のコマンドを実施。Trueで返されれば無事完了。

import torch
print(torch.cuda.is_available())

ちなみに仮想環境を新たに作成する場合はライブラリが初期化されるので、③のPytorchインストールだけ実施してください。

参考URL:windosのpytorchでgpuを使えるようにする設定を一から(2023年3月版) #環境構築 – Qiita

Linux環境を構築する

GPUがあるPC前提で記載。(CPUのみであれば①②のみでOK)

①Ubuntuをインストールする
Windowsのタスクバーにある検索で「Windows Terminal」を探して「管理者として実行」(アプリのアイコン上で右クリックすると管理者権限で実行可能)。以下コマンドを入力してインストール。

wsl --install -d Ubuntu-20.04

②Ubuntuを起動する
Windowsのタスクバーにある検索で「Ubuntu」を探すと、「Ubuntu 20.04.6 LTS」というアプリが見つかるので実行(環境・時期によって少しファイル名は変わっている可能性あり)。ユーザ名とパスワードを設定する。

③GPUをセットアップ
こちらの記事が参考になったので記載。
Windows 11 で CUDA on WSL2 環境を構築する | AsTechLog (astherier.com)
ただし私の環境ではシェルスクリプトはエラーが出てしまったので以下の手動セットアップを実施。以下にコマンドを記載。

export DISTRO=ubuntu2004
export APT_INSTALL=cuda-toolkit-11-4

sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/${DISTRO}/x86_64/7fa2af80.pub
echo "deb http://developer.download.nvidia.com/compute/cuda/repos/${DISTRO}/x86_64 /" | sudo tee /etc/apt/sources.list.d/cuda.list
wget https://developer.download.nvidia.com/compute/cuda/repos/${DISTRO}/x86_64/cuda-${DISTRO}.pin
sudo mv cuda-${DISTRO}.pin /etc/apt/preferences.d/cuda-repository-pin-600

以下を実行したときに公開キーのERRORが出た場合はエラーメッセージに書かれている公開キーをコピーして「sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 6A030B21BA07F4FB」のコマンドを入れると改善できる。

sudo apt update && sudo apt -y upgrade
sudo apt install -y ${APT_INSTALL}
cat << 'EOS' >> ~/.profile

#Added by install-cuda-on-wsl.sh
#Ref: https://astherier.com/blog/2021/07/windows11-cuda-on-wsl2-setup/
export PATH=/usr/local/cuda-11.4/bin${PATH:+:${PATH}}
#Added: end

EOS

コメント