Files

128 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 换发型项目
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 <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 依赖仓库 |
下载后执行解压脚本:
```bash
# 将 cloud_packages/ 目录放到项目根目录后
./setup.sh
```
### 3. 运行部署脚本
```bash
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. 启动服务
```bash
./start_all_services.sh
```
## 服务说明
| 服务 | 端口 | conda 环境 | 说明 |
|------|------|-----------|------|
| hair_service_sd | 8801 | my_hair | 换发型/换发色核心算法 |
| stable-diffusion-webui | 57860 | sdwebui | SD 图生图推理 |
| photo_service | 32678 | py310 | LoRA 训练调度(训练子进程使用 kohya 环境 + .local 包) |
## 查看日志
```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`