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

huggingface下载数据和模型,部分下载,本地缓存等常见问题踩坑

huggingface

注:系统环境为windows11 23H2,macOS和Linux用户可以查看下【参考】里的链接文档,差异不大

安装huggingface-cli

虽然可以通过代码下载模型和数据集(下文会提及),但我依然推荐你用此方法来管理和下载,更直观可控一些。
pip install huggingface-cli 将hugginface-cli安装到全局的python环境下,这样打开terminal就能直接使用命令。

可选:修改huggingface镜像地址和缓存地址

win+r 搜索 修改系统环境变量(或者edit system variables 在用户变量或者系统变量分区下添加如下新变量:
HF_HOME=F:\hf_home (huggingface根地址)
HF_DATASETS_CACHE = F:\hf_home\datasets (数据集的存放地址,之后也会再说明)
HF_ENDPOINT=https://hf-mirror.com (镜像地址,新的模型同步需要时间)
HF_HUB_DOWNLOAD_TIMEOUT=60 (超时重试间隔,秒数)

预下载

以whisper-small为例,在网页点击按钮复制完整模型名,
在这里插入图片描述
terminal中输入命令下载:
huggingface-cli download --resume-download openai/whisper-small
下载数据集的命令:
huggingface-cli download --resume-download --repo-type dataset mozilla-foundation/common_voice_13_0

等待下载完成,就可以在ollaMA或者脚本里直接使用下载好的模型了。

边用边下载

  • 模型
from huggingface_hub import hf_hub_download
import joblibmodel = joblib.load(hf_hub_download(repo_id='openai/whisper-small', repo_type="model", local_dir="./downloaded_models", filename='model.safetensors')
)
''' 加入local_dir可以指定下载位置:如 model = joblib.load(hf_hub_download(repo_id='openai/whisper-small', repo_type="model", local_dir="./downloaded_models", filename='model.safetensors'))'''
  • 数据集
from huggingface_hub.hf_api import HfFolder
from huggingface_hub import snapshot_downloadsnapshot_download(repo_id="mozilla-foundation/common_voice_13_0", force_download=True, repo_type="dataset")
  • 只下载&加载部分数据集

有的数据集非常之大但我们只需要部分进行训练,例如commonvoice包含了几百种世界语言,但我想使用单语言(如中文或者英文)的语音文件(全部下载大约需要500g以上)

from datasets import load_datasetcache_dir = "F:/hf_home/datasets"  # 这里指定了dataset的缓存目录,和上文提到的HF_DATASETS_CACHE 系统环境变量一致common_voice['train'] = load_dataset('mozilla-foundation/common_voice_13_0', 'en', split='train+validation', trust_remote_code=True, cache_dir=cache_dir, data_files="audio/en/*", download_mode="reuse_cache_if_exists" )
common_voice['test'] = load_dataset('mozilla-foundation/common_voice_13_0', 'en', split='test', trust_remote_code=True, cache_dir=cache_dir, data_files="audio/en/*", download_mode="reuse_cache_if_exists")

另外,有的数据集下载前需要登录huggngface账号,先前往HF个人资料在token设置页创建一个只读的token,
在这里插入图片描述
获取到token值,如hf_abc12345efg 后在snapshot_download 执行前新建一行:

hf_token = HfFolder.save_token('hf_abc12345efg')

使用命令行下载时候先huggingface-cli login 输入token登录后再下载即可,token会存储在%hf_home% 下同名文件里。

下载之后的数据集和模型在哪儿?

模型还好32b的ds也不过几十G,数据集动辄几十甚至上百g接近1T 不是小数目,这里我做了大概的总结,反复删除下载的确是个恼人的工作。
这里我做了大概总结,没什么必要的东西就可以删掉节约空间了。

如果你没按我先前说的修改huggingface根地址,那么你的数据集和模型都会下载到:C:\Users\用户名\.cache\huggingface,这就是 %hf_home%。也可以在资源管理器使用 %hf_home% 直接访问hf根目录:

  • 模型
    这个位置是固定的,一直在%hf_home%/models 下除非你手动修改下载模型到的地址:
    F:\hf_home\hub\models--openai--whisper-small

  • 数据集
    这里有两个目录,一个用来存放真正的(未解压的数据集),均以mozzila/commonvoice/en/* 为例,即只下载和加载部分数据集

    • 通过cli下载的模型, 和模型一样放在%hf_home%/hub/ 下,如F:\hf_home\hub\datasets--distil-whisper--librispeech_long
    • 未解压的数据集:%hf_home%/datasets/downloads/extracted/... (这里不能确定具体的文件)
    • 解压的数据集(在加载过程中会越来越大,删掉的话下次load会重新生成):%hf_home%/datasets//mozilla-foundation___common_voice_13_0/en-93cf6a7a474e4b7d/

参考

https://huggingface.co/docs/huggingface_hub/en/guides/cli

https://huggingface.co/docs/datasets/v1.12.0/cache.html

https://huggingface.co/docs/datasets/en/loading#local-and-remote-files

https://zhuanlan.zhihu.com/p/684178533

相关文章:

  • 生成项目.gitignore文件的多种高效方式
  • 分享:VTK版本的选择 - WPF空域问题
  • centos7安装NVIDIA显卡
  • 开源模型应用落地-qwen模型小试-Qwen3-8B-快速体验-pipeline方式(二)
  • JVM——Java的基本类型的实现
  • Webpack 和 Vite 中静态资源动态加载的实现原理与方法详解
  • 3dgs渲染 Nvdiffrast
  • 大数据在远程医疗中的创新应用:如何重塑医疗行业的未来
  • MySQL bin目录下的可执行文件
  • LeetCode LCP40 心算挑战题解
  • AI工作流自动化工具coze、dify、n8n,个人用户如何选择?
  • 当插入排序遇上“凌波微步“——希尔排序的奇幻漂流
  • 【DBeaver】如何连接MongoDB
  • Java学习手册:Spring MVC 架构与实现
  • iOS HTTPS 抓包踩坑记:几种方案尝试与替代工具记录
  • 人工智能数学基础(五):概率论
  • Android 移动开发:ProgressBar(转圈进度条)
  • C# 面向对象实例演示
  • 私有知识库 Coco AI 实战(六):打造 ES Mapping 小助手
  • C#学习第20天:垃圾回收
  • “非思”的思想——探索失语者的思想史
  • 武汉楼市新政:二孩、三孩家庭购买新房可分别享受6万元、12万元购房补贴
  • 节前A股持续震荡,“五一”假期持股还是持币过节胜率更高?
  • 80后共青团云南省委副书记许思思已任迪庆州委副书记
  • 上汽集团一季度净利润30.2亿元,同比增长11.4%
  • 杨国荣︱学术上的立此存照——《故旧往事,欲说还休》读后