KeyVID / UPLOAD_GUIDE.md
RyanWW's picture
Upload KeyVID model files
57ed8f9 verified
# KeyVID 上传到 Hugging Face 指南
## 📦 快速开始
### 方法1: 使用快速上传脚本 (推荐)
```bash
cd /dockerx/groups/KeyVID
python upload_fast.py
```
### 方法2: 使用完整功能上传脚本
```bash
cd /dockerx/groups/KeyVID
python upload.py
```
## 🚀 如何加快上传速度
### 1. 使用 `multi_commits=True` (已内置)
- ✅ 允许分批提交文件,不需要等待所有文件上传完成
- ✅ 大文件可以先开始上传,小文件可以并行
- ✅ 即使中断,已上传的文件也会保存
### 2. 网络优化
```bash
# 检查当前上传速度
speedtest-cli
# 如果使用代理,确保代理设置正确
export HTTP_PROXY=http://proxy:port
export HTTPS_PROXY=http://proxy:port
```
### 3. 减少上传文件大小
- ✅ 脚本已自动排除不必要的文件 (save_results, __pycache__, .git等)
- 💡 如果需要,可以手动排除更多文件,修改 `ignore_patterns`
### 4. 使用 Hugging Face CLI (备选方案)
```bash
# 安装 Hugging Face CLI
pip install -U huggingface_hub[cli]
# 登录
huggingface-cli login
# 直接上传整个文件夹
huggingface-cli upload RyanWW/KeyVID /dockerx/groups/KeyVID --repo-type model
```
### 5. 分批上传策略 (对于超大仓库)
如果上传经常失败,可以分批上传:
```python
# 只上传关键文件
huggingface-cli upload RyanWW/KeyVID /dockerx/groups/KeyVID/keyframe_generation --repo-type model --include "*.ckpt"
```
### 6. 使用 Git LFS (如果文件已在 Git 中)
如果文件已经在 Git LFS 中管理,可以直接推送:
```bash
cd /dockerx/groups/KeyVID
git remote add hf https://huggingface.co/RyanWW/KeyVID
git push hf main
```
## ⚙️ 优化配置
### 调整并发数 (upload.py)
编辑 `upload.py`,修改 `MAX_WORKERS`:
```python
MAX_WORKERS = 16 # 增加并发线程数(根据网络和CPU调整)
```
### 环境变量设置
```bash
# 设置 Hugging Face token
export HF_TOKEN=your_token_here
# 设置上传超时(秒)
export HF_HUB_TIMEOUT=3600
# 禁用进度条(如果终端有问题)
export HF_HUB_DISABLE_PROGRESS=0
```
## 📊 预估上传时间
基于你的数据量 (67GB):
- **10 Mbps**: 约 15 小时
- **100 Mbps**: 约 1.5 小时
- **1 Gbps**: 约 9 分钟
实际时间取决于:
- 网络速度
- Hugging Face 服务器负载
- 文件大小分布(大文件需要更多时间)
## 🛠️ 故障排除
### 问题1: 上传中断
```bash
# 重新运行脚本,Hugging Face 支持断点续传
python upload_fast.py
```
### 问题2: 认证失败
```bash
# 重新登录
huggingface-cli login
# 或使用 token
export HF_TOKEN=your_token
```
### 问题3: 网络超时
```bash
# 增加超时时间
export HF_HUB_TIMEOUT=7200 # 2小时
```
### 问题4: 大文件上传慢
- 确保使用 `multi_commits=True` (已在脚本中)
- 检查网络连接稳定性
- 考虑使用更快的网络环境
## 📝 检查上传状态
```bash
# 查看仓库文件
huggingface-cli repo list-files RyanWW/KeyVID
# 或访问网页
# https://huggingface.co/RyanWW/KeyVID
```
## 💡 最佳实践
1. **首次上传**: 使用 `upload_fast.py`,它针对大文件优化
2. **增量更新**: 可以直接重新运行脚本,只会上传新文件
3. **监控进度**: 脚本会显示详细进度信息
4. **保持连接**: 确保网络连接稳定,避免中断