【AI之路】使用huggingface_hub优雅解决huggingface大模型下载问题

这篇具有很好参考价值的文章主要介绍了【AI之路】使用huggingface_hub优雅解决huggingface大模型下载问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

Hugging face 资源很不错,可是国内下载速度很慢,动则GB的大模型,下载很容易超时,经常下载不成功。很是影响玩AI的信心。(有人说用迅雷啊,试试就知道有无奈。)

经过多次测试,终于搞定了下载,即使超时也可以继续下载。真正实现下载无忧!究竟如何实现?且看本文分解。

再有模型下不了的,请移步:
【AI之路】使用huggingface_hub通过huggingface镜像站hf-mirror.com下载大模型(附代码,实现大模型自由)


一、Hugging face是什么?

Hugging face 起初是一家总部位于纽约的聊天机器人初创服务商,本来打算创业做聊天机器人,在Github上开源了一个Transformers库,虽然聊天机器人业务没搞起来,但是他们的这个库在机器学习社区迅速大火起来。目前已经共享了超100,000个预训练模型,10,000个数据集。俨然陈国了AI开发者的GitHub,提供了模型、数据集(文本|图像|音频|视频)、类库(比如transformers|peft|accelerate)、教程等。

官网网址:https://huggingface.co/

二、准备工作

安装pip install huggingface_hub安装huggingface_hub包

C:\Users\Administrator>pip install huggingface_hub
Requirement already satisfied: huggingface_hub in d:\programdata\anaconda3\lib\site-packages (0.13.2)
Requirement already satisfied: pyyaml>=5.1 in d:\programdata\anaconda3\lib\site-packages (from huggingface_hub) (6.0)
Requirement already satisfied: typing-extensions>=3.7.4.3 in d:\programdata\anaconda3\lib\site-packages (from huggingface_hub) (4.4.0)
Requirement already satisfied: packaging>=20.9 in d:\programdata\anaconda3\lib\site-packages (from huggingface_hub) (22.0)
Requirement already satisfied: requests in d:\programdata\anaconda3\lib\site-packages (from huggingface_hub) (2.28.2)
Requirement already satisfied: tqdm>=4.42.1 in d:\programdata\anaconda3\lib\site-packages (from huggingface_hub) (4.64.1)
Requirement already satisfied: filelock in d:\programdata\anaconda3\lib\site-packages (from huggingface_hub) (3.12.0)
Requirement already satisfied: colorama in d:\programdata\anaconda3\lib\site-packages (from tqdm>=4.42.1->huggingface_hub) (0.4.6)
Requirement already satisfied: charset-normalizer<4,>=2 in d:\programdata\anaconda3\lib\site-packages (from requests->huggingface_hub) (2.0.4)
Requirement already satisfied: idna<4,>=2.5 in d:\programdata\anaconda3\lib\site-packages (from requests->huggingface_hub) (3.4)
Requirement already satisfied: certifi>=2017.4.17 in d:\programdata\anaconda3\lib\site-packages (from requests->huggingface_hub) (2022.12.7)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in d:\programdata\anaconda3\lib\site-packages (from requests->huggingface_hub) (1.26.14)
C:\Users\Administrator>

三、下载整个仓库或单个大模型文件

找到自己需要下载的仓库,红色框即是repo_id ,选择蓝色框即可查看仓库内文件。
【AI之路】使用huggingface_hub优雅解决huggingface大模型下载问题,AI,Python经验池,人工智能,python

1. 下载整个仓库

使用snapshot_download下载整个仓库快照,如下几个参数注意下:

  • allow_patterns选择需要下载的文件类型,通过ignore_patterns设置需要忽略的文件类型。
  • resume_download=True,表示允许断点续传,整个很有必要。
  • etag_timeout=100,超时阈值,默认10秒,这里自己根据情况修改。
    更多参数详情可访问:https://huggingface.co/docs/huggingface_hub/v0.16.3/guides/download
import time
from huggingface_hub import snapshot_download
repo_id = "LinkSoul/Chinese-Llama-2-7b"
local_dir = 'd:/ai/models1'
cache_dir = local_dir + "/cache"
while True:
    try:
        snapshot_download(cache_dir=cache_dir,
        local_dir=local_dir,
        repo_id=repo_id,
        local_dir_use_symlinks=False,
        resume_download=True,
        allow_patterns=["*.model", "*.json", "*.bin",
        "*.py", "*.md", "*.txt"],
        ignore_patterns=["*.safetensors", "*.msgpack",
        "*.h5", "*.ot",],
        )
    except Exception as e :
        print(e)
        # time.sleep(5)
    else:
        print('下载完成')
        break

【AI之路】使用huggingface_hub优雅解决huggingface大模型下载问题,AI,Python经验池,人工智能,python

2. 下载单个大模型文件

个别情况下,我们只需要下载大模型文件,不需要下载整个项目仓库,使用hf_hub_download进行下载即可。参数设置同上解释。

import time
from huggingface_hub import hf_hub_download
repo_id = "BlinkDL/rwkv-4-pile-7b" # 仓库ID
local_dir = 'd:/ai/models2'
cache_dir = local_dir + "/cache"
filename= "RWKV-4-Pile-7B-Chn-testNovel-done-ctx2048-20230404.pth"
while True:   
    try:
        hf_hub_download(cache_dir=cache_dir,
        local_dir=local_dir,
        repo_id=repo_id,
        filename=filename,
        local_dir_use_symlinks=False,
        resume_download=True,
        etag_timeout=100
        )
    except Exception as e :
        print(e)
        # time.sleep(5)
    else:
        print('下载完成')
        break

