/ml_container_m1

machine learning container image at M1 Mac

Primary LanguageJupyter Notebook

Machine Learning Container for M1 Max

M1 Mac対応のデータ分析用のコンテナイメージです.
2022/08/01 時点においては、requirements.lockファイルを使用していません.

How to use

  1. コンテナのビルド&起動
# ビルド(初回は結構時間かかります)
$ docker compose build

# jupyterの起動
$ docker compose up -d ml-jupyter
  1. ブラウザからhttp://127.0.0.1:8900/labにアクセス
    passwordの文字列を入力するとjupyterが使えます

Visual Studio Code Remote Development に対応しています

  • .devcontainer/ にremote containerに使用するファイルをまとめています

Install or Update Library

  1. ライブラリのインストール or アップデートを行う
    • インストールする際はdockerコンテナ内でpip3 install等を行う
  2. 後述の手順でrequirements.lock(or Dockerfile)を更新する
  3. ローカル環境でコンテナがビルドできること、jupyter及びインストールしたライブラリが正しく動作することを確認する
$ docker compose build
$ docker compose up -d ml-jupyter

requirements.lock の生成方法

  1. コンテナに入る
# 起動中の場合
$ docker exec -it <コンテナ名またはコンテナID> /bin/bash

# 停止中の場合
$ docker run -it <コンテナ名またはコンテナID> /bin/bash
  1. (ライブラリを追加・アップデートする場合は)pip installなどを行う
$ pip3 install hogehoge
  1. freeze
$ pip3 freeze > requirements.lock

# 出力されていることを確認
$ ls
>> requirements.lock

# shellから抜ける
$ exit
  1. ホストにコピー
    カレントディレクトリにコピーされる
$ docker cp <コンテナID>:/opt/program/working/requirements.lock requirements.lock

ローカルのマウントディレクトリを増やす場合

docker-compose.ymlのvolumesに追記してください

volumes:
    - ホストのマウント元:コンテナ内のマウント先:cached
    - ./working:/opt/program/working:cached