| # 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. **保持连接**: 确保网络连接稳定,避免中断 | |