当前位置: 首页 > news >正文

hf-mirror (huggingface 的国内镜像)

官网: https://hf-mirror.com/
网站域名 hf-mirror.com,用于镜像 huggingface.co 域名。作为一个公益项目,致力于帮助国内AI开发者快速、稳定的下载模型、数据集。


如何使用HF-Mirror

方法一:网页下载

在https://hf-mirror.com/搜索,并在模型主页的Files and Version中下载文件
在这里插入图片描述
在这里插入图片描述

方法二:huggingface-cli

huggingface-cli 是 Hugging Face 官方提供的命令行工具,自带完善的下载功能。

1. 安装依赖
pip install -U huggingface_hub

注意:huggingface_hub 依赖于 Python>=3.8,此外需要安装 0.17.0 及以上的版本,推荐0.19.0+。

2. 设置环境变量

Linux

export HF_ENDPOINT=https://hf-mirror.com

Windows Powershell

$env:HF_ENDPOINT = "https://hf-mirror.com"

建议将上面这一行写入 ~/.bashrc。

3.1 下载模型
huggingface-cli download --resume-download gpt2 --local-dir gpt2
3.2 下载数据集
huggingface-cli download --repo-type dataset --resume-download wikitext --local-dir wikitext

值得注意的是,有个--local-dir-use-symlinks False 参数可选,因为huggingface的工具链默认会使用符号链接来存储下载的文件,导致--local-dir指定的目录中都是一些“链接文件”,真实模型则存储在~/.cache/huggingface下,如果不喜欢这个可以用 --local-dir-use-symlinks False取消这个逻辑。

方法三:使用 hfd (推荐)

hfd 是https://hf-mirror.com/开发的 huggingface 专用下载工具,基于成熟工具 git+aria2,可以做到稳定下载不断线

1. 下载hfd
wget https://hf-mirror.com/hfd/hfd.sh
chmod a+x hfd.sh
2. 设置环境变量

HF_ENDPOINT 该变量是 HF 相关库官方支持的一个环境变量,设置后,相关库会尊重该变量指定的主机名,替换 huggingface.co 域名进行模型、数据集的下载和上传,从而做到无需修改python的transformers代码,即可利用上镜像站来加载模型。具体支持以下库:

  • huggingface-cli
  • snapshot_download
  • from_pretrained
  • hf_hub_download
  • timm.create_model

Linux

export HF_ENDPOINT=https://hf-mirror.com

Linux 写入到~/.bashrc中:

echo 'export HF_ENDPOINT="https://hf-mirror.com"' >> ~/.bashrc

Windows Powershell

$env:HF_ENDPOINT = "https://hf-mirror.com"

Windows 写入到 ~\Documents\WindowsPowerShellMicrosoft.PowerShell_profile.ps1 中:

Add-Content -Path $PROFILE -Value '$env:HF_ENDPOINT = "https://hf-mirror.com"'

Python

import os
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'
3.1 下载模型(例子: gpt2)
./hfd.sh gpt2 --tool aria2c -x 4
3.2 下载数据集 (例子: wikitext )
./hfd.sh wikitext --dataset --tool aria2c -x 4

方法四:使用环境变量(非侵入式)

非侵入式,能解决大部分情况。huggingface 工具链会获取HF_ENDPOINT环境变量来确定下载文件所用的网址,所以可以使用通过设置变量来解决。

HF_ENDPOINT=https://hf-mirror.com python your_script.py

不过有些数据集有内置的下载脚本,那就需要手动改一下脚本内的地址来实现了。


补充:
如何快速下载huggingface模型——全方法总结
stackoverflow:how-to-download-a-model-from-huggingface
在这里插入图片描述

常见错误问答

0, 有些项目需要登录,如何下载?

部分 Gated Repo 需登录申请许可。为保障账号安全,本站不支持登录,需先前往 Hugging Face 官网登录、申请许可,在官网这里获取 Access Token 后回镜像站用命令行下载。

部分工具下载 Gated Repo 的方法:

huggingface-cli: 添加–token参数
huggingface-cli download --token hf_*** --resume-download meta-llama/Llama-2-7b-hf --local-dir Llama-2-7b-hf
hfd: 添加–hf_username–hf_token参数
hfd meta-llama/Llama-2-7b --hf_username YOUR_HF_USERNAME --hf_token hf_***

其余如from_pretrainedwgetcurl如何设置认证 token,详见上面第一段提到的教程。

1, huggingface-cli: error: invalid choice: ‘download’

版本问题。huggingface-hub>=0.17.0 && Python>=3.8。

huggingface-cli 需安装 0.17.0 及以上的版本才支持download子命令,但如果你pip显示的可安装的最新版本都低于0.17.0,可能是你的Python版本没有达到huggingface_hub要求的3.8+的要求。

2, Error downloading … https://cdn-lfs.huggingface.co/xxx…

报错中有出现http://huggingface.co这个域名的,多半是因为没有正确设置镜像断点环境变量,导致走的仍然是hf官方服务器出现的网络错误。请正确设置 HF_ENDPOINT

3, 429 Client Error: Too Many Requests

网站访问量过大,达到速率上限,过五分钟会重置限制。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【深度学习基础】环境搭建 Linux报错bash: conda: command not found...
  • [C++]: 模板进阶
  • 【Nvidia+AI相机】涂布视觉检测方案专注提高锂电池质量把控标准
  • 数据分析入门指南:表结构数据(三)
  • MySQL8之mysql-community-devel的作用
  • 基于PHP+MySQL组合开发的家政预约小程序源码系统 带完整的安装代码包以及搭建部署教程
  • android调用openssl库
  • PHP同城多商户多行业系统小程序源码
  • UML建模案例分析-时序图和类图的对应关系
  • MySQL 中 SQL 查询语句的执行顺序
  • 基于go-zero二次开发的脚本
  • 基于JAVA+SpringBoot+Vue+uniApp小程序的心理健康测试平台
  • 真我GT 6,为什么敢叫“梦想机”?
  • Backend - C# 的日志Lognet4
  • Linux下常见压缩文件tar.xz、tar.bz2、tar.gz的区别
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • [译]CSS 居中(Center)方法大合集
  • 【面试系列】之二:关于js原型
  • CSS盒模型深入
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • Java比较器对数组,集合排序
  • js算法-归并排序(merge_sort)
  • MQ框架的比较
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • Python学习笔记 字符串拼接
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • React-flux杂记
  • SQL 难点解决:记录的引用
  • uni-app项目数字滚动
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 给初学者:JavaScript 中数组操作注意点
  • 基于游标的分页接口实现
  • 让你的分享飞起来——极光推出社会化分享组件
  • 如何设计一个微型分布式架构?
  • 入手阿里云新服务器的部署NODE
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  •  一套莫尔斯电报听写、翻译系统
  • 移动端解决方案学习记录
  • # 详解 JS 中的事件循环、宏/微任务、Primise对象、定时器函数,以及其在工作中的应用和注意事项
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (52)只出现一次的数字III
  • (C语言)字符分类函数
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (第一天)包装对象、作用域、创建对象
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (七)Java对象在Hibernate持久化层的状态
  • (原)本想说脏话,奈何已放下
  • (原創) 物件導向與老子思想 (OO)
  • (转)3D模板阴影原理
  • (转)ABI是什么
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (转)大道至简,职场上做人做事做管理
  • ***检测工具之RKHunter AIDE
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码