bert-base-chinese模型离线使用案例

news2024/11/19 20:40:57
import torch
import torch.nn as nn
from transformers import BertModel, BertTokenizer

# 通过torch.hub(pytorch中专注于迁移学的工具)获得已经训练好的bert-base-chinese模型
# model =  torch.hub.load('huggingface/pytorch-transformers', 'model', 'bert-base-chinese')
model = BertModel.from_pretrained('D:\\MyPython\\data\\bert-base-chinese')

# 获得对应的字符映射器, 它将把中文的每个字映射成一个数字
# tokenizer = torch.hub.load('huggingface/pytorch-transformers', 'tokenizer', 'bert-base-chinese')
tokenizer = BertTokenizer.from_pretrained('D:\\MyPython\\data\\bert-base-chinese')

def get_bert_encode_for_single(text):
    """
    description: 使用bert-chinese编码中文文本
    :param text: 要进行编码的文本
    :return: 使用bert编码后的文本张量表示
    """
    # 首先使用字符映射器对每个汉字进行映射
    # 这里需要注意, bert的tokenizer映射后会为结果前后添加开始和结束标记即101和102
    # 这对于多段文本的编码是有意义的, 但在我们这里没有意义, 因此使用[1:-1]对头和尾进行切片
    indexed_tokens = tokenizer.encode(text)[1:-1]
    # 之后将列表结构转化为tensor
    tokens_tensor = torch.tensor([indexed_tokens])
    print(tokens_tensor)
    # 使模型不自动计算梯度
    with torch.no_grad():
        # 调用模型获得隐层输出
        encoded_layers, _ = model(tokens_tensor)
    # 输出的隐层是一个三维张量, 最外层一维是1, 我们使用[0]降去它.
    # print(encoded_layers.shape)
    encoded_layers = encoded_layers[0]
    return encoded_layers

text = "你好, 周杰伦"
outputs = get_bert_encode_for_single(text)
print(outputs)
print(outputs.shape)

在这里插入图片描述

说明:
1,将bert-base-chinese压缩包解压;
2,将pytorch_model.bin文件重命名为model.bin;
3,路径:
Windows系统路径示例:

model =BertModel.from_pretrained(‘D:\MyPython\data\bert-base-chinese’)
tokenizer =BertTokenizer.from_pretrained(‘D:\MyPython\data\bert-base-chinese’)

Linux系统路径示例:

model =BertModel.from_pretrained(‘/opt/nlp/bert-base-chinese’)
tokenizer =BertTokenizer.from_pretrained(‘/opt/nlp/bert-base-chinese’)

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

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

相关文章

Vivado FFT IP核使用

