強欲で謙虚なツボツボ

趣味の読書の書の方

【WSL2+Docker+GPU】機械学習のために環境構築を~windows作業編

あらすじ

機械学習が面白そうだからやってみようと思った僕は、本屋の目立つ場所に並んでいたオライリーの「ゼロから作るDeep Learning」を買って写経して喜んでいた。
ところが、コードを実行してみると時間がかかる。どうやら普通にpythonを実行するだけではCPUで処理され、GPUで処理してもらうためにいろいろやる必要があるらしい。

調べるといろんなやり方が出てくる。やり方によってバージョンを合わせたりとか動かなくなったりとかは面倒なので仮想環境でやることにした。

平たく言えば、自分のPCに他人の環境構築済みPCを入れてやろうみたいなノリ。今回はそのための準備、次回は実際に入れてみるという感じ。

 

今回の登場物とそのバージョン

 

流れ

windows作業編:1~3(今回)
仮想環境編  :4~5(次回

  1. windows10 build 20150(以上)をインストール
  2. NVIDIA Drivers for CUDA on WSL
  3. CUDA Toolkitをインストール
  4. Docker Desktop for Windowsをインストール
  5. NGCコンテナを動かす

 

Windows10 build20150(以上)をインストール

WSL2上でCUDAが使用できるのがbuild20150以降なのでそうします。
ただ、これは勝手に更新のお知らせでくるバージョンではなくて開発用のもので、windows insider programに登録してDevチャネルからインストールする必要がある。

windows insider program

自分のMicrosoftアカウントで登録してログインすればいい。

insider.windows.com

設定を開いてインストールする手順があるが、リリースプレビューチャネルしかない。。。Devチャネルはどこ??

windows11の要件を満たしていく

どうやらwindows11の要件を満たさないとリリースプレビューチャネル以外のチャネルをやらせてくれないらしい。

https://46c4ts1tskv22sdav81j9c69-wpengine.netdna-ssl.com/wp-content/uploads/prod/sites/44/2021/06/HardwareChannels6_24-final.png

TPM2.0を有効化

windows11の要件で弾かれてしまう原因の多くはTMP2.0らしい。
これをとりあえず有効にすればよいらしく、BIOS設定の変更から出来るみたい。
早速PCを再起動してF2を押してBIOS設定を開く。
マザーボードはASRock B450 Steel Legend。

f:id:taopo:20210713235921j:plain

Advancec → CPU Configuration

f:id:taopo:20210714000009j:plain

AMD fTPM switch → AMD CPU fTPM

f:id:taopo:20210714000107j:plain

Exit → Save Changes and Exit

windows更新

PCが起動したら設定のwindows insider programを確認すると、Devチャネルが出ているので選ぶ。

f:id:taopo:20210714000428j:plain

f:id:taopo:20210714000436j:plain

 

更新完了

しばらく待って再起動とかしたらネットで見たwindows11の画面がでてきた。
バージョンもちゃんと最新のになっている。

f:id:taopo:20210714005454j:plain

 

NVIDIA Drivers for CUDA on WSLをインストール

簡単に言えば、WSLはwindows上でlinuxを使えるようにしてくれて、そのうえでCUDAを使えるようにするという感じでいいのか?
ダウンロードするのに会員登録がいるみたい。

developer.nvidia.com

f:id:taopo:20210714095550j:plain

インストール完了

 

WSL2をインストール

略さずに言うと「Windows Subsystem for Linux」。windowsでもlinuxを使えるようにしてくれるみたい。
OS ビルド 20262 以降だとコマンド一つで簡単だ。
windows power shellの管理者モードで実行。できたら再起動。

f:id:taopo:20210714102930j:plain

デフォルトのubuntuをインストール

OS ビルド 20262 以前を含めた手順詳細。↓

docs.microsoft.com

f:id:taopo:20210714104316j:plain

再起動するとubuntuが起動してuserを作成する

 

次回

とりあえず、windows上で作業するところまでが完了した。
次はDockerを使って仮想環境をつくって動かそう。

 

taopo.hatenablog.com