簡単!機械学習用の環境構築(Docker, GPU)

GPUが利用できる機械学習環境をDockerを使って構築していきます。

導入

メリット

  • GPUの設定とかが楽(あまり細かいことを考えなくて済む)
  • 環境が壊れてもすぐに再構築できる
  • 新しいPCにもすぐに環境を構築できる

環境

私の環境は以下の通りです。

  • Windows11
  • CUDA version 12.0
  • Nvidia ドライバー 527.56

環境の調べ方

検索窓に「cmd」とうち、コマンドプロンプトを起動させる
次に、「nvidia-smi」と打つことでCUDAバージョンとNvidiaドライバーのバージョンを確認できる

Dockerのインストール

こちらのDocker-desktopのインストールを参照してください。

Dockerのイメージを取得

以下のURLでNVIDIAが出しているイメージを取得できます。自分のPCのCUDA VersionとNVIDIA Driverのバージョンとコンテナイメージの「System Requirements」を見比べて、条件を満たすイメージを選んでください。

Frameworks Support Matrix - NVIDIA Docs
This support matrix is for NVIDIA® optimized frameworks. The matrix provides a single view into the supported software and specific versions that come packaged ...

次に、以下のURLを参考にして、Dockerコンテナを作成してください。

PyTorch | NVIDIA NGC
PyTorch is a GPU accelerated tensor computational framework. Functionality can be extended with common Python libraries such as NumPy and SciPy. Automatic diffe...

私の実行例を示しておきます

docker run --name test --gpus all -it -p 8888:8888 --ipc=host -d -v C:\Users\xxx\Documents:/workspace nvcr.io/nvidia/pytorch:23.02-py3
  • docker run: コンテナ作成コマンド
  • name: コンテナに名前を付ける
  • it: ホストでシェルが使えるようになる
  • p: 8888:8888 ホストポート:コンテナポート
  • shm-size: RAMの共有メモリの大きさ 8G or 16Gくらいが多そう
  • ipc=host: とすればホストと同様に共有メモリを使えるそう
  • rm: があるとコンテナ停止時に自動でコンテナが削除される
  • d: コンテナをバックグラウンドで実行し、コンテナIDを表示
  • v: local_dir:container_dir ローカルディレクトリとコンテナディレクトリをつなげる

VSCodeからアクセス

VSCodeをインストールしてください。その後、Dockerの拡張機能もインストールしてください。

VSCodeの左側に上記のマークが出てくると思うので、クリックしてください。

すると、このようにDockerのコンテナが表示されていることが分かると思います。

ここでもし、「Failed:」と表示されていたらDocker-Desktopの起動を行ってください。するとDockerが立ち上がって、VSCodeにコンテナが反映されると思います。

コンテナが表示されたら、スタートさせたいコンテナ部分で右クリックし、「start」ボタンを押してください。さらに、スタートしているコンテナ部分で再度右クリックすると「Visual Stadio Codeをアタッチする」の表示が出てくるので、そこをクリックしてください。

すると、コンテナの部分にアクセスできているかと思います。
パスを聞かれる際は、もともと入力されているものを消し、「workspace」と入力することで作業ディレクトリを開くことができます。

コメント

タイトルとURLをコピーしました