数据集下载方法与参数速查表
💡 全局说明: 本文档记录了四个核心机器视觉与机器人训练数据集的下载流程。对于海外源(HuggingFace/Apple),若服务器在国内,建议配置
HTTP_PROXY 环境变量。1. RoboMind 1.0 (HuggingFace 自动重试方案)
来源: HuggingFace 🌐 需开启代理
该脚本通过 snapshot_download 实现特定目录的选择性下载,并加入了指数退避重试机制。
import os
# os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
# os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "1"
from huggingface_hub import snapshot_download
import time
from huggingface_hub import logging as hf_logging
hf_logging.set_verbosity_debug() # 开启调试信息
def download_with_retry(repo_id, repo_type, token, local_dir, allow_patterns=None, max_retries=10, retry_delay=30):
attempt = 0
while attempt < max_retries:
try:
# 尝试下载
snapshot_download(
repo_id=repo_id,
repo_type=repo_type,
token=token,
local_dir=local_dir,
allow_patterns=allow_patterns, # 接收外部传入的过滤规则
revision="main"
)
print(f"下载成功: {repo_id} 到 {local_dir}")
return
except Exception as e:
attempt += 1
print(f"下载失败: {e}. 重试第 {attempt} 次...")
if attempt < max_retries:
time.sleep(retry_delay)
else:
print(f"已达到最大重试次数 {max_retries},下载失败。")
raise
if __name__ == '__main__':
target_patterns = ["*"]
download_with_retry(
repo_id="KlingTeam/MultiCamVideo-Dataset",
repo_type="dataset",
token="",
local_dir="",
allow_patterns=target_patterns # 传参
)
方法2:
1,安装 aria2:
sudo apt install aria2
2,下载并配置 hfd 脚本:
wget https://hf-mirror.com/hfd/hfd.sh
chmod a+x hfd.sh
3,bash如下:
#!/bin/bash
# =================================================================
# Hugging Face 大数据集多线程下载脚本 (基于 hfd.sh + aria2c)
# =================================================================
# 1. 环境配置
# export HF_ENDPOINT="https://hf-mirror.com"
# 如果环境需要代理,请取消下面两行的注释
export http_proxy="http://192.168.80.10:7890"
export https_proxy="http://192.168.80.10:7890"
# 2. 下载参数配置(在这里修改你要下的内容)
REPO_ID="RoboChallenge/Table30v2" # 仓库ID
REPO_TYPE="--dataset" # 模型不用改,数据集请保留 --dataset
LOCAL_DIR="/mnt/vepfs/data/yangzhenyu/work/2026_04_09/test"
TOKEN="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"
THREADS=8 # 单个文件最大线程数
JOBS=4 # 同时下载的文件数
# 3. 自动创建目标目录
if [ ! -d "$LOCAL_DIR" ]; then
echo "目录不存在,正在创建: $LOCAL_DIR"
mkdir -p "$LOCAL_DIR"
fi
# 4. 检查 hfd.sh 是否存在
if [ ! -f "./hfd.sh" ]; then
echo "错误: 当前目录下未找到 hfd.sh,请先执行 wget https://hf-mirror.com/hfd/hfd.sh"
exit 1
fi
chmod a+x hfd.sh
# 5. 执行下载
echo "开始下载: $REPO_ID"
echo "存放路径: $LOCAL_DIR"
echo "-----------------------------------------------------------"
./hfd.sh $REPO_ID \
$REPO_TYPE \
--hf_token $TOKEN \
--tool aria2c \
-x $THREADS \
-j $JOBS \
--local-dir $LOCAL_DIR
# 6. 检查执行结果
if [ $? -eq 0 ]; then
echo "-----------------------------------------------------------"
echo "恭喜!下载任务已完成。"
else
echo "-----------------------------------------------------------"
echo "任务中断或出错,请检查网络后重新运行脚本,支持断点续传。"
fi
参数深度解析:
| 参数项 | 详细说明 |
|---|---|
allow_patterns |
核心过滤规则。仅下载匹配该通配符的文件。例如 h5_ur_1rgb/* 表示只拉取 UR 机械臂的 RGB 数据,节省 TB 级的无关数据下载。 |
hf_logging |
开启调试模式,可以在终端看到每一个 Chunk 的下载进度和网络握手细节。 |
max_retries |
设定为 10 次,应对 HF 经常出现的 Connection Reset 或 Read Timeout。 |
HF_ENDPOINT |
(注释项) 如果代理不给力,可取消注释改用国内镜像站。 |
2. RoboMind 2.0 (ModelScope 高速方案)
来源: 魔搭 (ModelScope) 🚀 直连加速 (国内)
针对国内服务器优化的下载方式,利用 SDK 内置的多线程能力。
from modelscope.hub.snapshot_download import snapshot_download
import logging
logging.basicConfig(level=logging.INFO)
snapshot_download(
'X-Humanoid/RoboMIND2.0-Tienkung',
local_dir='/mnt/vepfs/.../RoboMIND2.0-Tienkung',
repo_type='dataset',
max_workers=8 # 开启 8 线程并行
)
参数深度解析:
| 参数项 | 详细说明 |
|---|---|
max_workers |
性能关键。增加此值可同时下载多个 H5 文件。在专线带宽下,8-16 是理想值。 |
snapshot_download |
ModelScope 的该函数会自动处理校验和,确保下载的 .zip 或 .h5 文件完整无损。 |
3. EgoDex (Apple CDN 批量方案)
来源: Apple ML 🌐 建议代理
使用高性能下载工具 aria2,通过多线程分段下载大型 Zip 包。
# urls.txt 包含 part1.zip 到 extra.zip 的所有链接,txt文件里每行一个链接
aria2c -i urls.txt -j 3 -x 16 -s 16 -c
参数深度解析:
| 参数项 | 详细说明 |
|---|---|
-j 3 |
同时下载 3 个文件。由于单文件很大,不建议同时下载太多。 |
-x 16 |
单服务器最大连接数。每个文件开启 16 条线程。 |
-s 16 |
分片大小。将文件切成 16 块同时拉取,这能绕过单线限速。 |
-c |
断点续传。极为重要,因网络闪断导致 99% 失败时,可从原处继续。 |
4. OpenLoong-LET (Git LFS 修复方案)
来源: AtomGit (开放原子) 🚀 直连 (国内)
处理大规模二进制数据的 Git 托管仓库,重点在于修复 LFS 属性指针。
git lfs install
git clone https://atomgit.com/openloong/LET.git
cd LET
# 关键步骤:清空并修正属性配置
echo "* filter=lfs diff=lfs merge=lfs -text" > .gitattributes
# 触发真正的大文件拉取
git lfs pull
参数深度解析:
| 步骤 | 详细说明 |
|---|---|
git lfs pull |
默认 git clone 可能只拉取了 1KB 的指针文件,此命令才是真正下载数据。 |
.gitattributes |
如果下载后的文件大小不对(只有几百字节),通常是该文件配置错误,手动 echo 覆盖可强制关联 LFS 引擎。 |

浙公网安备 33010602011771号