Spaces:
Sleeping
Sleeping
File size: 6,150 Bytes
c7f3ffb | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 | # 🚀 部署到 Hugging Face Space 指南
本指南将帮助您将 SoulX-Singer 部署到 Hugging Face Space。
## 📋 前置要求
1. **Hugging Face 账号**:如果没有,请先注册 [huggingface.co](https://huggingface.co/join)
2. **Git**:确保已安装 Git
3. **Hugging Face CLI**(可选但推荐):`pip install huggingface_hub`
## 🎯 部署步骤
### 方法一:通过 Web 界面创建(推荐)
#### 步骤 1:准备代码仓库
确保您的代码已准备好:
- ✅ `app.py` - Space 入口文件
- ✅ `webui.py` - Gradio 界面代码
- ✅ `requirements.txt` - Python 依赖
- ✅ `README.md` - 包含 Space 配置的 YAML 头部
#### 步骤 2:创建 Space
1. 访问 [huggingface.co/spaces](https://huggingface.co/spaces)
2. 点击 **"Create new Space"** 按钮
3. 填写 Space 信息:
- **Space name**: 例如 `SoulX-Singer` 或 `soulx-singer-demo`
- **SDK**: 选择 **Gradio**
- **Hardware**: 推荐选择 **GPU T4 small**(推理更快,首次下载模型后缓存)
- **Visibility**: 选择 Public(公开)或 Private(私有)
4. 点击 **"Create Space"**
#### 步骤 3:上传代码
**选项 A:使用 Git 推送(推荐)**
```bash
# 1. 在本地代码目录初始化 Git(如果还没有)
git init
git add .
git commit -m "Initial commit for HF Space"
# 2. 添加 Hugging Face 远程仓库
# 替换 YOUR_USERNAME 和 YOUR_SPACE_NAME
git remote add origin https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE_NAME
# 3. 推送代码
git push -u origin main
```
**选项 B:使用 Web 界面上传**
1. 在 Space 页面点击 **"Files and versions"** 标签
2. 点击 **"Add file"** → **"Upload files"**
3. 拖拽或选择以下必需文件:
- `app.py`
- `webui.py`
- `requirements.txt`
- `README.md`
- `soulxsinger/` 目录(整个文件夹)
- `preprocess/` 目录(整个文件夹)
- `cli/` 目录(整个文件夹)
- `example/` 目录(整个文件夹)
- `assets/` 目录(整个文件夹)
- 其他配置文件(如 `LICENSE`, `.gitignore` 等)
#### 步骤 4:等待构建和首次运行
1. Space 会自动检测到代码并开始构建
2. 查看 **"Logs"** 标签页监控构建进度
3. 首次运行会:
- 安装 `requirements.txt` 中的依赖
- 执行 `app.py`
- **自动下载** `Soul-AILab/SoulX-Singer` 和 `Soul-AILab/SoulX-Singer-Preprocess` 模型(可能需要 5-15 分钟,取决于网络速度)
4. 构建完成后,Space 会自动启动,您可以在 **"App"** 标签页看到界面
### 方法二:使用 Hugging Face CLI
```bash
# 1. 安装 Hugging Face Hub CLI
pip install huggingface_hub
# 2. 登录(会打开浏览器)
huggingface-cli login
# 3. 创建 Space(替换 YOUR_USERNAME 和 YOUR_SPACE_NAME)
huggingface-cli repo create YOUR_SPACE_NAME --type space --sdk gradio
# 4. 克隆 Space 仓库
git clone https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE_NAME
cd YOUR_SPACE_NAME
# 5. 复制代码文件到 Space 目录
# (将当前代码目录的所有文件复制过来)
# 6. 提交并推送
git add .
git commit -m "Deploy SoulX-Singer to HF Space"
git push
```
## ⚙️ Space 配置说明
Space 配置在 `README.md` 的 YAML 头部:
```yaml
---
title: SoulX-Singer
emoji: 🎤
sdk: gradio
sdk_version: "6.3.0"
app_file: app.py
python_version: "3.10"
suggested_hardware: t4-small # 取消注释以启用 GPU
---
```
### 硬件选择建议
- **CPU Basic**: 免费,但推理速度较慢,适合测试
- **GPU T4 Small**: 推荐,推理速度快,首次下载模型后缓存
- **GPU T4 Medium/Large**: 适合高并发或更复杂的推理
### 修改硬件配置
1. 进入 Space 页面
2. 点击 **"Settings"** 标签
3. 在 **"Hardware"** 部分选择所需硬件
4. 保存后 Space 会重启
## 🔍 故障排查
### 问题 1:构建失败
**检查点:**
- ✅ `requirements.txt` 中所有依赖版本是否兼容
- ✅ `app.py` 文件是否存在且可执行
- ✅ `README.md` 的 YAML 配置是否正确
**查看日志:**
- 在 Space 页面的 **"Logs"** 标签查看详细错误信息
### 问题 2:模型下载失败
**可能原因:**
- 网络连接问题
- Hugging Face Hub 认证问题
**解决方案:**
- 确保 Space 有网络访问权限(默认有)
- 如果使用私有模型,需要在 Space Settings 中添加 HF Token
### 问题 3:应用启动后无法访问
**检查点:**
- ✅ `app.py` 中 `server_name="0.0.0.0"` 已设置
- ✅ 端口使用环境变量 `PORT`(Space 会自动注入)
- ✅ 查看 **"Logs"** 确认应用是否成功启动
### 问题 4:内存不足
**解决方案:**
- 升级到更大的硬件(T4 Medium/Large)
- 或优化代码,减少内存占用
## 📝 重要提示
1. **首次运行时间**:首次部署时,模型下载可能需要 5-15 分钟,请耐心等待
2. **模型缓存**:下载的模型会缓存在 Space 的存储中,重启后无需重新下载
3. **存储限制**:免费 Space 有存储限制,确保模型文件不会超过限制
4. **自动重启**:Space 会在代码更新后自动重启
5. **日志查看**:遇到问题时,首先查看 **"Logs"** 标签页的详细日志
## 🔗 相关链接
- [Hugging Face Spaces 文档](https://huggingface.co/docs/hub/spaces)
- [Gradio 文档](https://gradio.app/docs/)
- [SoulX-Singer 模型页面](https://huggingface.co/Soul-AILab/SoulX-Singer)
- [SoulX-Singer-Preprocess 模型页面](https://huggingface.co/Soul-AILab/SoulX-Singer-Preprocess)
## ✅ 部署检查清单
部署前确认:
- [ ] `app.py` 文件存在且正确
- [ ] `requirements.txt` 包含所有依赖(包括 `huggingface_hub`)
- [ ] `README.md` 包含正确的 YAML 配置
- [ ] 所有必需的代码文件都已上传
- [ ] `.gitignore` 正确配置(排除 `pretrained_models/` 和 `outputs/`)
- [ ] Space 硬件配置合适(推荐 GPU T4 Small)
部署后验证:
- [ ] Space 构建成功(无错误日志)
- [ ] 模型自动下载完成
- [ ] Web 界面可以正常访问
- [ ] 可以上传音频文件进行测试
- [ ] 推理功能正常工作
---
**祝部署顺利!** 🎉
|