1. 今日摸鱼任务 学习Vivado FFT IP核的使用 Vivado_FFT IP核 使用详解_vivado fft ip核-CSDN博客 这篇写的很详细啦 简单做一点笔记进行记录 2. FFT IP核 xfft_0 ff (.aclk(aclk), // input wire aclk.aresetn(aresetn)…

Oracle Database 23ai新特性:增加聚合函数对INTERVAL数据类型支持

在Oracle早期的版本,聚合函数和分析函数MIN/MAX 就支持了INTERVAL 数据类型。但是,当我们使用SUM或AVG函数对INTERVAL 数据类型进行运算时,就会报错。 随着Oracle Database 23ai 的发布,增加了 AVG 以及 SUM 函数对INTERVAL 数据…

SQL 汇总各个部门当前员工的title类型的分配数目

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 描述 有一个部门表…

Python实现ABC人工蜂群优化算法优化卷积神经网络分类模型(CNN分类算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 人工蜂群算法(Artificial Bee Colony, ABC)是由Karaboga于2005年提出的一种新颖的基于群智能的全局优化…

每日一更 EFK日志分析系统

需要docker和docker-compose环境 下面时docker-compose.yaml文件 [rootnode1 docker-EFK]# cat docker-compose.yaml version: 3.3services:elasticsearch:image: "docker.elastic.co/elasticsearch/elasticsearch:7.17.5"container_name: elasticsearchrestart: …

【python】PyQt5可视化开发,如何设计鼠标显示的形状?

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

Java 面向对象编程(OOP)的四大特征

Java 面向对象编程(OOP)的四大特征 1、抽象2、继承3、 封装4、多态性 💖The Begin💖点点关注,收藏不迷路💖 在Java编程中,面向对象编程(OOP)是一个核心概念。OOP的四大基…

Cgi上传文件 注意事项

//核心代码 ofstream outfile("/opt/software/" file.getFilename(), ios::out | ios::binary); outfile << file.getData(); //错误方式&#xff1a;outfile << file.getData() <<endl; outfile.close(); 参考博客&#xff1a; https://blog.cs…

设计模式探索:代理模式

1. 什么是代理模式 定义 代理模式是一种结构型设计模式&#xff0c;通过为其他对象提供一种代理以控制对这个对象的访问。代理对象在客户端和实际对象之间起到中介作用&#xff0c;可以在不改变真实对象的情况下增强或控制对真实对象的访问。 目的 代理模式的主要目的是隐…

基于深度学习的软件漏洞检测模型在现实数据集上的表现

软件漏洞对日常软件系统的影响令人担忧。尽管已经提出了基于深度学习模型的漏洞检测方法&#xff0c;但这些模型的可靠性仍然是一个重大问题。先前的评估报告这些模型具有高达99%的召回率/F1分数&#xff0c;但研究发现&#xff0c;这些模型在实际应用场景下的表现并不佳&#…

【Python系列】数字的bool值

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【Qwen2部署实战】Ollama上的Qwen2-7B:一键部署大型语言模型指南

系列篇章&#x1f4a5; No.文章1【Qwen部署实战】探索Qwen-7B-Chat&#xff1a;阿里云大型语言模型的对话实践2【Qwen2部署实战】Qwen2初体验&#xff1a;用Transformers打造智能聊天机器人3【Qwen2部署实战】探索Qwen2-7B&#xff1a;通过FastApi框架实现API的部署与调用4【Q…

Java | Leetcode Java题解之第218题天际线问题

题目&#xff1a; 题解&#xff1a; class Solution {public List<List<Integer>> getSkyline(int[][] buildings) {PriorityQueue<int[]> pq new PriorityQueue<int[]>((a, b) -> b[1] - a[1]);List<Integer> boundaries new ArrayList&l…

FIND_IN_SET使用案例--[sql语句根据多ids筛选出对应数据]

一 FIND_IN_SET select id,system_ids from intellect_client_info where FIND_IN_SET(5, system_ids) > 0;

做测试/爬虫 selenium 元素定位 谷歌浏览器 插件推荐,提高元素定位效率

注:插件均在谷歌应用商店 下载 1.XPath Helper 插件 作用&#xff1a;用于Html中对目标字段或者属性值进行匹配 快捷启动&#xff1a;ctrl shift x 示例图如下&#xff1a; 2. ChroPath 插件 作用&#xff1a; 提高元素定位效率 启动&#xff1a;谷歌浏览器 按 F12 -&g…

NASA和IBM推出INDUS:高级科学研究的综合大模型

在最近的一项研究中&#xff0c;来自美国宇航局和IBM的一组研究人员合作开发了一种模型&#xff0c;该模型可应用于地球科学&#xff0c;天文学&#xff0c;物理学&#xff0c;天体物理学&#xff0c;太阳物理学&#xff0c;行星科学和生物学以及其他多学科学科。当前的模型&am…

SSM贫困生申请管理系统-计算机毕业设计源码84308

摘要 随着教育信息化的不断推进&#xff0c;越来越多的高校开始借助信息技术手段提升贫困生申请管理的效率与准确性。为此&#xff0c;我们设计并实现了SSM贫困生申请管理系统&#xff0c;旨在通过信息化手段优化贫困生申请流程&#xff0c;提高管理效率&#xff0c;为贫困生提…

【IT领域新生必看】Java编程中的神奇对比:深入理解`equals`与`==`的区别

文章目录 引言什么是操作符&#xff1f;基本数据类型的比较示例&#xff1a; 引用类型的比较示例&#xff1a; 什么是equals方法&#xff1f;equals方法的默认实现示例&#xff1a; 重写equals方法示例&#xff1a; equals与的区别比较内容不同示例&#xff1a; 使用场景不同示…

LeetCode题练习与总结:排序链表--148

一、题目描述 给你链表的头结点 head &#xff0c;请将其按 升序 排列并返回 排序后的链表 。 示例 1&#xff1a; 输入&#xff1a;head [4,2,1,3] 输出&#xff1a;[1,2,3,4]示例 2&#xff1a; 输入&#xff1a;head [-1,5,3,4,0] 输出&#xff1a;[-1,0,3,4,5]示例 3&am…

字节码编程javassist之helloworld

写在前面 源码 。 本文一起来看下&#xff0c;如何使用javassist来生成一个helloworld程序。 1&#xff1a;程序 package com.dahuyou.javassist.helloworld;import javassist.*; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; impor…