はじめに
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で色んなモデルを実装していきましょう。
以上です。