hf-mirror (huggingface 的国内镜像)

news2024/9/28 17:32:53

官网: 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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1914047.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ubuntu笔记本X86安装nomachine客户端

资源下载: 链接: link 一、首先下载文件 nomachine_8.2.3_4_x86_64.tar.gz到桌面。 二、打开终端,依次输入 进入root模式,需要输入密码,密码不可见。 sudu su复制nomachine_8.2.3_4_x86_64.tar.gz粘贴到/usr目录: cp -r nomachine_8.2.3_4_x86_64.tar.gz /usr进入

使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-敌机配置(五)

文章目录 开发思路敌人节点场景绿色敌人制作 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击(一) 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-激光组件(二) 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-飞船…

强化学习总结(有具体代码实现)

文章目录 第一部分 强化学习基础第1章 强化学习概述1.1 强化学习概念1.2 强化学习的环境1.3 强化学习的目标1.4 强化学习的数据 第2章 多臂老虎机问题(MAB问题)2.1 问题描述2.1.1 问题定义2.1.2 形式化描述2.1.3 累积懊悔2.1.4 估计期望奖励 2.2 解决方法…

(自用)gtest单元测试

gtest是Google的一套用于编写C测试的框架,可以运行在很多平台上(包括Linux、Mac OS X、Windows、Cygwin等等)。基于xUnit架构。支持很多好用的特性,包括自动识别测试、丰富的断言、断言自定义、死亡测试、非终止的失败、生成XML报…

跑GCN收敛实验时遇到的Python环境问题

错误1: 报错提示:No module named sklearn.utils.linear_assignment_ 原因:linear_assignment 函数从0.21开始被弃用了,并且将在0.23版本中移除。 解决方法:降低scikit-learn版本(本人通过该方法解决&#…

从零开始开发视频美颜SDK:实现直播美颜效果

因此,开发一款从零开始的视频美颜SDK,不仅可以节省成本,还能根据具体需求进行个性化调整。本文将介绍从零开始开发视频美颜SDK的关键步骤和实现思路。 一、需求分析与技术选型 在开发一款视频美颜SDK之前,首先需要进行详细的需求…

自定义指令实现Element Plus分页组件内容样式修改

改之前是这样的 改之后是这样的 因为之前我也有写过文章讲解Vue2-ElementUI分页组件的样式修改。 ElementUI 分页组件内容样式修改https://blog.csdn.net/qq_54548545/article/details/139728064且通常情况下,一个项目若是大量使用到分页组件,咱们也不可…

MySQL语法笔记(补充版)

补充上一篇博客没涉及到的实用语法 MySQL语法笔记(温习版) 查看正在使用的数据库 SELECT DATABASE()查看时区 show VARIABLES like time_zone修改时区 timestamp类型存储的时间与MySQL数据库系统安装时所选的时区有关,在不同时区下查看的同…

【SVN的使用- SVN的基本命令-SVN命令简写-注意事项-解决冲突 Objective-C语言】

一、SVN的更新命令:update 1.服务器如果新建了一个文件夹,yuanxing,版本变成6了, 我现在本地还只有三个文件夹,版本5, 终端里边,我们敲一个svn update, 我这儿就多了一个yuanxing文件夹, 这个就是更新,就是把服务器最新的代码下载下来, 假设服务器上大家提交了这…

[CTF]-PWN:House of Cat堆题型综合解析

原理: 调用顺序: exit->_IO_wfile_jumps->_IO_wfile_seekoff->_IO_switch_to_wget_mode _IO_wfile_seekoff源码: off64_t _IO_wfile_seekoff (FILE *fp, off64_t offset, int dir, int mode) {off64_t result;off64_t delta, new…

基于ARM Cortex-M3单片机研发的国产指纹芯片 - P1032BF1

智能指纹锁的核心部件:主板、离合器、指纹采集器、密码技术、微处理器(CPU)、智能应急钥匙。作为指纹锁来说,重要的应该是指纹芯片。指纹锁是通过电子部件及机械部件的精密组合而生产出的安全产品。指纹锁的本质无非是安全、便捷、…

man手册的安装和使用

man手册 - HQ 文章目录 man手册 - HQ[toc]man手册的使用Linux man中文手册安装man中文手册通过安装包安装通过apt安装 配置man中文手册README使用说明配置步骤 man手册的使用 首先man分为八个目录,每个目录用一个数字表示 1.可执行程序2.系统调用3.库函数4.特殊文…

7.深度学习概述

深度学习概述 1. 线性回归1.1 线性回归一般表达式1.2 线性回归内积表达方式:1.3 多个样本时,线性回归的进一步表达:1.4 线性回归方程的解析1.5 线性回归就是求loss函数的最小值 2. 如何求函数最小值2.1 一个例子2.2 求导法——求最小值2.3 求…

CVE-2024-34351 漏洞复现

CVE-2024-34351&#xff0c;由Next.js异步函数createRedirectRenderResult导致的SSRF。 影响版本&#xff1a;13.4.0< Next.js < 14.1.1 参考文章&#xff1a; Next.js Server-Side Request Forgery in Server Actions CVE-2024-34351 GitHub Advisory Database Gi…

Ubuntu22.04.4 LTS系统/安装Anaconda【GPU版】

安装过程 1.wget命令行下载 下载Anaconda并保存文件至本地指定目录 wget -c https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh -P ~/Downloads/anaconda3 查看是否下载好了 2.安装Anaconda 2.1 bash命令安装 bash后面是anaconda3下载好的路径 bash …

节点的真相:纠正大众对区块链安全概念的误解

​​发表时间&#xff1a;2024年4月25日 长期以来&#xff0c;人们都在对区块链及其基本原则进行讨论&#xff0c;但是只有“节点”这个概念被精准地定义&#xff0c;才能让我们穿越“去中心化”这个复杂概念的迷雾。在网络学的理论中&#xff0c;节点代表网络或图形中的一个实…

防火墙实验配置

实验要求 1&#xff0c;DMZ区内的服务器&#xff0c;办公区仅能在办公时间内&#xff08;9&#xff1a;00-18&#xff1a;00&#xff09;可以访问&#xff0c;生产区全天都能访问 2&#xff0c;生产区不允许访问互联网&#xff0c;办公区和游客区允许访问互联网 3&#xff0c;…

基于JavaSpringBoot+Vue+uniapp微信小程序校园宿舍管理系统设计与实现(论文7000字参考+源码+LW+部署讲解)

博主介绍&#xff1a;硕士研究生&#xff0c;专注于信息化技术领域开发与管理&#xff0c;会使用java、标准c/c等开发语言&#xff0c;以及毕业项目实战✌ 从事基于java BS架构、CS架构、c/c 编程工作近16年&#xff0c;拥有近12年的管理工作经验&#xff0c;拥有较丰富的技术架…

【Android】基于 LocationManager 原生实现定位打卡

目录 前言一、实现效果二、定位原理三、具体实现1. 获取权限2. 页面绘制3. 获取经纬度4. 方法调用5. 坐标转换6. 距离计算7. 完整代码 前言 最近公司有个新需求&#xff0c;想要用定位进行考勤打卡&#xff0c;在距离打卡地一定范围内才可以进行打卡。本文将借鉴 RxTool 的 Rx…

nodejs实现文件的分片写入和读取

&#xff08;1&#xff09;创建 test.cjs 文件 &#xff08;2&#xff09;代码 const {readFileSync,writeFileSync} require(fs); const {dirname} require(path); const chunkSize 1024 * 8; // 切片大小 const path C:\\Users\\cat\\De…