python使用pycrawlers批量下载huggingface上的模型与数据文件

2023-11-06


前言

现在从下载huggingface的文件一般使用git,下载单个小型模型的文件使用git也还是可以的,那么想一次下载多个文件呢?
现介绍pycrawlers这个python包,使用这个包可以轻松实现批量下载,以及进度显示,断点续传

一、git下载的例子

在这里插入图片描述

上面的例子使用git下载了bert-base-chinese,可以从图片上看到只有下载的大概情况,并没有每个文件的详细下载情况。

当模型文件较大的时候,会卡在 Unpacking objects: 100% (52/52), done.
等模型全部下载完成才会显示 Filtering content: 100% (4/4), 1.59 GiB | 9.47 MiB/s, done.
这会导致我们无法知道下载的进度,进而不知道多久才能下完,是否要选择后台下载。

二、pycrawlers的使用

1. 安装

pip install pycrawlers

2. 批量下载

代码如下(示例):

from pycrawlers import huggingface
# 实例化类
hg = huggingface()

urls = ['https://huggingface.co/albert-base-v2/tree/main',
        'https://huggingface.co/dmis-lab/biosyn-sapbert-bc5cdr-disease/tree/main']
            
# 批量下载
# 默认保存位置在当前脚本所在文件夹 ./
hg.get_batch_data(urls)

# 自定义下载位置
# paths = ['./model_1/albert-base-v2', './model_2/']
# hg.get_batch_data(urls, paths)

3. 单个下载

代码如下(示例):

from pycrawlers import huggingface
# 实例化类
hg = huggingface()

url = 'https://huggingface.co/albert-base-v2/tree/main'

# 单个下载
# 默认保存位置在当前脚本所在文件夹 ./
hg.get_data(url)

# 自定义下载位置
# path = './model_1/albert-base-v2'
# hg.get_data(url, path)

4. 示例

以下载 https://huggingface.co/albert-base-v2/tree/main 为例

在这里插入图片描述

5. 后台下载

可以使用nohup 执行python文件实现后台下载,当下载大的文件的时候非常方便。
例:
nohup python3 -u download_models.py > dm.log 2>&1 &

使用下面命令同步查看日志:
tail -f dm.log

6. 断点续传

版本1.0.0以上支持断点续传,无需配置


总结

以上就是使用pycrawlers批量下载huggingface上的模型与数据文件的全部内容了,欢迎交流。
pycrawlers以后还会拓展其他下载功能,敬请期待。
特别说明:
目前还不支持登陆huggingface账号,有需下载登陆才能下载的模型文件,可以参考手动下载或参考官方下载函数。
官方下载函数链接:https://huggingface.co/docs/huggingface_hub/v0.10.1/en/package_reference/file_download#huggingface_hub.hf_hub_download
本文仅供学习交流,未经同意严禁转载

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python使用pycrawlers批量下载huggingface上的模型与数据文件 的相关文章

