14.AI搭建preparationのBERT预训练模型进行文本分类

一、回顾:

  1. 对深度学习框架Python2.0进行自然语言处理有了一个基础性的认识
  2. 注意力模型编码器(encoder_layer,用于分类的全连接层dense_layer),抛弃了传统的循环神经网络和卷积神经网络,通过注意力模型将任意位置的两个单词的距离转换成1
  3. 编码器层和全连接层分开,利用训练好的模型作为编码器独立使用,并且根据具体项目接上不同的尾端,以便在运训练好的编码器上通过微调进行训

二、BERT简介: 

Bidirectional  Encoder Representation From transformer,替代了 word embedding 的新型文字编码方案,BERT 实际有多个encoder block叠加而成,通过使用注意力模型的多个层次来获得文本的特征提取

三、基本架构与应用

1.MLM:随机从输入语料中这闭掉一些单词,然后通过上下文预测该单词

2.NSP:判断句子B是否句子A的上下文

四、使用HUGGING FACE获取BERT与训练模型

1.安装

pip install transformers

2.引用 

import torch
from transformers import BertTokenizer
from transformers import BertModel
tokenizer = BertTokenizer.from_pretrained('bert-base-chinese')
pretrain_model = BertModel.from_pretrained("bert-base-chinese")

3. 运用代码_获取对应文本的TOKEN

3.1('bert-base-chinese'模型)

import torch
from transformers import BertTokenizer
from transformers import BertModel
tokenizer = BertTokenizer.from_pretrained('bert-base-chinese')
pretrain_model = BertModel.from_pretrained("bert-base-chinese")tokens = tokenizer.encode("床前明月光",max_length=12,padding="max_length",truncation=True)
print(tokens)
print("----------------------")
print(tokenizer("床前明月光",max_length=12,padding="max_length",truncation=True))
print("----------------------")
tokens = torch.tensor([tokens]).int()
print(pretrain_model(tokens))

 3.2("uer/gpt2-chinese-ancient"模型)

import torch
from transformers import BertTokenizer,GPT2Model
model_name = "uer/gpt2-chinese-ancient"
tokenizer = BertTokenizer.from_pretrained(model_name)
pretrain_model = GPT2Model.from_pretrained(model_name)tokens = tokenizer.encode("春眠不觉晓",max_length=12,padding="max_length",truncation=True)
print(tokens)
print("----------------------")
print(tokenizer("春眠不觉晓",max_length=12,padding="max_length",truncation=True))
print("----------------------")tokens = torch.tensor([tokens]).int()
print(pretrain_model(tokens))

4.进行文本分类

数据准备>数据处理>模型设计>模型训练

get_data:

model:

 train:

 finally,随着训练,准确率会越来越高

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

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

相关文章

OD 算法题 B卷【最长公共前缀】

