Sign inSign up

yasiroto/anima-lora

By yasiroto

Updated 16 days ago

Anima / SDXL LoRA training image for RunPod. Web GUI + filebrowser + sd-scripts. Use At own risk.

Image
0

90

yasiroto/anima-lora repository overview

RunPod GPU Pod 向けの Anima / SDXL LoRA 学習イメージ。 Web GUI (Anima :8000 / SDXL :8001) + filebrowser (:8090) + sd-scripts CLI / CUDA 12.8 + PyTorch cu128。

RunPod の GPU Pod で LoRA 学習 をすぐ始めるためのイメージです。 ブラウザだけで「画像アップロード → 学習 → 成果物の回収」まで完結します。 RunPod 専用ではなく、手元の GPU マシン (docker run --gpus all) でもそのまま動きます。

同梱物

同梱物種類既定ポート
Anima-LoRA-FactoryWeb GUI8000
SDXL-LoRA-FactoryWeb GUI8001
filebrowserファイルマネージャ (アップロード用)8090
sd-scripts (kohya-ss)学習バックエンド / CLI-
  • ベース: nvidia/cuda:12.8.1-cudnn-devel-ubuntu22.04 + Python 3.10 + PyTorch (cu128)
  • 2 つの Factory は同一の sd-scripts / requirements なので venv と sd-scripts は 1 つを共有 (/opt/venv, /opt/sd-scripts)
  • WD14 Tagger 用に onnxruntime-gpu、Anima の既定オプティマイザ用に came-pytorch を同梱
  • SSH (openssh-server) と runpodctl も同梱
  • Factory 本体のソースには手を入れていません (GitHub のリリース zip をそのまま展開)
  • イメージサイズは 20GB 前後 (CUDA devel ベース + torch)

filebrowser を同梱しているのは、Factory の Web UI 自体にアップロード機能が無いためです (本家は「同じ PC 上のフォルダを参照ダイアログで選ぶ」Windows 前提の設計)。

Pod の設定

設定項目
Container Image<docker-user>/anima-lora:latest
Container Disk40GB 以上
Volume Disk50〜100GB
Volume Mount Path/workspace
Expose HTTP Ports8000,8001,8090
Expose TCP Ports22
Container Start Command空欄のままで可
GPUbf16 学習のため Ampere 以降 (RTX 4090 / A5000 / A6000 / L40S / A100 等)

SSH 公開鍵は RunPod の Settings → SSH Public Keys に登録しておくと、起動時に PUBLIC_KEY として注入され、authorized_keys に自動登録されます。

使い方 (RunPod)

Pod を起動すると 3 つの Web UI が自動的に立ち上がります。

Anima       : https://<POD_ID>-8000.proxy.runpod.net
SDXL        : https://<POD_ID>-8001.proxy.runpod.net
filebrowser : https://<POD_ID>-8090.proxy.runpod.net
  1. モデルを置く — SSH で入り fetch-models anima (約 5.6GB を /workspace/models へ)。 FETCH_ANIMA_MODELS=true を設定しておけば起動時にバックグラウンドで取得します。 SDXL は fetch-models sdxl <モデルのURL>

  2. 学習画像を送る — filebrowser (8090) にログインして dataset/ にドラッグ&ドロップ。 画像が多いときは rsync -avP -e "ssh -p <PORT>" ./dataset/<名前> root@<POD_IP>:/workspace/dataset/。 filebrowser のパスワードは初回起動時に自動生成され、起動ログに表示されます (FILEBROWSER_PASSWORD で指定も可。lora-factory passwd で再発行)。

  3. 学習する — GUI で パスは入力欄に直接書きます (「参照」ボタンはヘッドレスのため無効)。

    入力欄
    画像フォルダ / Dataset Path/workspace/dataset/<データセット名>
    Base Model (Anima)/workspace/models/anima-base-v1.0.safetensors
    VAE (Anima)/workspace/models/qwen_image_vae.safetensors
    Qwen3 (Anima)/workspace/models/qwen_3_06b_base.safetensors
    出力先 / Output Dir/workspace/output
  4. 回収するrsync -avP -e "ssh -p <PORT>" root@<POD_IP>:/workspace/output/ ./output/

GUI の「学習後にシャットダウン」は Pod の停止 (runpodctl stop pod) に読み替えられます。 動作させるには Pod の環境変数に RUNPOD_API_KEY が必要です (未設定なら何もしません)。

