【WSL2+Docker+GPU】機械学習のために環境構築を~windows作業編
あらすじ
機械学習が面白そうだからやってみようと思った僕は、本屋の目立つ場所に並んでいたオライリーの「ゼロから作るDeep Learning」を買って写経して喜んでいた。
ところが、コードを実行してみると時間がかかる。どうやら普通にpythonを実行するだけではCPUで処理され、GPUで処理してもらうためにいろいろやる必要があるらしい。
調べるといろんなやり方が出てくる。やり方によってバージョンを合わせたりとか動かなくなったりとかは面倒なので仮想環境でやることにした。
平たく言えば、自分のPCに他人の環境構築済みPCを入れてやろうみたいなノリ。今回はそのための準備、次回は実際に入れてみるという感じ。
今回の登場物とそのバージョン
流れ
windows作業編:1~3(今回)
仮想環境編 :4~5(次回)
- windows10 build 20150(以上)をインストール
- NVIDIA Drivers for CUDA on WSL
- CUDA Toolkitをインストール
- Docker Desktop for Windowsをインストール
- NGCコンテナを動かす
Windows10 build20150(以上)をインストール
WSL2上でCUDAが使用できるのがbuild20150以降なのでそうします。
ただ、これは勝手に更新のお知らせでくるバージョンではなくて開発用のもので、windows insider programに登録してDevチャネルからインストールする必要がある。
windows insider program
自分のMicrosoftアカウントで登録してログインすればいい。
設定を開いてインストールする手順があるが、リリースプレビューチャネルしかない。。。Devチャネルはどこ??
windows11の要件を満たしていく
どうやらwindows11の要件を満たさないとリリースプレビューチャネル以外のチャネルをやらせてくれないらしい。
TPM2.0を有効化
windows11の要件で弾かれてしまう原因の多くはTMP2.0らしい。
これをとりあえず有効にすればよいらしく、BIOS設定の変更から出来るみたい。
早速PCを再起動してF2を押してBIOS設定を開く。
マザーボードはASRock B450 Steel Legend。
windows更新
PCが起動したら設定のwindows insider programを確認すると、Devチャネルが出ているので選ぶ。
更新完了
しばらく待って再起動とかしたらネットで見たwindows11の画面がでてきた。
バージョンもちゃんと最新のになっている。
NVIDIA Drivers for CUDA on WSLをインストール
簡単に言えば、WSLはwindows上でlinuxを使えるようにしてくれて、そのうえでCUDAを使えるようにするという感じでいいのか?
ダウンロードするのに会員登録がいるみたい。
WSL2をインストール
略さずに言うと「Windows Subsystem for Linux」。windowsでもlinuxを使えるようにしてくれるみたい。
OS ビルド 20262 以降だとコマンド一つで簡単だ。
windows power shellの管理者モードで実行。できたら再起動。
OS ビルド 20262 以前を含めた手順詳細。↓
次回
とりあえず、windows上で作業するところまでが完了した。
次はDockerを使って仮想環境をつくって動かそう。