首页 > 其他分享 >使用Bert模型实现embedding嵌入

使用Bert模型实现embedding嵌入

时间:2023-11-14 10:14:24浏览次数:41  
标签:Bert 嵌入 ... 模型 sequence 01 embedding hidden size

参考文献:保姆级教程,用PyTorch和BERT进行文本分类 - 知乎 (zhihu.com)

模型地址:https://huggingface.co/bert-base-cased

from transformers import BertTokenizer, BertModel
tokenizer = BertTokenizer.from_pretrained('bert-base-cased')
model = BertModel.from_pretrained("bert-base-cased")
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)
output:
BaseModelOutputWithPoolingAndCrossAttentions(last_hidden_state=tensor([[[ 0.6023,  0.1092,  0.1417,  ..., -0.4177,  0.6059,  0.1764],
         [ 0.5119, -0.4770,  0.5508,  ..., -0.2814,  0.3793,  0.1156],
         [ 0.0995,  0.0867,  0.0869,  ...,  0.4789, -0.3236,  0.3122],
         ...,
         [ 0.8081, -0.7380,  0.2001,  ...,  0.7405, -0.7998,  0.6449],
         [ 0.3305, -0.1958,  0.3148,  ..., -0.0525,  0.5358,  0.1987],
         [ 0.5655, -0.2176, -0.4720,  ..., -0.3554,  0.6141, -0.2476]]],
       grad_fn=<NativeLayerNormBackward0>), pooler_output=tensor([[-8.2835e-01,  6.0906e-01,  9.9998e-01, -9.9831e-01,  9.8739e-01,
          9.2930e-01,  9.9664e-01, -9.8909e-01, -9.9124e-01, -7.8317e-01,
          9.9476e-01,  9.9961e-01, -9.9850e-01, -9.9997e-01,  8.0649e-01,
         -9.9098e-01,  9.9545e-01, -6.9968e-01, -9.9999e-01, -2.6556e-01,
         -4.1867e-01, -9.9998e-01,  3.1562e-01,  9.7638e-01,  9.9257e-01,
          1.4021e-01,  9.9543e-01,  9.9999e-01,  9.4214e-01, -2.0248e-01,
          3.5963e-01, -9.9665e-01,  8.5152e-01, -9.9975e-01,  2.8570e-01,
          7.8623e-03,  8.4606e-01, -3.7096e-01,  7.4315e-01, -9.5596e-01,
         -7.8807e-01, -4.7754e-01,  6.0904e-01, -6.4658e-01,  9.6723e-01,

  

结果是BaseModelOutput对象:

BaseModelOutput 类型是 Hugging Face Transformers 库中的一个基本输出类型,用于存储预训练模型的输出。该类型通常包含以下属性:

  1. last_hidden_state: 这是模型对输入序列的最后一层的隐藏状态。对于BERT模型,这是包含输入序列各个标记的隐藏表示。形状通常是 [batch_size, sequence_length, hidden_size],其中 batch_size 是输入的批次大小,sequence_length 是输入序列的长度,hidden_size 是隐藏状态的维度。

  2. pooler_output: 这是经过池化操作后的表示,通常用于表示整个输入序列的信息。形状通常是 [batch_size, hidden_size]

  3. hidden_states: 这是模型每一层的隐藏状态的列表。例如,对于BERT-base模型,hidden_states 包含了所有12层的隐藏状态。形状类似于 last_hidden_state,即 [batch_size, sequence_length, hidden_size]

  4. attentions: 这是模型每一层的注意力权重。形状通常是 [batch_size, num_heads, sequence_length, sequence_length]。注意,某些模型可能不会在输出中包含注意力权重。

标签:Bert,嵌入,...,模型,sequence,01,embedding,hidden,size
From: https://www.cnblogs.com/mxleader/p/17830983.html

相关文章

  • embedding嵌入
    自然语言处理领域中,"embedding"(嵌入)通常指将高维的数据映射到低维空间的过程。在自然语言处理中,最常见的是词嵌入(wordembeddings)发展横向发展:WordEmbedding到其他类型的Embedding:最初,嵌入技术主要应用于自然语言处理中的WordEmbedding,即将单词映射到向量空间。随着研究......
  • 什么是Bert
    论文:https://arxiv.org/abs/1810.04805 定义:BERT(BidirectionalEncoderRepresentationsfromTransformers)是一种自然语言处理(NLP)中的预训练模型,由Google在2018年提出。BERT的关键创新是使用双向(bidirectional)的Transformer编码器来学习上下文中的单词表示,而不是传统的单向模......
  • 嵌入式开发SQLite 快速掌握
    SQLite是什么SQLite又称(RDBMS)它是本地数据库,可以用在手机,嵌入式设备的精简数据库和大名的mysql一样的数据库存,只是可以理解为它是精简版,事务处理、表连接、索引、触发器等都支持,只是在有些操作时考虑宿主机内存,(在某些地方对某多功能没有这么强,比如更新时对字段结构批量操作会不......
  • 《痞子衡嵌入式半月刊》 第 85 期
    痞子衡嵌入式半月刊:第85期这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。本期刊是开源项目(GitHub:JayHeng/pzh-mcu-bi-weekly),欢迎提交issue,投稿或推荐你知道的嵌入式那些事儿。上期回顾:《痞子衡嵌入式半月......
  • java 转 嵌入式 java转嵌入式软件
    java转嵌入式java转嵌入式软件 转载mob64ca14040d222023-10-0718:39:21文章标签java转嵌入式嵌入式移植ARM移植JREjava文章分类Java后端开发阅读数79 前言因公司项目需求,需要在zynq7000平台下运行javaweb程序,所以需要移植java环境。走过的坑:最先的想法......
  • Recurrent Marked Temporal Point Processes: Embedding Event History to Vector
    目录概MotivationMarkedTemporalPointProcess代码DuN.,DaiH.,TrivediR.,UpadhyayU.,Gomez-RodriguzeM.andSongL.Recurrentmarkedtemporalpointprocesses:Embeddingeventhistorytovector.KDD,2016.概利用RNN学习强度函数\(\lambda^*\).在往下......
  • 市面上主流嵌入式操作系统(RTOS)有哪些?看这11种操作系统
    市面上主流嵌入式操作系统(RTOS)有哪些?看这11种操作系统嵌入式操作系统RTOS2023-03-1316:26广东满足实时控制要求的嵌入式操作系统(RTOS)操作系统,以下介绍11种主流的RTOS,分别为RTX、Vxworks、QNX、NuttX、μClinux、FreeRTOS,而国产的嵌入式操作系统包括都江堰操作系统(d......
  • ps怎么把图片嵌入另一张图片
    在Photoshop(PS)中把一张图片嵌入到另一张图片中通常涉及以下步骤:步骤1:打开图片启动Photoshop。打开两张图片:目标图片(你想要把另一张图片嵌入的图片)和源图片(你想要嵌入的图片)。步骤2:选择和复制在源图片上使用选择工具,比如“套索工具”、“快速选择工具”或“魔术棒工具......
  • 嵌入Base64图像
    内容来自DOChttps://q.houxu6.top/?s=嵌入Base64图像纯粹出于好奇,Base64图像嵌入在哪些浏览器中可行?我指的是这个。我意识到对于大多数情况来说,这通常不是一个好的解决方案,因为它会显著增加页面大小-我只是好奇。一些示例:HTML:<imgalt="嵌入图像"src="data:image/png......
  • Python 嵌入式版本安装 绿色版本
    自己封装python的代码库,用于处理log文件或者数据txt,csv文件。便于现场调试。1、下载嵌入式版本。Python嵌入版(绿色免安装版)安装教程_python绿色版免安装-CSDN博客https://www.python.org/ftp/python/3.12.0/python-3.12.0-embed-amd64.ziphttps://www.python.org/ftp/python......