# 换发型项目 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 代码 ```bash git clone ~/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 环境 | ### 3. 下载训练底模 从网上下载 `majicmixRealistic_v7.safetensors`,放置到: ``` stable-diffusion-webui/models/Stable-diffusion/majicmixRealistic_v7.safetensors ``` ### 4. 运行部署脚本 ```bash chmod +x setup.sh start_all_services.sh ./setup.sh ``` setup.sh 会: 1. 生成 configure.ini(自动替换路径) 2. 恢复 conda 环境(my_hair, sdwebui, py310) 3. 检查模型和数据目录完整性 4. 创建运行时目录 ### 5. 启动服务 ```bash ./start_all_services.sh ``` ## 服务说明 | 服务 | 端口 | conda 环境 | 说明 | |------|------|-----------|------| | hair_service_sd | 8801 | my_hair | 换发型/换发色核心算法 | | stable-diffusion-webui | 57860 | sdwebui | SD 图生图推理 | | photo_service | 32678 | py310 | LoRA 训练调度 | ## 查看日志 ```bash tail -f logs/hair_service.log tail -f logs/webui.log tail -f logs/photo_service.log ``` ## 停止服务 ```bash # 按端口查找并停止 kill $(lsof -t -i:8801) kill $(lsof -t -i:57860) kill $(lsof -t -i:32678) ``` ## 常见问题 ### conda 环境恢复失败 确保 `CONDA_BASE` 环境变量指向你的 conda 安装路径(默认 `/home/szlc/miniconda3`): ```bash export CONDA_BASE=/your/conda/path ./setup.sh ``` ### GPU 不可用 检查 NVIDIA 驱动和 CUDA: ```bash nvidia-smi ``` ### WebUI 启动慢 首次启动需要加载模型(约 30-60 秒),请耐心等待。查看 `logs/webui.log` 确认状态。 ### 路径问题 所有路径通过 `BASE_DIR` 自动推导,`configure.ini` 由 `setup.sh` 自动生成。如需手动修改配置,编辑 `hair_service_sd/config/configure.ini.template` 后重新运行 `setup.sh`。