FaceSwap / DEPLOY_CHECKLIST.md
aidao's picture
样式调整
1809421
|
Raw
History Blame Contribute Delete
4.37 kB
# 部署前检查清单
## 文件信息
- **文件路径**: DEPLOY_CHECKLIST.md
- **创建时间**: 2025-12-16
- **开发者**: aidaox
## 在推送到 Hugging Face 之前,请逐项检查:
### ✅ 1. 依赖配置检查
- [ ] **requirements.txt** 使用 `onnxruntime`(不是 `onnxruntime-gpu`)
- [ ] 所有依赖包都有明确的版本号或兼容版本范围
- [ ] `gradio` 版本 >= 5.29.0(与 README.md 中的 sdk_version 一致)
- [ ] `packages.txt` 只包含系统包(如 `ffmpeg`),不包含 Python 包
### ✅ 2. 代码兼容性检查
- [ ] **SinglePhoto.py** 中的 `ctx_id` 配置:
- 当前使用 `ctx_id=0`(会自动回退到 CPU,通常可用)
- 如果 Hugging Face 上出现问题,考虑改为 `ctx_id=-1`(明确使用 CPU)
- [ ] 没有硬编码的本地路径(如 `C:\Users\...``/home/user/...`
- [ ] 所有文件路径使用相对路径
- [ ] 没有引用本地不存在的文件或目录
### ✅ 3. 文件完整性检查
- [ ] `app.py` 存在且可以正常导入
- [ ] `README.md` 中的 `app_file: app.py` 配置正确
- [ ] `inswapper_128.onnx` 模型文件存在(或会在运行时自动下载)
- [ ] 所有必要的 Python 模块文件都存在:
- [ ] `SinglePhoto.py`
- [ ] `VideoSwapping.py`
- [ ] `app.py`
### ✅ 4. 功能测试检查
- [ ] 本地运行 `python test_local.py` 所有检查通过
- [ ] 本地运行 `python app.py` 可以正常启动
- [ ] 测试单张图片换脸功能正常
- [ ] 检查日志输出,没有错误或警告
### ✅ 5. 性能优化检查(针对免费 CPU 服务器)
- [ ] 图片处理大小限制合理(建议不超过 1024x1024)
- [ ] 视频处理有合理的时长限制提示
- [ ] 长时间运行的操作有超时处理
- [ ] 临时文件及时清理(代码中已有清理逻辑)
### ✅ 6. Git 提交检查
- [ ] 所有修改已添加到暂存区:`git add .`
- [ ] 提交信息清晰描述修改内容
- [ ] 没有提交敏感信息(如 API keys、tokens)
- [ ] 没有提交不必要的文件(如 `__pycache__``.pyc` 文件)
### ✅ 7. 文档检查
- [ ] `README.md` 中的配置信息正确
- [ ] 项目描述清晰
- [ ] 必要的使用说明已添加
## 快速检查命令
在推送前,运行以下命令进行快速检查:
```bash
# 1. 检查 requirements.txt 是否包含 GPU 依赖
grep -i "gpu" requirements.txt
# 应该没有输出,如果有 onnxruntime-gpu,需要改为 onnxruntime
# 2. 检查是否有硬编码路径
grep -r "C:\\\\Users" . --include="*.py"
grep -r "/home/" . --include="*.py"
# 应该没有输出
# 3. 运行本地测试
python test_local.py
# 4. 检查 Git 状态
git status
```
## 推送步骤
1. **提交所有修改**
```bash
git add .
git commit -m "修复 CPU 兼容性并添加测试脚本"
```
2. **推送到 Hugging Face**
```bash
git push origin main
```
3. **在 Hugging Face 上验证**
- 访问 https://huggingface.co/spaces/aidao/FaceSwap
- 等待构建完成(查看 "Logs" 标签页)
- 测试应用功能
- 检查是否有错误
## 如果部署失败
### 检查构建日志
1. 在 Hugging Face Space 页面点击 "Logs" 标签
2. 查看错误信息
3. 常见问题:
- 依赖安装失败 → 检查 `requirements.txt`
- 系统包缺失 → 检查 `packages.txt`
- 代码错误 → 检查本地测试是否通过
- 内存不足 → 优化代码,减少内存使用
### 常见错误及解决方法
| 错误 | 可能原因 | 解决方法 |
|------|---------|---------|
| `ModuleNotFoundError` | 依赖未安装 | 检查 `requirements.txt` |
| `onnxruntime` 相关错误 | 使用了 GPU 版本 | 确保使用 `onnxruntime`(CPU 版本) |
| `ffmpeg` 相关错误 | 系统包缺失 | 确保 `packages.txt` 包含 `ffmpeg` |
| 内存不足 | 处理大文件 | 限制输入文件大小 |
| 超时 | 处理时间过长 | 优化代码或添加超时处理 |
## 部署后验证
- [ ] Space 构建成功(无错误日志)
- [ ] 应用界面正常加载
- [ ] 可以上传图片
- [ ] 单张图片换脸功能正常
- [ ] 日志输出正常(无错误)
## 性能监控
部署后注意观察:
- 应用启动时间
- 单次处理时间
- 内存使用情况
- 是否有超时错误
如果性能问题严重,考虑:
- 优化图片处理大小
- 添加缓存机制
- 限制并发请求