Transformers从零到精通教程——Model

文章目录

  • 1.在线加载
  • 2.模型下载
  • 3.离线加载
  • 4.模型加载参数
  • 5.模型调用
    • 5.1不带Model Head的模型调用
    • 5.2带Model Head的模型调用

from transformers import AutoConfig, AutoModel, AutoTokenizer

1.在线加载

model = AutoModel.from_pretrained("hfl/rbt3", force_download=True)

2.模型下载

!git clone "https://huggingface.co/hfl/rbt3"!git lfs clone "https://huggingface.co/hfl/rbt3" --include="*.bin"
# 过滤掉tf文件

3.离线加载

model = AutoModel.from_pretrained("rbt3")

4.模型加载参数

model = AutoModel.from_pretrained("rbt3")model.config
'''
BertConfig {"_name_or_path": "rbt3","architectures": ["BertForMaskedLM"],"attention_probs_dropout_prob": 0.1,"classifier_dropout": null,"directionality": "bidi","hidden_act": "gelu","hidden_dropout_prob": 0.1,"hidden_size": 768,"initializer_range": 0.02,"intermediate_size": 3072,"layer_norm_eps": 1e-12,"max_position_embeddings": 512,"model_type": "bert","num_attention_heads": 12,"num_hidden_layers": 3,"output_past": true,"pad_token_id": 0,"pooler_fc_size": 768,"pooler_num_attention_heads": 12,"pooler_num_fc_layers": 3,"pooler_size_per_head": 128,"pooler_type": "first_token_transform",
..."transformers_version": "4.28.1","type_vocab_size": 2,"use_cache": true,"vocab_size": 21128
}
'''

config = AutoConfig.from_pretrained("./rbt3/")

查看参数同pipeline,看config的基类代码,具体方法也是

from transformers import BertConfig

5.模型调用

sen = "弱小的我也有大梦想!"
tokenizer = AutoTokenizer.from_pretrained("rbt3")
inputs = tokenizer(sen, return_tensors="pt")
inputs
'''
{
'input_ids': tensor([[ 101, 2483, 2207, 4638, 2769,  738, 3300, 1920, 3457, 2682, 8013,  102]]), 
'token_type_ids': tensor([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]),
'attention_mask': tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]])}
'''

5.1不带Model Head的模型调用

model = AutoModel.from_pretrained("rbt3", output_attentions=True)output = model(**inputs)
output
'''
BaseModelOutputWithPoolingAndCrossAttentions(last_hidden_state=tensor([[[ 0.6804,  0.6664,  0.7170,  ..., -0.4102,  0.7839, -0.0262],[-0.7378, -0.2748,  0.5034,  ..., -0.1359, -0.4331, -0.5874],[-0.0212,  0.5642,  0.1032,  ..., -0.3617,  0.4646, -0.4747],...,[ 0.0853,  0.6679, -0.1757,  ..., -0.0942,  0.4664,  0.2925],[ 0.3336,  0.3224, -0.3355,  ..., -0.3262,  0.2532, -0.2507],[ 0.6761,  0.6688,  0.7154,  ..., -0.4083,  0.7824, -0.0224]]],grad_fn=<NativeLayerNormBackward0>), pooler_output=tensor([[-1.2646e-01, -9.8619e-01, -1.0000e+00, -9.8325e-01,  8.0238e-01,-6.6268e-02,  6.6919e-02,  1.4784e-01,  9.9451e-01,  9.9995e-01,-8.3051e-02, -1.0000e+00, -9.8865e-02,  9.9980e-01, -1.0000e+00,9.9993e-01,  9.8291e-01,  9.5363e-01, -9.9948e-01, -1.3219e-01,-9.9733e-01, -7.7934e-01,  1.0720e-01,  9.8040e-01,  9.9953e-01,-9.9939e-01, -9.9997e-01,  1.4967e-01, -8.7627e-01, -9.9996e-01,-9.9821e-01, -9.9999e-01,  1.9396e-01, -1.1277e-01,  9.9359e-01,-9.9153e-01,  4.4752e-02, -9.8731e-01, -9.9942e-01, -9.9982e-01,2.9360e-02,  9.9847e-01, -9.2014e-03,  9.9999e-01,  1.7111e-01,4.5071e-03,  9.9998e-01,  9.9467e-01,  4.9726e-03, -9.0707e-01,6.9056e-02, -1.8141e-01, -9.8831e-01,  9.9668e-01,  4.9800e-01,1.2997e-01,  9.9895e-01, -1.0000e+00, -9.9990e-01,  9.9478e-01,-9.9989e-01,  9.9906e-01,  9.9820e-01,  9.9990e-01, -6.8953e-01,9.9990e-01,  9.9987e-01,  9.4563e-01, -3.7660e-01, -1.0000e+00,1.3151e-01, -9.7371e-01, -9.9997e-01, -1.3228e-02, -2.9801e-01,-9.9985e-01,  9.9662e-01, -2.0004e-01,  9.9997e-01,  3.6876e-01,-9.9997e-01,  1.5462e-01,  1.9265e-01,  8.9871e-02,  9.9996e-01,9.9998e-01,  1.5184e-01, -8.9714e-01, -2.1646e-01, -9.9922e-01,
...1.7911e-02, 4.8672e-01],[4.0732e-01, 3.8137e-02, 9.6832e-03,  ..., 4.4490e-02,2.2997e-02, 4.0793e-01],[1.7047e-01, 3.6989e-02, 2.3646e-02,  ..., 4.6833e-02,2.5233e-01, 1.6721e-01]]]], grad_fn=<SoftmaxBackward0>)), cross_attentions=None)
Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings...
'''