文章目录 最长公共前缀 最长公共前缀 编写一个函数来查找字符串数组 中的最长公共前缀,如果不存在公共前缀,返回字符串’Zero’字符串长度范围【2,1000】,字符串中字符长度范围为【1,126】 示例1 输入: [“flower”, “flow”, …

pycharm F2 修改文件名 修改快捷键

菜单:File-> Setting, Keymap中搜索 Rename, 其中,有 Refactor-> Rename,右键添加快捷键,F2,删除原有快捷键就可以了。

WEB安全--SQL注入--bypass技巧2

继之前文章的补充: WEB安全--SQL注入--bypass技巧_sql注入过滤空格-CSDN博客 Q1:发现sql注入的时间盲注时,如果时间盲注的函数都被过滤了,怎么办? 除了找其他函数替换、编码等方式,还有以下方式绕过&…

自定义事件wpf

// 自定义控件 public class MyCustomControl : Control { public static readonly RoutedEvent MyCustomEvent EventManager.RegisterRoutedEvent( "MyCustom", RoutingStrategy.Bubbling, typeof(RoutedEventHandler), typeof(MyCustomControl) ); public event R…

【汇编逆向系列】一、无参数的函数调用- RSP,EAX寄存器,全局变量,INT类型和MOV,INC,SHL指令

给出一段简单的汇编 no_params_function:0000000000000000: 40 57 push rdi0000000000000002: 8B 05 00 00 00 00 mov eax,dword ptr [global_counter]0000000000000008: FF C0 inc eax000000000000000A: 89 05 00 00 00 0…

知识蒸馏:从模型输出到深层理解

1. 概念阐释: 还记得上次说的“老师教你画画,不只教‘猫’,还教‘像狗像树叶’的细微感觉”吗?那是最初的蒸馏。 后来大家发现,老师不仅仅通过“最后画出来像什么”来教你。 有时候,老师是教你“他画画时,哪里用了力气,哪里画得特别认真”(这叫基于特征的蒸馏,学习…

vue-18(使用 Vuex 插件实现高级功能)

使用 Vuex 插件实现高级功能 Vuex 插件提供了一种强大的方式来扩展 Vuex 存储的功能。它们为存储的变更过程提供了钩子,允许你拦截变更、执行副作用以及添加自定义逻辑。本章将探讨如何利用 Vuex 插件实现持久化、日志记录和时间旅行调试等高级功能。我们将深入研究…

【Java】CopyOnWriteArrayList

一,概述 CopyOnWriteArrayList作为List接口的实现之一,它区分于ArrayList在于它是线程安全的。如它名字一样,所有的写操作均复制了原数组的值,虽说代价较大,但读多写少的环境下,是可接受的。笔者在此简单看…

【高等数学】函数项级数

目录 函数项级数收敛域的定义收敛域的判定方法常见幂级数展开(麦克劳林级数)幂级数的应用 傅里叶级数傅里叶级数的基本概念傅里叶级数的主要性质奇偶函数的简化周期延拓奇延拓偶延拓 函数项级数 函数项级数是指由一系列函数构成的无穷级数,形…

基于cornerstone3D的dicom影像浏览器 第二十八章 LabelTool文字标记,L标记,R标记及标记样式设置

文章目录 前言一、L标记、R标记二、修改工具样式1. 样式的四种级别2. 导入annotation3. 示例1 - 修改toolGroup中的样式4. 示例2 - 修改viewport中的样式 三、可配置样式 前言 cornerstone3D 中的文字标记工具LabelTool,在添加文字标记时会弹出对话框让用户输入文字…

PPT转图片拼贴工具 v4.3

软件介绍 这个软件就是将PPT文件转换为图片并且拼接起来。 效果展示 支持导入文件和支持导入文件夹,也支持手动输入文件/文件夹路径 软件界面 这一次提供了源码和开箱即用版本,exe就是直接用就可以了。 软件源码 import os import re import sys …

新版NANO下载烧录过程

一、序言 搭建 Jetson 系列产品烧录系统的环境需要在电脑主机上安装 Ubuntu 系统。此处使用 18.04 LTS。 二、环境搭建 1、安装库 $ sudo apt-get install qemu-user-static$ sudo apt-get install python 搭建环境的过程需要这个应用库来将某些 NVIDIA 软件组件安装到 Je…

神经网络-Day45

目录 一、tensorboard的基本操作1.1 发展历史1.2 tensorboard的原理 二、tensorboard实战2.1 cifar-10 MLP实战2.2 cifar-10 CNN实战 在神经网络训练中,为了帮助理解,借用了很多的组件,比如训练进度条、可视化的loss下降曲线、权重分布图&…

设计模式之单例模式(二): 心得体会

设计模式之单例模式(一)-CSDN博客 目录 1.背景 2.分析 2.1.违背面向对象设计原则,导致职责混乱 2.2.全局状态泛滥,引发依赖与耦合灾难 2.3.多线程场景下风险放大,性能与稳定性受损 2.4.测试与维护难度指数级上升 2.5.违背 “最小知识原…

windows10 php报错

参考这个, 实际解决了问题, 主要是repair c 然后重启 【BUG】PHP Warning: ‘C:\\WINDOWS\\SYSTEM32\\VCRUNTIME140.dll‘ 14.0 is not compatible with this PHP bu_php warning: vcruntime140.dll 14.0 is not compat-CSDN博客

GPU显存的作用和如何选择

核心定义与作用 首先,显存的全称是显示内存,英文是Video RAM或VRAM,是显卡上的专用内存。 显存的主要作用是用来存储图形处理单元(GPU)需要处理的数据,比如纹理、顶点数据、帧缓冲区等。 数据中转站 GPU…

从零开始:用Tkinter打造你的第一个Python桌面应用

目录 一、界面搭建:像搭积木一样组合控件 二、菜单系统:给应用装上“控制中枢” 三、事件驱动:让界面“活”起来 四、进阶技巧:打造专业级体验 五、部署发布:让作品触手可及 六、学习路径建议 在Python生态中,Tkinter就像一把瑞士军刀,它没有花哨的特效,却能快速…

Unity基础-Mathf相关

Unity基础-Mathf相关 一、Mathf数学工具 概述 Mathf是Unity中封装好用于数学计算的工具结构体,提供了丰富的数学计算方法,特别适用于游戏开发场景。它是Unity开发中最常用的数学工具之一,能够帮助我们处理各种数学计算和插值运算。 Mathf…

Android Studio 之基础代码解析

1、 onCreate 在 Android 开发中,MainActivity 作为应用的入口 Activity,其 onCreate() 方法是生命周期中第一个且最重要的回调方法,负责初始化核心组件和界面。以下是其核心要点: 一、基本定义与作用 调用时机 当 Activity 首次…

AIGC图像去噪:核心原理、算法实现与深度学习模型详解

1. 背景概述 1.1 目标与范畴 在AIGC(人工智能生成内容) 的技术生态系统中,图像生成模型(如生成对抗网络GAN、扩散模型Diffusion Model)所产出的视觉内容,其质量常因训练数据中的固有瑕疵、生成过程中的随机扰动或数据传输期间的信号衰减而呈现出不同程度的退化。因此,…