3.5 KiB
3.5 KiB
换发型项目
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 会:
- 生成 configure.ini(自动替换路径)
- 恢复 conda 环境(my_hair, sdwebui, kohya 从 conda-pack 恢复;py310 从 yml 创建)
- 检查模型和数据目录完整性
- 创建运行时目录
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.ini 由 setup.sh 自动生成。如需手动修改配置,编辑 hair_service_sd/config/configure.ini.template 后重新运行 setup.sh。