下载 huggingface_hub
pip install huggingface_hub
在命令行中运行以下命令登录到你的 Hugging Face 账户:
huggingface-cli login
需要提供 Hugging Face 网站上生成的访问令牌
如果这里登不上去的话,可以先进行下一步,再回过来登录
设置环境变量
echo 'export HF_ENDPOINT=https://hf-mirror.com' >> ~/.bashrc
source ~/.bashrc
要验证环境变量是否已正确设置并生效,可以在终端中运行以下命令:
echo $HF_ENDPOINT
下载模型
huggingface-cli download OpenGVLab/InternVL2-8B --resume-download --local-dir /data1/zjk/InternVL-2-8B
- huggingface-cli:这是 Hugging Face 提供的命令行工具,用于与 Hugging Face Hub 进行交互。你可以使用这个工具来下载模型、上传模型、查看模型信息等。
- download:这是命令行工具中的一个命令,用于从 Hugging Face Hub 下载模型或其他资源。
- --resume-download:这个选项用于在下载过程中断的情况下继续下载。它在网络连接不稳定或下载大文件时非常有用,可以避免因下载失败而重新开始。
OpenGVLab/InternVL2-8B
:这是指定要下载的模型的名称或标识符。- --local-dir
/data1/zjk/InternVL-2-8B
:这个选项指定了下载文件在本地保存的目录。- 你要修改的就是上面标红的地方,分别为指定模型名称和保存目录
注意:如果你之前已经登录过了,然后呢你在Hugging Face上面刚通过了一个模型的访问权限,那么你需要新建一个token,然后重新在服务器那边登录一下,命令就是:
huggingface-cli login
下载数据集
huggingface-cli download --repo-type dataset --resume-download rohit901/VANE-Bench --local-dir /data1/zjk/VANE-Bench/Dataset
- --repo-type dataset:指定了你要下载的资源类型为数据集
rohit901/VANE-Bench
:下载的具体数据集的名称- --local-dir
/data1/zjk/VANE-Bench/Dataset
:指定了下载后数据集将保存到的本地目录- 你要修改的就是上面标红的地方,分别为指定数据集名称和保存目录
效果
下载模型速度:
下载数据集速度:
补充
我最近下载数据集的时候,发现有时候还是会因为网络问题中断,虽然命令中可以在中断后不用重新开始下载,但是还需要手动执行命令,所以这里写了一个自动化脚本,可以在中断的时候让他自己执行命令:
#!/bin/bash
# 目标数据集和本地目录
DATASET="jherng/xd-violence"
LOCAL_DIR="/data2/nfs_node1/wzj/Data/XD-Violence"
MAX_RETRIES=10000000000 # 最大重试次数
RETRY_DELAY=0 # 每次重试前的等待时间(秒)
RETRY_COUNT=0
# 下载命令
download() {
huggingface-cli download --repo-type dataset --resume-download "$DATASET" --local-dir "$LOCAL_DIR"
}
# 尝试下载,直到成功或达到最大重试次数
while true; do
download
if [ $? -eq 0 ]; then
echo "Download completed successfully!"
break
else
RETRY_COUNT=$((RETRY_COUNT+1))
if [ $RETRY_COUNT -ge $MAX_RETRIES ]; then
echo "Reached maximum retry attempts. Exiting."
exit 1
fi
echo "Download failed. Retrying in $RETRY_DELAY seconds... ($RETRY_COUNT/$MAX_RETRIES)"
sleep $RETRY_DELAY
fi
done
脚本说明:
1. 变量定义:
- DATASET:指定要下载的数据集。
- LOCAL_DIR:指定下载数据集的本地目录。
- MAX_RETRIES:设置最大重试次数。
- RETRY_DELAY:设置每次重试前等待的时间(秒)。
- RETRY_COUNT:跟踪重试次数。
2. download 函数:
- 该函数调用 huggingface-cli 命令来下载数据集。
3. while 循环:
- 该循环不断尝试下载,直到成功或达到最大重试次数。
- 如果下载成功 ($? -eq 0),脚本退出循环。
- 如果下载失败,等待指定时间后重试,直到达到最大重试次数。
4. 脚本运行:
-
将该脚本保存为 download_retry.sh。
-
赋予脚本可执行权限:
chmod +x download_retry.sh
- 运行脚本:
./download_retry.sh
这样,在下载过程中如果发生错误,脚本会自动重试下载,直到成功或达到最大重试次数。如果你希望无上限地重试,可以将 MAX_RETRIES 设置为一个非常大的数字,或者删除相关的检查。