LoginSignup
1
4

windows11 x WSL x Docker x Python x GPU x VScode (欲張り~)

Last updated at Posted at 2024-03-25

概要

タイトルにある通り、
Windows11でWSLをセットアップして
WSL内でDockerをプルって
DockerをVScodeに認識させて
VScodeでPythonを動かしGPUも認識させるという欲張りセットです

前提

GPUセットアップは完了済
(Windows x Python では認識できている状態)

環境

Windows11
wsl2
docker

手順

まずはWSLをセットアップします

この記事がすごくわかりやすいです
(ちなみにこちらの記事を最後まで行うとDockerの環境構築まで終わります)

※WindowsStoreと紹介されている部分は
 MicroSoftStoreと同じなので迷われないようにお気をつけ下さい

WSLからWindowsのディレクトリを見る

WSLが問題無く起動できたはいいけど
Windowsにあるフォルダをどうやって見るんだろうか...

色んなやり方がありそうでした。
以下の記事がとても参考になります

今回はWSL(ubuntu)から見ると「/mnt」にwindowsのフォルダ構成がマウントされていた為、
/mntからこちゃこちゃフォルダやらファイルを触ることにします(楽そうだし...。)


Dockerをセットアップ

WSLのセットアップを先ほどの記事を参考にした方は、
Dockerのセットアップまで終わっているはずです。

あとでPythonも動かすので
Pythonインストール済みのイメージをプルします
image.png

問題無くプルできました
image.png


DockerからGPU認識

docker run のオプションで --gpus all って書いとけば認識するはずだが...
※-v でwindowsのフォルダ達がある/mntをDockerの/mntにもマウントさせます
image.png

image.png

いけてそうですね!!


Docker環境をVScodeで開く

やり方はいくつかあると思いますが
ubuntu触っているときに簡単だと思った方法で試してみます

VScodeを開きます

拡張機能「Dev Containers」をインストールします

左のテトリスみたいなやつクリックして
image.png

dev と打てば一番上に出てきました
image.png

インストールしたら左下の青い領域をクリック
image.png

なんか出てきたけど大丈夫そう
image.png

「了解」を押したら「実行中のコンテナにアタッチ」
image.png

起動しているDockerを選択
image.png

※もし2つ以上起動していて選択に迷ったら、WSLをもう1つ新規で開き以下を実行

docker ps -a

NAMESやらCREATEDの情報から選択します
image.png

私は「今さっき開いたからCREATEDは数秒前でそれの名前はこれか~」とかで判断してます

アタッチするコンテナを選んだら新規でVScodeが立ち上がります

image.png

無事コンテナを認識してます

docker run ~~の際に「-v /mnt:/mnt」を入れていたら問題無くwindowsにあったフォルダを選択できます
枠内に打ち込んだり、ドロップダウンから選択して任意のフォルダを開きます

image.png


Pythonを動かす

Pythonファイルを開くと拡張機能が無いと言われたので入れておきます

image.png

インストールを押せば問題無く完了しました

これでPythonが動かせるようになりました
※DockerイメージにPythonが無い場合はインストールが必要になります


GPU認識確認

今回はPytorchで確認します(cuda11.7を入れているので以下でインストール)
※DockerにインストールしたいのでDockerを開いているターミナルかVScodeのターミナルで行う

pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117

※参考サイト
違うバージョンのcudaを入れている方は以下のリンクから探してください

python起動して以下を実行

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

実行と出力の結果は以下です
image.png

Trueと出力されたので認識されてますね!

これでやりたいことは全部できたはず。

完了!!

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4