当前位置:   article > 正文

huggingface 数据集和模型的下载_huggingface官网

huggingface官网

一、huggingface介绍

        huggingface的官方网站是:https://huggingface.co/。官网首页上的简介是,“The platform where the machine learning community collaborates on models, datasets, and applications.” ,可以理解为,一个提供了机器学习相关模型、数据集和应用的分享交流社区平台。

        上面提供了很多AI领域的资源:Datasets(数据集)、Models(预训练模型)、Spaces(AI相关应用)、docs(相关技术文档)等。

二、下载方法

1. python使用dataset libraries的load方法加载

 直接点击数据集右边的 “Use in dataset library” 按钮,即可跳出加载数据的代码。

方便起见,可以保存到本地指定路径:

  1. from datasets import load_dataset
  2. dataset = load_dataset("m-a-p/COIG-CQIA")
  3. dataset.save_to_disk('./data/COIG-CQIA')

 下载下来的不是原始项目数据,要用函数进行调用:

  1. import datasets
  2. dataset = load_from_disk("your_path")

运行过程中遇到了 ConnectionError: Couldn't reach 'm-a-p/COIG-CQIA' on the Hub (SSLError)的报错,解决方法见第三部分。

2. python调用huggingface_hub library下载

        这个方法下载的是整个项目的所有文件包括一些历史版本,和点进项目的files and versions看到的文件结构一样,就是不用在网页上一个个点击下载文件了,直接批量下载。

(1)下载dataset

https://huggingface.co/datasets/m-a-p/COIG-CQIA/tree/main

  1. from huggingface_hub import hf_hub_download
  2. snapshot_download(repo_id='m-a-p/COIG-CQIA',
  3. repo_type="dataset", # 可选 [dataset,model]
  4. local_dir='./data/test', # 下载到本地的路径
  5. resume_download=True) # 断点续传

这里repo_id是

(2)下载model

        以bert-base-chinese模型 https://huggingface.co/google-bert/bert-base-chinese/tree/main 为例:

        这种方法的优点是:在snaphot_download方法中,提供了allow_patterns和ignore_patterns两个参数用于部分文件下载,前者会对指定的匹配项进行下载,后者会忽略指定的匹配项下载其余文件。

        如下代码,可以只下载Pytorch版本的模型,不包括TensorFlow和Flax的模型。

  1. from huggingface_hub import snapshot_download
  2. snapshot_download(repo_id="bert-base-chinese", local_dir='./bert-base-chinese', resume_download=True, ignore_patterns=["*.h5", "*.ot", "*.msgpack"])

 

3. 使用git下载

        如果是大数据量,就先安装git lfs,在已安装git的前提下,windows上直接运行

git lfs install

        如图,直接在项目网页上点击clone repository可以获取clone命令,但现在连接hugging face需要挂vpn,要在git中进行设置,我尝试这种方式一直下不下来,会报错 fatal: unable to access 'https://huggingface.co/datasets/m-a-p/COIG-CQIA/': Failed to connect to huggingface.co port 443: Timed out,遂放弃。

 

 4. 使用pycrawlers包

        先使用pip安装pycrawlers,如果遇到问题参考下面的解决方式。

  1. from pycrawlers import huggingface
  2. # 实例化类
  3. hg = huggingface()
  4. urls = ['https://huggingface.co/datasets/m-a-p/COIG-CQIA/tree/main',
  5. 'https://huggingface.co/google-bert/bert-base-chinese/tree/main']
  6. # 批量下载
  7. # 默认保存位置在当前脚本所在文件夹 ./
  8. # hg.get_batch_data(urls)
  9. # 自定义下载位置
  10. paths = ['./data/git-COIG-CQIA', './data/bert-base-chinese']
  11. hg.get_batch_data(urls, paths)

        这个方法下载数据比直接用git方便点,可以批量下载多个项目,但还是得使用vpn才行,不需要像使用git那样额外配置。缺点是一次得下载项目制你给的所有文件,不能进行筛选指定。

四、遇到问题解决:

1、ImportError: cannot import name 'DtypeArg' from 'pandas._typing' (C:\Users\anaconda3\lib\site-packages\pandas\_typing.py)

解决方法:pandas版本改为1.3.0

2、ConnectionError: Couldn't reach 'm-a-p/COIG-CQIA' on the Hub (SSLError)

解决方法:

        在科学上网之后运行load_dataset()函数仍会报SSLError的错误,可以修改python环境路径下的.\anaconda3\Lib\urllib\request.py文件,搜索“proxyServer”关键词,将下面的代码注释并进行修改,即可跑通程序性成功下载:

参考教程:

huggingface(_hub)下载load报错ConnectionError: Couldn‘t reach ‘fusing/fill50k‘ on the Hub (SSLError)解决指南!_dataset hub connectionerror-CSDN

3. pip install pycrawlers 安装失败的大坑

        当Python大于等于3.7的时候,安装部分库时会出现这个编码问题。网上的解决方法都说先命令行运行 set PYTHONUTF8=1 再 pip就能成功,实际上直接执行这两步并没有操作成功,也尝试了设置环境变量,最终证实得设置【系统变量】PYTHONUTF8=1,然后一定要重启cmd再执行pip命令,就能成功安装了。

        参考https://github.com/alibaba/web-editor/issues/145 最下面的解决方法。

 

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号