colomi 42622e8e1e 完善部署脚本兼容性并生成详细部署手册
- setup.sh: 自动检测 CONDA_BASE(conda info --base),移除 set -e 改为
  错误收集,新增第8步验证 kohya 训练环境(测试 torch/accelerate 加载)
- start_all_services.sh: 自动检测 CONDA_BASE,新增端口冲突检测和
  WebUI 就绪等待(最多60秒轮询)
- stop_all_services.sh: 新增停止脚本,按端口停止三个服务
- py310.yml: 移除硬编码 prefix 路径,避免跨机器部署问题
- DEPLOY.md: 详细部署操作手册,覆盖从 clone 到验证三大功能的全流程
- 已验证: kohya.tar.gz 解压→conda-unpack→PYTHONPATH 加载全部通过
2026-07-11 19:11:36 +08:00

换发型项目

AI 换发型/换发色/训练发型服务,基于 Stable Diffusion + ControlNet + LoRA。

项目结构

change_hair_3090/
├── hair_service_sd/          # 换发算法服务 (端口 8801)
├── photo_service/            # LoRA 训练服务 (端口 32678)
├── stable-diffusion-webui/   # SD WebUI 推理服务 (端口 57860)
├── kohya_ss_home/            # kohya_ss 训练环境
├── data/                     # 业务数据(发型参考图、用户图片等)
├── conda_envs/               # conda 环境打包文件
├── setup.sh                  # 一键部署脚本
├── start_all_services.sh     # 启动所有服务
└── README.md

前提条件

  • Ubuntu 22.04
  • NVIDIA 3090 GPU + 驱动
  • conda (Miniconda/Anaconda)
  • git

部署步骤

1. Clone 代码

git clone <repo_url> ~/change_hair_3090
cd ~/change_hair_3090

2. 下载网盘文件

将网盘上的以下目录/文件下载到项目根目录(与代码合并):

路径 大小 说明
hair_service_sd/weights/ 10G 换发算法模型
stable-diffusion-webui/models/ 41G SD模型 + LoRA + 辅助模型
stable-diffusion-webui/extensions/sd-webui-controlnet/ 4.4G ControlNet 扩展
stable-diffusion-webui/repositories/ 225M SD 依赖仓库
kohya_ss_home/.local/ 7.6G 训练 pip 包
kohya_ss_home/.cache/ 3.3M CLIP 缓存
kohya_ss_home/kohya_ss/ 439M 训练代码
data/ 4.9G 业务数据
conda_envs/my_hair.tar.gz ~5G conda 环境(换发算法)
conda_envs/sdwebui.tar.gz ~4G conda 环境(SD WebUI
conda_envs/kohya.tar.gz 84M conda 环境(LoRA 训练,仅含 Python+numpy,大包在 .local/

3. 运行部署脚本

chmod +x setup.sh start_all_services.sh
./setup.sh

setup.sh 会:

  1. 生成 configure.ini(自动替换路径)
  2. 恢复 conda 环境(my_hair, sdwebui, kohya 从 conda-pack 恢复;py310 从 yml 创建)
  3. 检查模型和数据目录完整性
  4. 创建运行时目录

4. 启动服务

./start_all_services.sh

服务说明

服务 端口 conda 环境 说明
hair_service_sd 8801 my_hair 换发型/换发色核心算法
stable-diffusion-webui 57860 sdwebui SD 图生图推理
photo_service 32678 py310 LoRA 训练调度(训练子进程使用 kohya 环境 + .local 包)

查看日志

tail -f logs/hair_service.log
tail -f logs/webui.log
tail -f logs/photo_service.log

停止服务

# 按端口查找并停止
kill $(lsof -t -i:8801)
kill $(lsof -t -i:57860)
kill $(lsof -t -i:32678)

常见问题

conda 环境恢复失败

确保 CONDA_BASE 环境变量指向你的 conda 安装路径(默认 /home/szlc/miniconda3):

export CONDA_BASE=/your/conda/path
./setup.sh

GPU 不可用

检查 NVIDIA 驱动和 CUDA

nvidia-smi

WebUI 启动慢

首次启动需要加载模型(约 30-60 秒),请耐心等待。查看 logs/webui.log 确认状态。

路径问题

所有路径通过 BASE_DIR 自动推导,configure.inisetup.sh 自动生成。如需手动修改配置,编辑 hair_service_sd/config/configure.ini.template 后重新运行 setup.sh

S
Description
No description provided
Readme
13 MiB
Languages
Python 93.1%
JavaScript 3.9%
CSS 1%
HTML 0.9%
Shell 0.6%
Other 0.4%