はじめに
Pytorchが使えるJupyter Notebook環境を構築します。
お手軽にPytorch使える環境が欲しいと思ったのと、Dockerfileやymlファイルの内容、オプションとかよく忘れちゃうので備忘のために記事にしました。
※ Dockerはインストールしておいて下さい。
Dockerイメージをつくる
ベースイメージは jupyter/datascience-notebook を使います。
今回はこれに加えてpytorchをインストールします。
pipコマンドは ここ で確認します。
下図のように選択しました。
続いて、Dockerfileからコンテナイメージ作成します。
Dockerfileはこんな感じ
FROM jupyter/datascience-notebook
USER root
RUN pip install torch torchvision
USER jovyan
WORKDIR /home/jovyan
- イメージビルド(Docker build)
docker build -t 好きなイメージ名 .
- コンテナ作成(Docker run)
docker run -p 80:8888 -v ./:/home/jovyan/work イメージ名
- pオプションでポートを指定します。
- ホスト側は空いてるポートを指定する
- -p 「コンテナ側」:「ホスト側」
- vオプションでホスト側のディレクトリをマウントします。
- -v 「ホスト側」:「コンテナ側」
- 「ホスト側」のディレクトリにソースコード置いてください。
docker runを実行したら、http://localhost:8888
でjupyter notebookが表示されるようになります。
ただ、このままだと Docker run
の度に色んなオプションを指定する必要がありめんどくさいので、docker-compose
でパラメータもまとめて実行出来るようにする。
docker-composeで実行
docker-compose.yml
をこんな感じで作成して、
version: "3"
services:
jupyterlab:
build:
context: .
user: root
ports:
- "80:8888"
volumes:
- "./:/home/jovyan/work"
environment:
GRANT_SUDO: "yes"
command: start-notebook.sh --NotebookApp.token=""
docker-compose up --build
を実行でコンテナの作成・起動をします。
-
build
でDockerfileを使ってコンテナ作成できます。- 今回は
context: .
なのでカレントディレクトリにあるDockerfile
を使ってます
- 今回は
-
ports
でポートを指定します。- 「コンテナ側」:「ホスト側」
-
volumes
でマウントするディレクトリを指定します- 「ホスト側」:「コンテナ側」
-
command
でコンテナ起動時のコマンドを指定します- jupyter notebookの起動に
start-notebook.sh
を使います - オプション
--NotebookApp.token=""
をつけるとアクセス時のTokenの確認がなくなります
- jupyter notebookの起動に
これで、http://localhost:8888
にアクセスするとjupyter notebookが使えるようになると思います。
後はpytorchで色んなモデルを実装していきましょう。
以上です。