output.last_hidden_state.size()
'''
torch.Size([1, 12, 768])
'''

5.2带Model Head的模型调用

from transformers import AutoModelForSequenceClassification, BertForSequenceClassificationclz_model = AutoModelForSequenceClassification.from_pretrained("rbt3", num_labels=10)
clz_model(**inputs)
'''
SequenceClassifierOutput(loss=None, logits=tensor([[-0.1776,  0.2208, -0.5060, -0.3938, -0.5837,  1.0171, -0.2616,  0.0495,0.1728,  0.3047]], grad_fn=<AddmmBackward0>), hidden_states=None, attentions=None)
'''clz_model.config.num_labels
# 2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/33728.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用SpringAMQP的基本步骤

概述 SpringAMQP是一个基于Spring框架的开源项目&#xff0c;用于支持使用AMQP&#xff08;Advanced Message Queuing Protocol&#xff09;进行消息传递。它提供了对AMQP通信的简化抽象和集成&#xff0c;使得在Spring应用程序中使用AMQP变得更加简单和方便。 SpringAMQP的主…

实现跨域的几种方式

原理 前后端的分离导致了跨域的产生 跨域的三要素&#xff1a;协议 域名 端口 三者有一个不同即产生跨域 例如&#xff1a; http://www.csdn.com https://www.csdn.com 由于协议不同&#xff0c;端口不同而产生跨域 注&#xff1a;http的默认端口80&#xff0c;https的默…

Android应用开发(37)LTPO帧率测试基于Surfaceview(暂存)

Android应用开发学习笔记——目录索引 参考android官网&#xff1a; Frame rate | Android media | Android Developers多重刷新率 | Android 开源项目 | Android Open Source ProjectWindowManager.LayoutParams | Android Developers 目前市面上旗舰手机基本都是…

Python生成指定大小文件:txt/图片/视频/csv

如题&#xff0c;做测试的懂的都懂&#xff0c;不多解释 相比其他大佬&#xff0c;本脚本基于gpt编写后整理&#xff0c;生成的文件更真实&#xff0c;能够打开预览&#xff0c;看过其他人的生成脚本&#xff0c;只是一个符合大小&#xff0c;但是是空白或不能打开的文件。 话…

ad+硬件每日学习十个知识点(26)23.8.6 (DCDC的降压电路、升压电路、降压-升压电路,同步整流,选型考虑同步、隔离)

文章目录 1.DCDC的降压原理2.DCDC的升压原理3.DCDC的升压和降压原理4.什么是肖特基二极管造成的死区电压&#xff1f;5.MOS管有死区电压么&#xff1f;6.DCDC的同步整流&#xff08;用MOS管取代整流二极管&#xff0c;避免死区电压的影响&#xff09;7.DCDC选型——同步与非同步…

近地面无人机植被定量遥感与生理参数反演技术

遥感&#xff08;RS-Remote Sensing&#xff09;——不接触物体本身&#xff0c;用传感器收集目标物的电磁波信息&#xff0c;经处理、分析后&#xff0c;识别目标物&#xff0c;揭示其几何、物理性质和相互关系及其变化规律的现代科学技术。 换言之&#xff0c;即是“遥远的感…

一文读懂什么是Byzer

目录 一、什么是Byzer? 二、Byzer特性 2.1 语法特性 2.2 数据的管理特性 2.3 支持自定义函数拓展Byzer语法 三、Byzer有哪些功能&#xff1f; 3.1 Byzer-Lang语言特性 3.1.1强大的数据处理能力 3.1.2内置机器学习算法 3.2 Byzer-Lang支持权限控制 3.3 Byzer-LLM拓展…

Spring测试题及答案

