石小疯 发表于 2024-10-21 07:24:02

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

下载 huggingface_hub

pip install huggingface_hub
在命令行中运行以下命令登录到你的 Hugging Face 账户:
huggingface-cli login

   需要提供 Hugging Face 网站上天生的访问令牌
https://i-blog.csdnimg.cn/direct/5adb66bfc6a340c8a6efc5c5dbfe5707.png
如果这里登不上去的话,可以先举行下一步,再回过来登录
设置情况变量

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:指定了下载后数据集将保存到的当地目次
[*]你要修改的就是上面标红的地方,分别为指定数据集名称和保存目次
效果

下载模型速率:
https://i-blog.csdnimg.cn/direct/e831c1c3ad8d44babb0fd793e1f3816d.png
下载数据集速率:
https://i-blog.csdnimg.cn/direct/2849cf2af70149418594acb81ff143fa.png
补充

我最近下载数据集的时候,发现偶然候还是会因为网络问题停止,固然命令中可以在停止后不用重新开始下载,但是还需要手动实行命令,所以这里写了一个主动化脚本,可以在停止的时候让他自己实行命令:
#!/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博客

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Hugging Face 利用镜像下载模型/数据集