【AI之路】使用huggingface_hub优雅解决huggingface大模型下载问题,AI,Python经验池,人工智能,python


总结

几经测试,终于搞定了模型下载,以后再也不用为下载大文件发愁了。
踩坑无数,撰文只为各位博友少走弯路。
觉得有帮助,发动小手点个赞,谢谢!

附录

huggingface中文社区
https://huggingface.co/blog/zh文章来源地址https://www.toymoban.com/news/detail-700667.html

到了这里,关于【AI之路】使用huggingface_hub优雅解决huggingface大模型下载问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HuggingGPT解析:使用 ChatGPT及HuggingFace上的族系解决AI问题

    HuggingGPT是一个利用大型语言模型(LLMs)来解决复杂AI任务的框架。其基本理念是,考虑到LLMs(例如ChatGPT)在语言理解、生成、交互和推理方面展现出了卓越的能力,我们主张可以让LLMs充当控制器,管理现有的AI模型来解决复杂的AI任务,并且可以利用语言作为一种通用接口。

    2024年02月13日
    浏览(44)
  • AIGC:【LLM(三)】——JARVIS:连接ChatGPT和HuggingFace解决AI问题

    解决具有不同领域和模态的复杂人工智能任务是通往人工通用智能的关键骤。尽管存在丰富的适用于不同领域和模态的人工智能模型,但它们无法处理复杂的人工智能任务。考虑到大型语言模型(LLMs)在语言理解、生成、交互和推理方面表现出色,我们主张LLMs可以作为一个

    2024年02月12日
    浏览(52)
  • 如何优雅地下载huggingface上模型,以llama2模型下载为例

    由于llama2模型的下载需要经过官方的授权,这就需要登陆hugging face的,对模型页面进行申请。等待审核通过后,才能够下载。如果在单纯用 git lfs 的方式进行下载,需要输入账号和密码。为了更快速地进行下载,既能够设置密码、也能够设置代理,采用脚本的方式会更加合适

    2024年02月16日
    浏览(60)
  • 优雅草AI直播换脸deepfacelive-优化版实战-如何使用AI换脸进行直播换脸-高大上名字“数字克隆人”

    首先全部解压,大概1个多G 这里我们的小火箭倒计时发射,到0的时候飞升就安装完毕,最后3秒可能等的比较久。 运行目录下的DeepFaceLive.bat 这是软件主界面。 obs studio 官网地址 obsproject.com/zh-cn/download 然而下载肯定是很慢不用说,因此建议大家从其他软件站搜名字下载 要么选

    2024年02月05日
    浏览(57)
  • HuggingFace开源的自然语言处理AI工具平台

    HuggingFace是一个开源的自然语言处理AI工具平台,它为NLP的开发者和研究者提供了一个简单、快速、高效、可靠的解决方案,让NLP变得更加简单、快速、高效、可靠。 Hugging Face平台主要包括以下几个部分: Transformers:一个提供了数千种预训练好的NLP模型(如BERT、GPT-3等)以及

    2024年02月12日
    浏览(43)
  • [AI]如何让语言模型LLMs流式输出:HuggingFace Transformers实现

    HugginFace Transforms是一个非常方便的库,集成了非常多SOTA的模型,包含:LLAMA, GPT, ChatGLM Moss,等。目前基本上主流的方案都是基于HugginFace Transforms这个框架实现的。以前如果要流式输出需要自己去改模型底层的推理逻辑。 如ChatGLM,自己实现的流式输出如下: hugging face也注意到

    2024年02月16日
    浏览(59)
  • AI绘画部署-Stable Diffusion(huggingface API图片生成初体验)

    最近,在很多地方都看到了各个大佬用AI生成的神图,索性从网上搜集资料部署一下体验一下AI绘画的魅力。本文基于huggingface API在colab上构建AI绘画。 https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers/stable_diffusion.ipynb#scrollTo=AAVZStIokTVv 点击右上角 连接 初始化完成

    2024年02月03日
    浏览(72)
  • 从服务器上直接下载huggingface模型,解决huggingface无法连接问题

    在服务器上使用huggingface模型时,如果直接指定模型名称,用AutoTokenizer.from_pretrained(“model_name”),可能会由于网络原因会报错 Failed to connect to huggingface.co port 443 after 75018 ms: Operation time out 因此我们需要下载模型到服务器上,得到模型本地的路径model_dir,再通过AutoTokenizer.fro

    2024年02月04日
    浏览(178)
  • HuggingFace过去七天最流行的AI模型一览——预训练大模型绝对王者

    HuggingFace是目前最火热的AI社区,很多人称之为AI模型的GitHub。包括Google、微软等很多知名企业都在上面发布模型。 HuggingFace简介:https://www.datalearner.com/blog/1051636550099750 而HuggingFace上提供的流行的模型也是大家应当关注的内容。本文简单介绍一下2023年4月初的七天(当然包括

    2024年02月06日
    浏览(68)
  • 专访HuggingFace CTO:开源崛起、创业故事和AI民主化丨智源独家

    导读 HuggingFace CTO Julien Chaumond认为,在大模型时代,AI民主化至关重要。随着大语言模型和复杂人工智能系统的崛起,持续提升AI技术的可及性有助于确保这些技术的获取和控制不集中在少数强大实体手中。技术民主化促进了机会均等,减少了数字鸿沟,而说起来容易做起来难

    2024年02月05日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包