1&#xff1a;下面关于“依赖注入”的说法&#xff0c;错误的是&#xff08;D&#xff09; A. 将组件间的依赖关系采取配置文件的方式管理&#xff0c;而不是硬编码在代码中 B. 降低了组件间的耦合&#xff0c;使程序更容易维护和升级 C. 促进了“面向接口编程”&#xff0c…

【工程优化问题】基于鲸鱼、萤火虫、灰狼优化算法的张力、压缩弹簧设计问题研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

JQuery判断radio(单选框)是否选中和获取选中值方法总结

使用checked属性判断选中、jquery获取radio单选按钮的值、获取一组radio被选中项的值、设置单选按钮被选中等&#xff0c;详细如下&#xff1a; 一、利用获取选中值判断选中 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.…

el-tree-select那些事

下拉菜单树形选择器 用于记录工作及日常学习涉及到的一些需求和问题 vue3 el-tree-select那些事 1、获取el-tree-select选中的任意层级的节点对象 1、获取el-tree-select选中的任意层级的节点对象 1-1数据集 1-2画面 1-3代码 1-3-1画面代码 <el-tree-selectv-model"s…

(6)所有角色数据分析-6

http://t.csdn.cn/KrurEhttp://t.csdn.cn/KrurE &#xff08;5&#xff09;中的页面&#xff0c;倾向于向用户展示所有数据&#xff0c;但却没有对数据进行比较、分析&#xff0c;用户不能直观的感受到各种数据之间的关系与变化幅度&#xff0c;所以&#xff0c;下面将向用户提…

SQLAlchemy------更多查询

1 查询&#xff1a; filer:写条件 filter_by&#xff1a;等于的值 res session.query(User).all() # 是个普通列表 print(type(res)) print(len(res)) all()的结果就是列表&#xff0c;列表里面是对象 2 只查询某几个字段 # select name as xx,email from user; res…

centos7编译安装升级python3.11

编译安装python3.11 准备步骤解压编译替换升级 准备步骤 yum -y install gcc zlib zlib-devel libffi libffi-devel bzip2-devel yum -y install openssl-devel openssl11 openssl11-devel yum -y install readline-devel解压编译 wget https://www.python.org/ftp/python/3.…

Node.js |(三)Node.js API:path模块及Node.js 模块化 | 尚硅谷2023版Node.js零基础视频教程

学习视频&#xff1a;尚硅谷2023版Node.js零基础视频教程&#xff0c;nodejs新手到高手 文章目录 &#x1f4da;path模块&#x1f4da;Node.js模块化&#x1f407;介绍&#x1f407;模块暴露数据⭐️模块初体验⭐️暴露数据 &#x1f407;导入文件模块&#x1f407;导入文件夹的…

adb 命令行执行单元测试

文章目录 1、配置 adb 环境变量2、adb 执行测试3、官方文档解读 adb 使用&#xff08;1&#xff09;第一条执行测试的adb命令&#xff08;2&#xff09;am instrument 参数&#xff08;3&#xff09;-e 参数 的 key-value键值对&#xff08;4&#xff09;用法用例 4、存在问题 …

Python3 安装、环境变量配置、PyCharm新建Python项目

一、安装包下载 Pyhton官网下载>>最新稳定版的安装包&#xff1a; 找到合适的版本进行下载&#xff1a; 如果下载较慢&#xff0c;此处提供一个3.10.11的稳定版本的安装包&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/16GnWjkGFuSfWfaI9UVX8qA?pwd4u5o 提取…

崔颢的黄鹤楼

我们上学的时候学的是&#xff1a; 昔人已乘黄鹤去&#xff0c;此地空余黄鹤楼。 黄鹤一去不复返&#xff0c;白云千载空悠悠。 晴川历历汉阳树&#xff0c;芳草萋萋鹦鹉洲。 日暮乡关何处是&#xff1f;烟波江上使人愁。 然而敦煌诗卷版本是这样的 昔人已乘白云去&#xff0c…

24聊城大学823软件工程考研

1.软件发展有几个阶段&#xff1f;各有何特征&#xff1f; ①程序设计阶段 硬件特征&#xff1a;价格贵、存储容量小、运行可靠性差。 软件特征&#xff1a;只有程序、程序设计概念&#xff0c;不重视程序设计方法。 ②程序系统阶段。 硬件特征&#xff1a;速度、容量及工作可…

MySQL高阶知识点

MySQL 文章目录 MySQLchar和varchar的区别视图视图的特点 存储过程存储过程的特点 触发器触发器的特点 MySQL引擎索引为什么要有索引呢&#xff1f;什么是索引索引的优势索引的劣势索引类型索引种类组合索引最左前缀原则索引创建原则B树和B树的区别数据库为什么使用B树而不是B树…