您当前的位置:首页 > IT编程 > 自然语言处理
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 |

自学教程:Hugging Face——大规模预训练模型下载和如何加载

51自学网 2023-09-16 07:02:19
  自然语言处理
这篇教程Hugging Face——大规模预训练模型下载和如何加载写得很实用,希望能帮到您。
Hugging Face——大规模预训练模型下载

Hugging Face——大规模预训练模型下载
本文主要记录如何在Hugging Face官网上下载模型,并加载。重点是前者。

Hugging Face官网: https://huggingface.co
Hugging Face的基本操作: https://huggingface.co/welcome

官网已说明:如果想命令行快速下载模型,需要提前安装好git-lfs环境。其他参考链接:

使用Hugging Face管道轻松应用NLP预训练模型
将bert预训练模型转化为pytorch版本
Hugging Face Model Hub 预训练模型镜像使用帮助
Hugging Face 预训练模型的快速下载方法
精髓

git lfs install
git clone https://huggingface.co/ ${username}/${model_name}

  1. 安装git-lfs
    Git LFS 是 Github 开发的一个 Git 的扩展,用于实现 Git 对大文件的支持。下图出自:Git LFS的使用(感谢原作者🙏)

(1)背景

在游戏开发过程中,设计资源占用了很大一部分空间,像png、psd等文件是二进制(blob)的,体积庞大,但git的diff/patch等是基于文件行的。对于二进制文件来说,git需要存储每次commit的改动。每次当二进制文件修改,发生变化的时候,都会产生额外的提交量,导致clone和pull的数据量大增,同时在线仓库的体积也会迅速增长。

LFS(Large File Storage,大文件存储) 就是为了解决这一问题而产生的工具。它将你所标记的大文件保存至另外的仓库,而在主仓库仅保留其轻量级指针。那么在你检出版本时,根据指针的变化情况下更新对应的大文件,而不是在本地保存所有版本的大文件。

在游戏开发过程中,设计资源占用了很大一部分空间,像png、psd等文件是二进制(blob)的,体积庞大,但git的diff/patch等是基于文件行的。对于二进制文件来说,git需要存储每次commit的改动。每次当二进制文件修改,发生变化的时候,都会产生额外的提交量,导致clone和pull的数据量大增,同时在线仓库的体积也会迅速增长。

LFS(Large File Storage,大文件存储) 就是为了解决这一问题而产生的工具。它将你所标记的大文件保存至另外的仓库,而在主仓库仅保留其轻量级指针。那么在你检出版本时,根据指针的变化情况下更新对应的大文件,而不是在本地保存所有版本的大文件。
在游戏开发过程中,设计资源占用了很大一部分空间,像png、psd等文件是二进制(blob)的,体积庞大,但git的diff/patch等是基于文件行的。对于二进制文件来说,git需要存储每次commit的改动。每次当二进制文件修改,发生变化的时候,都会产生额外的提交量,导致clone和pull的数据量大增,同时在线仓库的体积也会迅速增长。

LFS(Large File Storage,大文件存储) 就是为了解决这一问题而产生的工具。它将你所标记的大文件保存至另外的仓库,而在主仓库仅保留其轻量级指针。那么在你检出版本时,根据指针的变化情况下更新对应的大文件,而不是在本地保存所有版本的大文件。

(2)安装

A. Linux系统安装

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb .sh | sudo bash
sudo apt-get install git-lfs
git lfs install
B. Windows系统安装

下载安装 windows installer
运行 windows installer
在命令行执行 git lfs install
C. Mac系统安装

安装HomeBrew
/usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install )"
说明:部分系统可能存在版本问题

Warning: Ruby版本Homebrew安装脚本已被废弃,新版脚本使用Bash重写。
请使用以下命令:
/bin/bash -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install.sh )"
安装git-lfs
brew install git-lfs
打开lfs功能
git lfs install
(3)使用

执行 git lfs install开启lfs功能
使用 git lfs track命令进行大文件追踪 例如git lfs track "*.png"追踪所有后缀为png的文件
使用 git lfs track查看现有的文件追踪模式
提交代码需要将gitattributes文件提交至仓库. 它保存了文件的追踪记录
提交后运行git lfs ls-files可以显示当前跟踪的文件列表
将代码 push 到远程仓库后,LFS 跟踪的文件会以『Git LFS』的形式显示:
clone 时 使用'git clone' 或 git lfs clone均可

  1. Hugging Face下载模型
    git lfs install
    git clone https://huggingface.co/ ${username}/${model_name}
    为了证明有效,分别拿simbert与nezha举例。这里有个细节说明一下,单击下图红色框本可以展示出上面的具体下载命令行与使用示例,但部分电脑不行,可能与网络有关,待确定。

    不过展示不了也没关系,按照官网提示就可以下载。一般情况下,390MB的文件下载时间约35min左右,具体因模型大小、文件个数和网速有关。

    不过展示不了也没关系,按照官网提示就可以下载。一般情况下,390MB的文件下载时间约35min左右,具体因模型大小、文件个数和网速有关。
    不过展示不了也没关系,按照官网提示就可以下载。一般情况下,390MB的文件下载时间约35min左右,具体因模型大小、文件个数和网速有关。

(1)simbert下载

git lfs install
git clone https://huggingface.co/peterchou/simbert-chinese-base
其中 https://huggingface.co/peterchou/simbert-chinese-base 就是你搜索simbert后的网址。

下载过程如下:

下载后的结果如下:

(2)nezha下载

git lfs install
git clone https://huggingface.co/peterchou/nezha-chinese-base
网址出处同理,下载后的结果:

  1. 模型加载
    3行代码加载模型,以simbert为例:

from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("simbert-chinese-base")
model = AutoModel.from_pretrained("simbert-chinese-base")
运行效果:


返回列表
Labeled Optical Coherence Tomography (OCT) and Chest X-Ray Images for Classification
51自学网自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1