Manjaro LinuxとDockerでTensorflow+CUDA環境を構築(前編)
どうもfkdm(@fkdm88)です。
遅ればせながら、機械学習を勉強しようと思い立ちました。本当はメインPCで環境構築したかったのですが、 AMD製GPUのためCUDAが使えず断念。Manjaro LinuxがインストールされたサブのノートPCで環境構築することにした(ROCMというのもあるらしいが今回は割愛)
Manjaroなので、他のArch系Linux OSでも同様の手順で行けると思います。
先にまとめ
出たとこ勝負で始めてしまった本記事ですが、結果的に筆者環境ではJupyter立ち上げならず。ということでまとめです。
- まず先にGPUのCUDA capabilityを確認すべし!
- capabilityが古いと最新TFは使用できない。Jupyterもpython3も。
- CUDAのインストールはDockerを活用することでかなり楽。
- 機械学習やるなら新しめのGPUを用意しよう・・・。
CUDA環境構築 〜前編〜
書きながら、時間がなくなったので2部制にします。前半はCUDA、後半はDockerでTensorflow&動作検証!で書きます。
搭載GPUとKernel versionを確認
まずは搭載されているIntel GPUとKernel versionを確認します。
# GPUの確認
$ lspci -k | grep -A 2 -E "(VGA|3D)"
04:00.0 3D controller: NVIDIA Corporation GK107M [GeForce GT 750M] (rev a1)
Subsystem: Dell Device 05fa
Kernel driver in use: nvidia
# Kernel versionの確認
$ uname -r
5.9.16-1-MANJARO
GPUはGK107M(GeForce GT 750M)、Kernel versionは5.9.xであることがわかりました。
GPUのコードネームを確認してドライバをインストール
次に、Nouveau wikiのコードネームのページからGK107Mを探して、コードネームを調べます。結果、筆者環境ではNVE7
であることがわかります。
以下にArch wikiの内容を表にしてます。NVIDIAサポート切れだったらゲームオーバーです。
Codename | Command |
---|---|
NVEx | yay -Sy nvidia |
NVCx, NVDx | yay -Sy nvidia-390xx |
NV5x, NV8x, NV9x, NVAx | yay -Sy nvidia-340xx |
それ以前 | NVIDIAサポート切れ。残念! |
対応するドライバのインストールが完了したら、一度PC再起動します。再起動後、nvidia関連のko fileがloadされていることが確認できるはずです。
$ lsmod | grep nvidia
nvidia_drm 61440 2
nvidia_modeset 1220608 2 nvidia_drm
nvidia 28286976 72 nvidia_modeset
drm_kms_helper 266240 2 nvidia_drm,i915
drm 585728 15 drm_kms_helper,nvidia_drm,i915
CUDAのインストール
ここは簡単です。Arch系のいいところですね・・。サイズが多いので時間は要しますが以下コマンドでさくっと完了です。
$ yay -Sy cuda cudnn
それでは今回はここまで。次回Dockerを使ったTensorflow環境の構築について説明します。
-
前の記事
Chrome OSのブータブルUSBを作成する 2020.12.20
-
次の記事
Manjaro LinuxとDockerでTensorflow+CUDA+Jupyter環境を構築(後編) 2021.01.17