Hugging face预训练模型下载和使用
Huggingface
Huggingface是一家公司,在Google发布BERT模型不久之后,这家公司推出了BERT的pytorch实现,形成一个开源库pytorch-pretrained-bert。后来这家公司又实现了其他的预训练模型,如GPT、GPT2、ToBERTa、T5等。此时,开源库的名字还叫pytorch-pretrained-bert就不太合适了,于是他们就将开源库的名字改成transformers,transformers包括各种模型的实现。
简而言之:Google发布的原始BERT预训练模型(训练好的参数)是基于Tensorflow的,Huggingface是基于pytorch的。
预训练模型下载
huggingface官网的这个链接:https://huggingface.co/models可以搜索到当前支持的模型,常用的预训练模型有以下几种:
BERT-Large, Uncased (Whole Word Masking)
语言种类:英文
网络结构:24-layer, 1024-hidden, 16-heads
参数规模:340M
BERT-Large, Cased (Whole Word Masking)
语言种类:英文
网络结构:24-layer, 1024-hidden, 16-heads
参数规模:340M
BERT-Base, Uncased
语言种类:英文
网络结构:12-layer, 768-hidden, 12-heads
参数规模:110M
BERT-Base, Cased
语言种类:英文
网络结构:12-layer, 768-hidden, 12-heads
参数规模:110M
Uncased和Cased:Uncased模型在WordPiece tokenization之前会转换成小写,如John Smith变为john smith. Uncased模型还会去除发音标记(accent markers).
Cased模型保留了大小写和发音标记。一般来说Uncased模型更好。但是在case信息也有作用的场景下,就应该使用cased模型
(e.g., Named Entity Recognition or Part-of-Speech tagging)。Multilingual表示预训练时使用多种语言的语料,Chinese表示预训练时使用中文,没有额外标注的则表示用英文语料训练。
ext差别是增加了训练数据集同时也增加了训练步数。
总之,不管预训练模型的种类如何的多,他们都是基于BERT的魔改模型,只不过是层数不同或者使用的训练语料不同,训练轮次不同等。做中文相关任务先考虑chinese-roberta-wwm-ext、ERNIE预训练模型吧。
下载
使用预训练模型需要下载模型的文件,最关键的是三个文件:
第一个是配置文件,config.json
第二个是词典文件,vocab.json或vocab.txt
第三个是预训练模型文件,pytorch_model.bin或tf_model.h5。 根据你使用的框架选择
下面具体看看下载方式:
首先,打开预训练模型所在网址,比如ERNIE是:https://huggingface.co/nghuyong/ernie-1.0
其次,点击Files and versions选项卡,就可以找到需要下载的文件:config.json、pytorch_model.bin、vocab.txt
ERNIE预训练模型包含的文件当然,你也可以把上面的所有文件都下载下来,这样肯定不会出错。
预训练模型的使用(API)
transformers库最关键的三个类
- model
- tokenizer
- configuration
其他类如GPT2LMHeadModel都是对应类的子类而已,根据模型的特点进行改进。
- 使用方式一:指定模型名字
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained(“nghuyong/ernie-1.0”)
model = AutoModel.from_pretrained(“nghuyong/ernie-1.0”)
这种方式不需要下载预训练模型,函数调用过程中如果发现没有这个模型就会自动下载
- 使用方式二:指定路径
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained(“/home/models/huggingface/gpt2”)
model = AutoModel.from_pretrained(“/home/models/huggingface/gpt2”)
这种方式需要先下载好预训练模型的文件
Hugging face预训练模型下载和使用相关推荐
- Bert,Albert,Roberta,XLNet的中英文预训练模型下载网址及教程
自然语言处理的各大热门的中英文预训练模型下载网址,包含了Bert,Albert, Roberta, XLNet等模型的base和large.tensorflow和pytorch版本的预训练模型. ht ...
- Hugging Face 预训练模型的快速下载方法
Hugging Face 中的预训练模型可以通过两种方式获取和使用:(1)在Hugging Face网站上下载对应的预训练模型的文件,本地加载:(2)在代码中指定预训练模型名进行加载. 由于网络问题, ...
- python调用yolov3模型,pytorch版yolov3训练自己的数据(数据,代码,预训练模型下载链接)...
1.数据预处理 准备图片数据(JPEGImages),标注文件(Annotations),以及划分好测试集训练集的索引号(ImageSets) 修改代码中voc_label.py文件中的路径以及类别, ...
- Keras预训练模型下载及迁移学习
Keras 预训练模型简介 在 Keras 中,包含有一个辅助应用模块 keras.applications,其提供了带有预训练权重的 Keras 模型.你可以直接使用这些模型,或者像本文一样对模型进 ...
- ViT pre-trained models 预训练模型下载
自己在网上找后缀为pth的VIT预训练模型花了很长时间,现在上传到百度网盘,提供给有需要的人.因为自己需要,我只下载了imagenet21k+imagenet2012_ViT-B_16-224和ima ...
- yolov5最新版本预训练模型下载
刚刚接触目标检测需要快速上手yolov5, 对于预训练模型yolov5s.pt, yolov5m.pt ..........的下载, 需要会科学上网 本人磕磕碰碰用了一些博主的分享,因为版本原因 ...
- Pytorch预训练模型下载慢解决方式
最近在使用与训练网络模型ResNet50 Faster R-CNN的时候,发现系统自带的下载方式是非常慢的,而且等待好久一段时间后出现: TimeoutError: [WinError 10060] ...
- Pytorch预训练模型下载并加载(以VGG为例)自定义路径
简述 一般来讲,Pytorch用torchvision调用vgg之类的模型话,如果电脑在cache(Pytorch硬编码的一个地址)(如果在环境变量中添加了TORCH_HOME 和TORCH_MODE ...
- bert预训练模型下载链接合集
做个整理,方便以后找不到的时候重新下载 官方抱抱脸合集网址: https://huggingface.co/models 找到需要的模型点进去,选files and versions 点击下载小箭头进 ...
最新文章
- LED音乐频谱之输出数据处理
- python-GUI,生成ssn
- 实战SSM_O2O商铺_12【商铺注册】View层之前台页面
- 05_专家的快速入门、加载MNIST数据集、数据集切分和混淆、定义类的方式构建模型、选择优化器和损失函数、训练模型和测试模型准确率
- mybatis入门(六)之SQL语句构建器类
- 数据挖掘 -- 分类的模型评估度量
- 全连接层的作用_全连接层实现
- Java原始客户端操作Mongodb 增删改查
- ARM-ELF文件格式与GNU ARM Linker机制
- js 中 ! + - ~ 符号和匿名函数
- limbo模拟器镜像Android,limbo模拟器win7镜像
- ILRuntime入门11 LitJson
- a59s刷机包卡刷 oppo_OPPO A59S刷机包下载|OPPO A59S刷机包官方下载-太平洋下载中心...
- 基于豆瓣和妹子的api用React Native写的demo
- 从0到1教你画原型图
- Pytorch入门学习(九)---detach()的作用(从GAN代码分析)
- Pisces的属性配置文件加载
- A callback was made on a garbage collected delegate of type...
- 质量运营在美团点评智能支付业务测试中的初步实践
- 2021漳州一中历年高考成绩查询,2021年漳州中考录取分数线,历年漳州各高中录取分数线排名...
热门文章
- jsp+ssm+mysql实现简单的物流快递管理系统源码+讲解教程+参考论文+开题报告
- ESD静电抑制器的应用
- 理解Python命名机制
- Tom围棋(弈城围棋)运行错误:当前运行的版本是系统无法识别的版本
- mysql 条码长度_EAN_13的数据长度是多少位?
- 基于卷积神经网络的主观题阅卷系统的设计与实现
- java dateformat gmt_如何将java.util.Date转换为GMT格式
- 到linux_Linux权限管理 -- linux用户
- go 之 浮点数相等判断
- 奎特尔星球|雷神之锤(上)