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