機械学習基盤の構築(Ubuntu20.04+Tensorflow+Docker+GPU)

 なりゆき

大学で行っている研究にて、機械学習を用いた処理を行っているのですが、学生の持っているマシン(大半がm3なMacBook)では遅すぎていつまで経っても終わらないという話が出ました。そこで、大学に機械学習のリソースをくれないかという話をしたところ、GPU搭載のゲーミングノートPCを貸していただけたので、これを使うことにしました。
(本当はGPU乗ったサーバのVM貸してほしかった.....電気代怖い....)

PCの詳細はこんな感じ
  • CPU : Intel Core i7 9750H(6C12T 2.6GHz up to 4.5GHz)
  • RAM : DDR4-2400 SODIMM 32GB
  • GPU : NVIDIA RTX2070 Mobile
  • OS : Windows10Home → Ubuntu 20.04 LTS



OSの載せ替え

まず、既存のWindowsをバックアップします。
SSDを載せ替えても良かったのですが、予算の関係で今回はディスクのイメージを作成しました。
詳しい内容は前回の記事を御覧ください。

Ubuntuのインストール

Ubuntuをインストールします。
といっても、難しいことはなく、USBブートし画面の指示に従いインストールするだけです。



ドライバのインストール

ドライバ類のインストールをします。
今回は、GPUのドライバのみ手動インストールしました。
バージョンに関しては、TensoeflowのGPUサポートと照らし合わせ、
CUDA 11.4, NVIDIA-SMI 470.42.01をインストールしました。


ココで1箇所ハマったことがあります。
UbuntuをSecureBootを利用する形でセットアップしたため、ドライバインストール時に見慣れない「Enrolling MOK Key」の設定が必要になります。
ドライバをセットアップし、Reboot後、見慣れない青背景の画面が出たため、何も考えずにContinueBootした所、ドライバを読み込みませんでした。気をつけましょう。

その時参考にしたサイト: UbuntuでNVIDIAドライバが動かない

Docker等の構築

ココまで来てしまえば、後は必要なソフトウェアをインストールするだけです。
Tensorflowの場合ですと、公式にDockerを利用するものと、pipでのセットアップに関するものがまとめられています。
これを参考に構築します。
(需要があれば、別途記事にします。)

また、DockerでNVIDIA GPUを利用する際にはNVIDIA Container Toolkit(nvidia-docker2)のインストールが必要になります。
こちらを参考にさせていただきました。
公式のドキュメントはこの辺りですね。

docker composeを利用する場合、v1とv2でdocker-compose.ymlのGPUを指定する方法が異なりますのでご注意ください。個人的にはv2で構築することをおすすめします。
詳しくは、ドキュメントをご参照ください。

また、この辺りは、バージョンによって変化が生じやすい部分かと思われますので、環境(OSやGPU)に応じた設定を都度ドキュメント等で確認することをおすすめします。


おまけ

せっかくゲーミングPCだからゲームしないとね?
というわけで、マイクラをプレイしておきました。


僕がよくする配信+ゲームではGPUフルロード。フレームレートも落ちますね....144Hzモニタの意味....




というか、キー配列無茶苦茶すぎん?


無駄にBIOSからキーボードの光り方変えられるw


いろいろと癖が強いマシンだった。







ばいち

コメント