Pod 内の管理コマンド:

lora-factory status              # 状態と URL
lora-factory start|stop|restart [anima|sdxl|files|both|all|none]
lora-factory logs anima          # サーバのログを追尾
lora-factory passwd [新PW]       # filebrowser のパスワード変更

環境変数

変数既定効果
FACTORY_AUTOSTARTall起動する Web UI。all / both (GUI 2 つ) / anima / sdxl / files / none。カンマ区切り可
ANIMA_PORT / SDXL_PORT / FILEBROWSER_PORT8000 / 8001 / 8090各 Web UI のポート
FACTORY_HOST0.0.0.0待ち受けアドレス。127.0.0.1 で SSH ポートフォワード経由のみに制限
FILEBROWSER_USER / FILEBROWSER_PASSWORDadmin / 自動生成filebrowser のログイン情報
FILEBROWSER_ROOT/workspacefilebrowser が公開するディレクトリ
FETCH_ANIMA_MODELSfalsetrue で Anima のモデルを起動時に取得
RUNPOD_SHUTDOWN_ACTIONstop学習後の自動シャットダウン動作。stop / terminate / none
RUNPOD_API_KEY未設定自動シャットダウンに必要
SKIP_SSHDfalsetrue で sshd を起動しない (ローカル利用時に便利)
FIX_ENV_PATHSfalse既存 .envSD_SCRIPTS_DIR / VENV_DIR/opt 配下へ自動修正
FORCE_SYNC_SCRIPTSfalseイメージ同梱の学習スクリプトでボリューム側を上書き (.env は保持)

ローカル (RunPod 以外) で使う

docker run -d --name lora --gpus all \
  -p 8000:8000 -p 8001:8001 -p 8090:8090 \
  -v /path/to/workspace:/workspace \
  -e SKIP_SSHD=true \
  <docker-user>/anima-lora:latest

http://localhost:8000 (Anima) / :8001 (SDXL) / :8090 (filebrowser) を開きます。 RunPod 固有の処理は対応する環境変数が無ければ自動的に無効になります (自動シャットダウンはログを残すだけで PC は落ちません)。 シェルが必要なときは docker exec -it lora bash -l

ディレクトリ構成

RunPod はボリュームを /workspace にマウントするため、イメージ側の中身は /opt に置いてあります

/opt/venv          venv (PyTorch cu128)
/opt/sd-scripts    sd-scripts (Anima 版へのシンボリックリンク)
/opt/lora-factory  Anima / SDXL Factory 本体

/workspace/        ← 永続ボリューム (起動時に自動作成)
├── dataset/       学習画像
├── models/        ベースモデル、models/train に CLI パイプライン
├── output/        LoRA の出力先
├── logs/          GUI とモデル取得のログ
├── lora-factory/  GUI の設定・学習履歴 (Pod を作り直しても残る)
└── .cache/        HuggingFace / torch キャッシュ

注意点

  • GUI には認証がありません。 プロキシ URL を知っている人は誰でもアクセスできます。 気になる場合は FACTORY_HOST=127.0.0.1 にして SSH ポートフォワード経由で使ってください。
  • GUI の 「学習エンジンの自動取得 / Setup Training Engine」ボタンは押さないでください。 Windows 向けに PyTorch を入れ直す処理で、cu128 の環境が壊れます (sd-scripts は同梱済み)。
  • 2 つの GUI は別プロセスです。同時に学習を開始すると GPU メモリを取り合います。 片方ずつ使ってください (lora-factory stop sdxl などで停止できます)。
  • 「参照 (Browse)」ボタンはヘッドレス環境のため無効です。パスは入力欄に直接書いてください。
  • filebrowser は既定で /workspace 全体を公開します。絞るなら FILEBROWSER_ROOT、 不要なら FACTORY_AUTOSTART=both
  • Pod を Terminate すると Volume Disk も消えます (Stop なら残ります)。
  • /workspace にイメージ側のファイルは置けません (ボリュームで隠れます)。追加ツールは /opt へ。
  • xformers / flash-attention は同梱していません。

同梱している各ソフトウェアのライセンスはそれぞれの配布元に従います。

Tag summary

Content type

Image

Digest

sha256:1b4be395d

Size

9.9 GB

Last updated

16 days ago

docker pull yasiroto/anima-lora