DreamRenderer / DEPLOYMENT.md
HBDing's picture
新增边界框组件问题诊断和修复指南,改进了app.py中的模块导入处理,添加错误提示以增强用户体验。
66c193d
# DreamRenderer Gradio应用部署指南
## 🚀 在Hugging Face Spaces上部署
### 步骤1: 创建新的Space
1. 访问 [Hugging Face Spaces](https://huggingface.co/spaces)
2. 点击 "Create new Space"
3. 填写以下信息:
- **Space name**: `dreamrenderer`
- **License**: `apache-2.0`
- **Select the SDK**: `Gradio`
- **Hardware**: 选择 `ZeroGPU` (这是关键!)
### 步骤2: 上传文件
将以下文件上传到你的Space:
```
├── README.md
├── requirements.txt
├── app.py
├── dream_renderer.py
├── bbox_component.html
```
### 步骤3: 配置Space
确保你的 `README.md` 文件包含正确的配置:
```yaml
---
title: DreamRenderer
emoji: 🎨
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: 4.44.0
app_file: app.py
pinned: false
license: apache-2.0
---
```
### 步骤4: 重要配置说明
#### ZeroGPU配置
- 在Space设置中确保选择了 `ZeroGPU` 硬件
- 代码中正确使用了 `@spaces.GPU` 装饰器
- 所有GPU密集型操作都被装饰器包装
#### 依赖管理
- `requirements.txt` 已经优化,包含最少必要的依赖
- 移除了可能导致冲突的包
- 使用兼容版本号
### 步骤5: 实际DreamRenderer集成
当前实现是一个演示版本。要集成真正的DreamRenderer:
1. **获取DreamRenderer代码**:
```bash
git clone https://github.com/limuloo/DreamRenderer.git
```
2. **替换核心实现**:
- 将 `dream_renderer.py` 中的演示代码替换为真实的DreamRenderer实现
- 集成必要的模型文件和权重
3. **模型权重**:
- 上传预训练模型到Space的文件系统或使用Hugging Face Hub
- 修改模型加载路径
### 📋 文件说明
#### `app.py`
- 主应用文件
- 包含Gradio界面和事件处理
- 使用 `@spaces.GPU` 装饰GPU功能
#### `dream_renderer.py`
- DreamRenderer核心实现
- 包含模型加载和推理逻辑
- 可替换为真实的DreamRenderer代码
#### `bbox_component.html`
- 自定义HTML组件
- 实现交互式边界框绘制
- 处理用户输入和数据传递
#### `requirements.txt`
- 最小化依赖列表
- 针对ZeroGPU环境优化
### 🔧 高级配置
#### 性能优化
- 使用模型缓存减少加载时间
- 优化图像处理流程
- 实现批处理支持
#### UI增强
- 添加更多预设示例
- 支持图像上传作为背景
- 添加历史记录功能
### 🚨 注意事项
1. **ZeroGPU限制**:
- 每次推理有时间限制
- 需要合理管理GPU内存
- 避免长时间占用GPU
2. **文件大小限制**:
- Space有存储限制
- 大型模型需要通过Hub加载
3. **依赖冲突**:
- 避免版本冲突
- 测试所有功能
### 📞 支持
如果遇到问题:
1. 检查Space日志
2. 验证ZeroGPU配置
3. 确认文件完整性
4. 查看Hugging Face文档
### 🔗 相关链接
- [Hugging Face Spaces文档](https://huggingface.co/docs/hub/spaces)
- [ZeroGPU使用指南](https://huggingface.co/docs/hub/spaces-gpus)
- [Gradio文档](https://gradio.app/docs/)
- [DreamRenderer论文](https://arxiv.org/abs/2503.12885)