File size: 3,333 Bytes
57ed8f9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
# 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. **保持连接**: 确保网络连接稳定,避免中断