Files

3.5 KiB
Raw Permalink Blame History

换发型项目

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. 下载网盘文件

将网盘上的 cloud_packages/ 目录下载到项目根目录。网盘文件已分类打包为 14 个文件(合计约 62G):

文件 大小 说明
my_hair.tar.gz 4.2G conda 环境(换发算法服务用)
sdwebui.tar.gz 3.6G conda 环境(SD WebUI 用)
kohya.tar.gz 84M conda 环境(LoRA 训练用)
sd_base_models.tar.gz 3.6G SD 底模
lora_0-9.tar.gz 29G LoRA 模型(约 228 个)
lora_h.tar.gz 132M LoRA 模型
lora_n.tar.gz 132M LoRA 模型
lora_t.tar.gz 791M LoRA 模型
weights.tar.gz 9.2G 换发算法模型
kohya_local.tar.gz 3.4G 训练 pip 包(torch、accelerate 等)
kohya_code.tar.gz 365M kohya_ss 训练代码
data.tar.gz 3.4G 业务数据
webui_controlnet.tar.gz 4.1G ControlNet 扩展
webui_repositories.tar.gz 221M SD 依赖仓库

下载后执行解压脚本:

# 将 cloud_packages/ 目录放到项目根目录后
./setup.sh

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