随机推荐

  • 物联网技术

    作者 阏男秀 链接 https www zhihu com question 50125636 answer 124938067 来源 知乎 著作权归作者所有 商业转载请联系作者获得授权 非商业转载请注明出处 物联网技术之四 无线自组网 无
  • springboot(一):构建最简单的springboot项目

    springboot应该是在spring体系基础上发展起来的 使用springboot 可以快速构建开发项目 并快速集成相关组件 很多开源的组件都有springboot的实现了 有人说它的设计理念为约定大于配置 就是好比说在springbo
  • 为什么Centos装上以后,执行apt-get命令提示没有该命令

    CentOS的软件安装工具不是apt get 是yum yum y install 你要安装的文件
  • java最大堆空间会自动扩增吗_最大化Java堆空间

    我试图在 Java中使用非常大的方阵 n 1e6或更大的数量级 矩阵不是稀疏的 所以我没有看到很多方法将它们表示为2D数组 这需要n 2 sizeof int 位的内存 显然 我正在获得堆溢出错误 即使添加编译器标志来使用我的机器将允许的大
  • 二十九.刷题.19

    输入两点坐标 X1 Y1 X2 Y2 0 lt x1 x2 y1 y2 lt 1000 计算并输出两点间的距离 include
  • centos7.3 32位 安装ssh实现远程登陆

    centos7 3 32位 安装ssh实现远程登陆 安装ssh sudo yum install openssh 关闭防火墙 永久禁用 sudo systemctl disable firewalld 重启ssh sudo systemct
  • 流动的数据——使用 RxJS 构造复杂单页应用的数据逻辑

    感谢作者徐飞的授权发布 作者 徐飞 网名民工精髓V 曾任Teambition前端架构师 苏宁云计算中心前端架构师 有十年以上大型企业应用前端架构及开发经验 熟悉AngularJS等框架 对Web组件化有一些思考 博客地址 https git
  • 微软server2012服务器端客户端,windows server 2012 datacenter配置iSCSI目标服务器和客户端配置...

    您好 1 在添加角色时 添加 文件和存储服务 文件和iSCSI服务 iSCSI目标存储提供程序 VDS和VSS硬件提供程序 这项主要的作用是什么 在配置iSCSI目标服务器时 有没有必要安装 这个应该 是 让 iscsi 卷 支持 VSS
  • gitee配置SSH公钥

    第一步 找个地方打开 git bash 然后输入生成ssh公钥的命令 ssh keygen t rsa C your email 然后敲四次回车生成公钥 第二步 输入查看公钥的命令 cat ssh id rsa pub 结果如下 第三步 将
  • 如何在微信小程序中优雅地发送异步请求

    一 微信小程序运行环境 微信小程序的 javascript 运行环境和浏览器不同 页面的脚本逻辑是在JsCore中运行 JsCore是一个没有窗口对象的环境 所以不能在脚本中使用window 也无法在脚本中操作组件 JsCore中也没有 X
  • ProtoBuf(Google Protocol Buffers)—— C++开发具体教程

    ProtoBuf C 开发 教程 C 开发 教程 1 定义你的 protocol 格式 1 1 protocol 字段格式 1 2 指定字段规则 1 3 proto文件 2 编译你的 Protocol Buffers 3 The Proto
  • 【华为OJ】【在字符串中找出连续最长的数字串】

    题目描述 请一个在字符串中找出连续最长的数字串 并把这个串的长度返回 如果存在长度相同的连续数字串 返回最后一个连续数字串 注意 数字串只需要是数字组成的就可以 并不要求顺序 比如数字串 1234 的长度就小于数字串 1359055 如果没
  • 模板类的特化和类型萃取

    模板类的特化 有时为了需要 针对特定的类型 需要对模板进行特化 也就是所谓的特殊处理 全特化 对传入的数据类型都做了限制 偏特化 半特化 偏特化并不仅仅是指特殊部分参数 而是针对模板参数更进一步的条件限制所设计出来的一个特化版本 模板的全特
  • Linux vim的常见基本操作

    目录 vim是一款多模式的编辑器 命令模式下 用小写英文字母 h j k l 分别控制光标左 下 上 右移一格 gg 定位到代码第一行 n shift g 定位到任意一行 最后一行 移动到光标所在行的结尾 移动到光标所在行的开头 w 以单词
  • Linux之 Shell分析日志文件

    文章目录 前言 1 查看有多少个IP访问及某一个页面被访问的次数 2 查看每一个IP访问了多少个页面及个IP访问的页面数进行从小到大排序 3 查看某一个IP访问了哪些页面及去掉搜索引擎统计的页面 4 查看2015年8月16日14时这一个小时
  • React Hook的用法: Ref + useMemo + 自定义Hook(三)

    React Hook的用法 Ref Hook 这个Hook的作用是可以通过他来获取到Dom元素节点 使用起来非常方便 关键代码如下 const xxxEle useRef initialValue 1 useRef返回一个ref变量 并接受
  • U盘怎么重装系统到电脑上

    当今社会 电脑可以说是融入了我们的生活 每个工作职能都需要使用到电脑来录入信息 电脑既然这么重要 但还是偶然出现些小故障 我们都可以通过u盘来重装系统拯救电脑 更多系统教程尽在小白系统重装官网 1 注 准备好一个8g以上u盘 一台能上网的电
  • Blender里的三种绑定:(一)主从绑定

    文章目录 Blender里的三种绑定 主从绑定 进行物体绑定 进行顶点绑定 解除绑定 保持变换 无反向 进行晶格绑定 Blender里的三种绑定 1 Blender中一共有三种绑定模式 分别是 主从绑定 约束 骨骼 主从绑定 1 主从绑定即
  • python下载安装过程——超详细!

    Python 下载安装 文末附python全套学习资料 安装python分三个步骤 1 下载python 2 安装python 3 检查是否安装成功 1 下载Python 1 python下载地址https www python org d
  • python使用pycrawlers批量下载huggingface上的模型与数据文件

    文章目录 前言 一 git下载的例子 二 pycrawlers的使用 1 安装 2 批量下载 3 单个下载 4 示例 5 后台下载 6 断点续传 总结 前言 现在从下载huggingface的文件一般使用git 下载单个小型模型的文件使用g