端到端流水线:从 Booru 抓图 → 筛选 → 打标 → 正则集 → 训练 → 出图测试,全流程在一个浏览器面板里推进。专为 Anima(Cosmos DiT 二次元特调)训练优化。

runtime/anima_train.py) 与 Studio 后端解耦,支持独立 CLI 调用或由 Studio 作为 subprocess 拉起runtime/training/README.md 与 ADR 0003)流水线 8 步 + 工具页:
通用面板:
下面这些不是 Studio 自动装的,得先准备好:
python 调到)npm)git clone https://github.com/WalkingMeatAxolotl/AnimaLoraStudio
cd AnimaLoraStudio
# Windows
studio.bat
# Linux / macOS
./studio.sh
首次运行会自动:建 venv/ → 按 GPU 驱动检测装对应 CUDA torch(cu118 至 cu130)→ 装 requirements.txt → 按 GPU 检测装 onnxruntime → 构建前端 → 起后端 → 自动开浏览器到 http://127.0.0.1:8765/studio/。
如果驱动检测失败导致装了 CPU 版 torch,可在 Settings → 系统 → PyTorch 一键重装 CUDA 版;也可通过
studio.bat --torch cu128(或studio.sh --torch cu128)显式指定。
其它启动方式(等价于上面,便于直接 python 调):
python -m studio # 构建前端(如缺)+ 起后端
python -m studio dev # 前后端 watch:vite 5173 + uvicorn 8765 --reload
python -m studio build # 仅构建前端
python -m studio test # pytest + vitest
打开后先去 设置(Settings)→ Models,点按钮一键下载训练所需的全部权重 + tokenizer。
下载源默认走 huggingface.co 官方。国内用户如果直连慢,可以去 Settings → 训练 → HuggingFace → endpoint 切到「自定义 URL」粘贴自建反代,或者切到 Settings → 训练 → 下载源 → ModelScope(魔搭社区直连,需 pip install modelscope)。CLI 用户用 python tools/download_models.py --endpoint URL 或 --modelscope 覆盖。
下载内容(默认落到 ./models/):
| 项 | 来源 | 路径 | 大小 |
|---|---|---|---|
| Anima 主模型(latest = 1.0) | circlestone-labs/Anima | models/diffusion_models/ | ~4 GB |
| Anima VAE | 同上 | models/vae/ | ~250 MB |
| Qwen3-0.6B-Base 文本编码器 | Qwen/Qwen3-0.6B-Base | models/text_encoders/ | ~1.2 GB |
| T5 tokenizer(仅 3 文件,不下权重) | google/t5-v1_1-xxl | models/t5_tokenizer/ | <1 MB |
也可以走 CLI(与 UI 共用同一份代码):
python tools/download_models.py # 全量下(HF 官方源)
python tools/download_models.py --endpoint URL # 走自建反代
python tools/download_models.py --modelscope # 走魔搭社区
python tools/download_models.py --variant preview3-base
python tools/download_models.py --skip-main --skip-vae
python tools/download_models.py --output /data/anima
WD14 打标模型不在这里——首次进 ③ 打标时自动从 HF 拉到 models/wd14/。
打开 http://127.0.0.1:8765/studio/:
训完后侧栏 测试:跑单图 / XY 矩阵 / 推理 daemon 评测 LoRA,prompt 可从训练集直接拉,不用切 ComfyUI 反复测。
输出的 LoRA 权重已经是 lora_unet_* 格式,直接拖进 ComfyUI 即可,不需要任何转换。
AnimaLoraStudio/
├── runtime/ # Anima 运行时核心(独立进程;Studio 通过 subprocess 拉起,也可单独 CLI 跑)
│ ├── anima_train.py # 训练入口
│ ├── training/ # 训练栈子包:context / phases / loop / sample_runner
│ │ ├── adapters/ # plugin: lokr / loha / lora
│ │ ├── optimizers/ # plugin: adamw / prodigy / prodigy_plus_schedulefree
│ │ ├── schedulers/ # plugin: cosine / cosine_with_restart / none
│ │ ├── inference_samplers/ # plugin: er_sde 等
│ │ └── phases/ # bootstrap / models / dataset / optimizer / resume / finalize
│ ├── anima_generate.py # 出图:单图 / XY 矩阵
│ ├── anima_daemon.py # 推理 daemon:常驻 GPU 加载 LoRA 和底模
│ ├── anima_reg_ai.py # AI 先验生成:无 LoRA 直接用底模出 reg 集
│ └── train_monitor.py # 训练状态写入器
├── studio/ # AnimaStudio Web 工作台(FastAPI + React)
│ ├── server.py # 守护进程入口
│ ├── services/ # 业务逻辑(uploads / 打标 / 正则集 / inference_core /
│ │ # torch_setup / xformers_setup / flash_attention_setup 等)
│ ├── workers/ # 后台任务子进程(download / tag / reg_build)
│ └── web/ # React + Vite 前端
├── tools/ # 用户 CLI / 启动期 setup helper
│ ├── download_models.py # 一键下载主模型 / VAE / Qwen3 / T5 tokenizer
│ ├── install_flash_attn.py # flash_attn wheel 一键装
│ ├── select_torch_index.py # GPU-aware torch CUDA index 选择(启动期自动调)
│ ├── check_requirements_changed.py # venv stale 检测(启动期自动调)
│ └── validate_local_models.py # 验证本地 Qwen / T5 是否可离线加载
├── docs/ # 三块:user-guide / architecture / adr(见 docs/README.md)
├── utils/ # anima_train 共享 utility(model loader / optimizer / lycoris_adapter / ...)
└── models/ # 模型代码 + tokenizer 预置文件 + 大权重落点(混合)
├── anima_modeling*.py # tracked:Anima Cosmos transformer 的 PyTorch 实现
├── cosmos_predict2_modeling.py
├── wan/vae2_1.py # tracked:Wan2.1 VAE 实现
├── text_encoders/ # tracked: Qwen tokenizer 小文件 + 用户下载的 model.safetensors
├── t5_tokenizer/ # tracked: T5 tokenizer 文件(无权重)
├── diffusion_models/ # 用户下载的 Anima 主模型(gitignored)
├── vae/ # 用户下载的 VAE 权重(gitignored)
├── wd14/ # WD14 ONNX 模型(HF 自动下载,gitignored)
└── taeflux/ # TAEFlux 中间步预览权重(gitignored)
运行时数据(gitignored):
studio_data/ — SQLite + 用户 preset + 任务日志 + per-task monitor state + samplesmodels/diffusion_models/, models/vae/, models/wd14/ — 大权重文件studio_data/projects/{id}-{slug}/versions/{label}/output/ — 训练产物 LoRAtools/ 下的 CLI 与 Studio UI 共用同一份 services/ 代码,方便无头环境用:
| 脚本 | 用途 |
|---|---|
tools/download_models.py | 一键下载主模型 / VAE / Qwen3 / T5 tokenizer。多版本可选,支持 --no-mirror / --endpoint URL |
tools/install_flash_attn.py | 按 torch ABI 自动选 flash_attn wheel 装上 |
tools/select_torch_index.py | 探测 GPU + 推荐 PyTorch CUDA index URL(cu130 / cu128 / ...) |
tools/validate_local_models.py | 验证本地 Qwen / T5 是否可离线加载 |
runtime/ 下的运行时脚本(anima_train / anima_generate / anima_daemon / anima_reg_ai)也可以脱离 Studio 直接 CLI 跑——详见各脚本顶部 docstring。
文档总入口:docs/README.md。分三块:
用户向(docs/user-guide/)
开发者向
协作公约
历史决策(docs/adr/)
版本变更
当前版本 0.9.0。完整变更历史见 CHANGELOG.md。Studio 内 Settings → 系统 → 版本卡片可一键升级到最新版本。
仓库整体以 GPL-3.0 发布(包含 / 派生自 ComfyUI 的 GPL-3.0 代码实现)。
仓库内同时包含部分 Apache-2.0 第三方实现(NVIDIA Cosmos / Wan2.1 等),请保留原文件头声明。详见:
LICENSE(GPL-3.0)LICENSE-APACHE(Apache-2.0 文本,用于仓库内 Apache-2.0 组件)THIRD_PARTY_NOTICES.md模型权重(Anima / Qwen / VAE)有各自的条款(含 Non-Commercial 等限制),请以对应模型卡 / HF repo 协议为准。