Hugging Face 使用镜像下载模型/数据集

下载 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 设置为一个非常大的数字,或者删除相关的检查。

参考博客

hf-mirror (huggingface 的国内镜像)_hf mirror-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值