Files
change_hair_3090/README.md
T
colomi 4b959b3a98 训练功能改用本地 kohya conda 环境执行,移除 Docker 依赖
- lora_train_service_1.py: 将 sudo docker run 命令替换为本地
  python -m accelerate.commands.launch,通过 PYTHONPATH 复用 .local/
  下的 torch/accelerate/bitsandbytes 等包
- setup.sh: 添加 kohya 环境到 conda-pack 恢复列表
- start_all_services.sh: 导出 CONDA_BASE 供 photo_service 读取
- README.md: 添加 kohya.tar.gz 到网盘下载清单
- 已验证: 训练命令可完整执行(加载底模→创建LoRA→训练→保存)
2026-07-11 18:53:45 +08:00

118 lines
3.3 KiB
Markdown
Raw 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. 下载网盘文件
将网盘上的以下目录/文件下载到项目根目录(与代码合并):
| 路径 | 大小 | 说明 |
|------|------|------|
| 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. 运行部署脚本
```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`