その他
記事内に商品プロモーションを含む場合があります

Apple Silicon MacでDockerを使ったPytorch環境を構築|設定ファイルを公開

Aru

Apple Silicon(M1/M2/M3/…)MacでDockerを使ったPyTorch環境を構築する方法を解説します。私が使っている設定ファイルも公開しますので、環境構築に役立ててください。

docker-compseでJupyter notebook環境を立ち上げる

Apple SiliconでJupyter notebookを動かすためのdockerイメージを作成しました。

以下は、私が利用しているイメージの作成手順になります。

docker上からは、いまのところmps(apple siliconのGPU)にはアクセスできないみたいです。GPUを使いたい場合には、miniconda環境などを利用することになるかと思います。

PyTorch(Dockerイメージ)にインストールするライブラリ

私の環境でインストールしているライブラリは以下になります。これら以外は、都度notebookからインストールする形式にして、docker imageが小さめになるようにしています。

  • miniforge(python)
  • pytorch(torchvision, torchaudio)
  • numpy
  • pandas
  • matplotlib
  • jupter notebook

これで、約1.65GBのイメージなります。

設定ファイル

設定ファイルは以下の3つになります

  • Dockerfile
    Dockerの設定ファイルです。環境の構築方法が書かれています
  • requirements.txt
    Pythonにインストールするライブラリ一覧です。Dockerfile経由で利用します。必要なライブラリはここに記述しておきます。
  • docker-compose.yaml
    Docker composeの設定ファイルで、docker-composeを使って起動・終了させるために必要となります。

それぞれ、内容は以下の通りです。

Dockerfile

Dockerイメージを作成するための設定ファイルです

FROM condaforge/miniforge3:latest

RUN apt update && \
    apt install -y build-essential


COPY requirements.txt /tmp
RUN pip install -r /tmp/requirements.txt
RUN pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

RUN mkdir /home/work

EXPOSE 8888
CMD ["jupyter", "notebook", \
     "--port=8888", \
     "--ip=0.0.0.0", \
     "--allow-root", \
     "--no-browser", \
     "--NotebookApp.token=''", \
     "--NotebookApp.notebook_dir='/home/work'"]

requirements.txt

torch関連以外でインポートするpythonのライブラリはこちらに記述しました。

numpy
pandas
matplotlib
jupyter

docker-compose.yml

docker-compose.yamlは、必要最低限の記述になります。

version: "3"

services:
  python:
    build : ./
    shm_size: '2gb'
    ports:
      - "8888:8888"
    volumes:
      - "./:/home/work"

使い方

上記のファイルを同じフォルダに格納しておきます。コマンド実行前には、3つのファイルが存在するフォルダにcdコマンドで移動しておきます。

起動

起動はターミナル上から行います。具体的には、以下のコマンドをコマンドラインに入力します。

docker-compose up -d

起動が終了したらWebブラウザで以下のアドレスにアクセルすれば、jupyter notebookが立ち上がります。

localhost:8888

終了

終了は以下のコマンドになります。以下のコマンドをコマンドラインに入力します。

docker-compose down

まとめ

私が使っているPython+PyTorch環境のためのDockerfile、requirements.txt, docker-compose.yamlと、起動・終了方法について解説しました。

Macでdockerを使ってjupyter notebook環境を作ろうと考えている方の参考になれば幸いです。

docker上からはmps(apple siliconのGPU)にはアクセスできないみたいです。mpsを使いたい場合は、直接macos上でコード実行する必要があります。

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT ME
ある/Aru
ある/Aru
IT&機械学習エンジニア/ファイナンシャルプランナー(CFP®)
専門分野は並列処理・画像処理・機械学習・ディープラーニング。プログラミング言語はC, C++, Go, Pythonを中心として色々利用。現在は、Kaggle, 競プロなどをしながら悠々自適に活動中
記事URLをコピーしました