DeepForge のインストールと起動(Docker を使用)(Ubuntu 上)
DeepForge は,深層学習のモデルとパイプラインをグラフィカルに設計・実行するための開発環境である。WebGME を基盤とし,Web ブラウザから操作する。サーバ,MongoDB,計算リソース,ストレージから構成される。
公式のソースコードリポジトリは https://github.com/deepforge-dev/deepforge である。
かつての公式ドメイン deepforge.org は,現在は DeepForge と無関係な内容になっている。参照先としては GitHub リポジトリ,およびドキュメントサイト https://deepforge.readthedocs.io/ を使用する。
このページでは,Docker イメージ deepforge/kitchen-sink と MongoDB を Docker Compose で起動する手順を説明する。この方法では,Node.js や MongoDB をホスト側に直接インストールする必要はない。
前準備
Ubuntu のシステム更新
Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する。これは、パッケージ情報を最新の状態に保ち、インストール済みのパッケージをセキュリティアップデートやバグ修正を含めて更新するためである。
# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを包括的に更新 (依存関係も考慮)
sudo apt full-upgrade
# カーネル更新等で実際に再起動が必要な場合のみ実行を推奨
# sudo shutdown -r now
Docker Engine, Docker Compose のインストール
Docker Engine,Docker Compose のインストールと使用法: 別ページ »で説明
インストール後,端末で,次のコマンドを実行して動作を確認する。バージョン番号が表示されれば使用できる状態である。
docker --version
docker compose version
docker run --rm hello-world
docker コマンドの実行で権限エラーになる場合は,端末で,次のコマンドを実行して自身のユーザを docker グループに追加し,いったんログアウトして再ログインする。
sudo usermod -aG docker $USER
OpenSSL のインストール
DeepForge のサーバは,ユーザ認証用トークンの署名と検証に RSA 鍵ペアを使用する。鍵ペアの生成に OpenSSL を使用する。インストールするには,端末で,次のコマンドを実行する。
sudo apt update
sudo apt -y install openssl
DeepForge の起動
- トークン用鍵ペアの生成
Docker Compose の設定ファイルは,環境変数 TOKEN_KEYS_DIR が指すディレクトリ内の
private_keyとpublic_keyをコンテナに渡す。端末で,次のコマンドを実行する。mkdir -p $HOME/.deepforge/token_keys cd $HOME/.deepforge/token_keys openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out private_key openssl rsa -in private_key -pubout -out public_key chmod 600 private_key - docker-compose.yml のダウンロード
公式リポジトリで配布されている設定ファイルを取得する。端末で,次のコマンドを実行する。
mkdir -p $HOME/deepforge cd $HOME/deepforge curl -O https://raw.githubusercontent.com/deepforge-dev/deepforge/master/docker/docker-compose.yml cat docker-compose.ymlこの設定ファイルは,MongoDB のコンテナと DeepForge サーバのコンテナ(イメージ
deepforge/kitchen-sink:latest)を定義する。データベースの内容は$HOME/.deepforge/data,アップロードされたデータは$HOME/.deepforge/blobに保存される。サーバはポート 8888(Web インタフェース)と 8889 を使用する。 - 環境変数の設定と起動
端末で,次のコマンドを実行する。
cd $HOME/deepforge export TOKEN_KEYS_DIR=$HOME/.deepforge/token_keys docker compose up初回はイメージのダウンロードが行われるため時間がかかる。
docker composeは Docker Compose V2 のコマンドである。旧来のdocker-composeコマンドは,現在は Docker には同梱されない。 - Web インタフェースへの接続
Web ブラウザで http://localhost:8888 を開く。DeepForge が対応を明示しているブラウザは Google Chrome である。
- 終了
起動した端末で Ctrl+C を押す。コンテナを削除するには,端末で,次のコマンドを実行する。データは
$HOME/.deepforgeに残る。cd $HOME/deepforge docker compose down
ユーザ認証の有効化
既定の設定では,ユーザ認証は無効であり,接続した者は誰でも全てのプロジェクトを操作できる。ネットワークに公開して運用する場合は,環境変数 DEEPFORGE_AUTHENTICATION を true に設定し,管理者ユーザを作成する。
docker-compose.yml の server の environment に次の行を追加する。
- "DEEPFORGE_AUTHENTICATION=true"
設定を反映して起動した後,管理者ユーザを作成するには,端末で,次のコマンドを実行する。<ユーザ名>,<メールアドレス>,<パスワード> は自身のものに置き換える。
cd $HOME/deepforge
docker compose exec server ./bin/deepforge-users useradd -c -s <ユーザ名> <メールアドレス> <パスワード>
関連リンク
- DeepForge ソースコードリポジトリ: https://github.com/deepforge-dev/deepforge
- DeepForge ドキュメント: https://deepforge.readthedocs.io/
- DeepForge のサンプルプロジェクト: https://github.com/deepforge-dev/examples