Huggingface学习笔记

课程地址:【HuggingFace简明教程,BERT中文模型实战示例.NLP预训练模型,Transformers类库,datasets类库快速入门.】

什么是huggingface?
huggingface是一个开源社区,提供了先进的NLP模型、数据集以及工具。

主要模型:
在这里插入图片描述
安装环境:推荐pip安装

在这里插入图片描述

字典和分词工具

简单的编码

大于max_length截断,小于padding
返回列表,包括max_length长度的数字
bert_chinese对中文处理时,每个字作为一个词(token)
在这里插入图片描述

增强的编码函数

增强编码返回的input_ids和简单编码相同
多输出了几个mask
在这里插入图片描述
在这里插入图片描述

批量编码句子

函数名字加上了plus,参数传入的方式也改变了
在这里插入图片描述
在这里插入图片描述
批量成对编码
在这里插入图片描述
结果
在这里插入图片描述

字典操作

以字为词,每个字对应了一个词
在这里插入图片描述

数据集操作

加载一个情感分类的数据集
在这里插入图片描述
数据集有很多操作函数,但大多比较简单,也不是重点
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用评价函数

有很多评价指标
在这里插入图片描述
在这里插入图片描述
计算正确率和f1
在这里插入图片描述

使用管道函数

使用pipeline可以解决一些简单的NLP任务。不需要训练模型就能调用的工具。但是实用价值不高

如,情感分类
在这里插入图片描述
阅读理解。答案需要在文本中
在这里插入图片描述
完型填空
在这里插入图片描述
文本生成
在这里插入图片描述
命名实体识别,识别城市名,公司名,人名等等
在这里插入图片描述
文本总结
在这里插入图片描述
翻译
在这里插入图片描述

实战任务1:中文分类

定义数据集

数据集包括:酒店评价、书籍评价等,分为好评和差评(二分类)
训练集:9600句话

在这里插入图片描述

加载tokenizer

即加载字典和分词工具
采用bert-base-chinese分词工具,需要与预训练模型相匹配
在这里插入图片描述

定义批处理函数

数据一条一条的转化为一批,进行分词和编码,并将分词的结果取出来
在这里插入图片描述

定义数据加载器

在这里插入图片描述

加载bert中文模型

不调整预训练模型的参数,直接应用于下游的任务中
定义每句话500个词的长度,768是词编码的维度,将每个词编码为768维度的向量
在这里插入图片描述

定于下游任务模型

只是一个单层的全连接网路。
将预训练模型输出的数据特征,放到全连接网络中运算,只取第0个词的特征来进行分类,这与bert模型的设计有关
在这里插入图片描述

训练

简单算一个交叉熵损失
在这里插入图片描述

迁移学习:利用bert预训练模型迁移到下游任务中,可以在非常短的时间上得到非常高的正确率。以后的NLP任务都应该是基于预训练模型来抽取特征,极大节约训练的时间和精力

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

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

相关文章

【Java程序设计】【C00284】基于Springboot的校园疫情防控管理系统(有论文)

基于Springboot的校园疫情防控管理系统(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的校园疫情防控系统 本系统分为系统功能模块、管理员功能模块以及学生功能模块。 系统功能模块:在系统首页可以查…

LeetCode 1038.从二叉搜索树到更大和树

给定一个二叉搜索树 root (BST),请将它的每个节点的值替换成树中大于或者等于该节点值的所有节点值之和。 提醒一下, 二叉搜索树 满足下列约束条件: 节点的左子树仅包含键 小于 节点键的节点。 节点的右子树仅包含键 大于 节点键的节点。 左…

Spring Cloud与Docker集成:微服务容器化解决方案详解

推荐一款AI网站 AI写作与AI绘画智能创作平台 - 海鲸AI | 智能AI助手,可以免费领取GPT3.5无限卡 Spring Cloud 和 Docker 是两个不同的技术,但它们可以一起工作以构建、部署和管理微服务架构。下面是它们各自的简介以及它们如何协同工作的原理解析。 Sp…

蜘蛛蜂优化算法SWO求解不闭合MD-MTSP,可以修改旅行商个数及起点(提供MATLAB代码)

1、蜘蛛蜂优化算法SWO 蜘蛛蜂优化算法(Spider wasp optimizer,SWO)由Mohamed Abdel-Basset等人于2023年提出,该算法模型雌性蜘蛛蜂的狩猎、筑巢和交配行为,具有搜索速度快,求解精度高的优势。VRPTW&#x…

043 多态

示例 public class A {public void say(){System.out.println("I am A");} } public class B extends A {Overridepublic void say(){System.out.println("I am B");} } public class Test {public static void main(String[] args) {A a new B(); // …

【Spring Boot 源码学习】深入 BootstrapContext 及其默认实现

《Spring Boot 源码学习系列》 深入 BootstrapContext 及其默认实现 一、引言二、往期内容三、主要内容3.1 BootstrapContext3.1.1 源码初识3.1.2 get 方法3.1.3 getOrElse 方法3.1.4 getOrElseSupply 方法3.1.5 getOrElseThrow 方法3.1.6 isRegistered 方法 3.2 ConfigurableB…

构建企业多维模型,助力财务战略规划

财务规划与分析是一个企业需要广泛实践、改革优化的领域。战略规划对于财务管理来说,对企业的未来发展具有长期且不可逆的影响。一般企业在做重要战略决策时面临的主要挑战是对于可能结果复杂性的预测,其干涉因素很多,规划范围也十分广泛&…

【Unity】如何从现有项目中抽取好用的资源

【背景】 在做Unity项目的过程中引入各种各样的Package,有的Package很大,但是觉得非常有用的可能只是几个Prefab或者Material等。如果直接拷贝想要的Prefab和Material,又需要自己确认所有有依赖关系的资源。 如果能将所有日常经受项目中自己…

cgroup底层技术研究一、cgroup简介与cgroup命令行工具

本文参考以下文章: 58 | cgroup技术:内部创业公司应该独立核算成本 特此致谢! 一、cgroup简介 1. cgroup是什么 cgroup(Control Group)是Linux内核提供的一种机制,用于对进程或进程组进行资源限制、优先…

python[6]

类和对象 面向对象编程–说白就是让对象干活 创建类:class 类名: 创建类对象 对象名 类名() 构造方法 1、构造方法的名称是__init__ 2、构造方法的作用? 构建类对象的时候会自动运行 构建类对象的传参会传递给构造…

react+canvas实现刮刮乐效果

话不多说,直接看代码吧 import { useEffect } from react; import styles from ./index.less;export default function Canvas() {function init() {let gj document.querySelector(.gj);let jp document.querySelector(#jp) as HTMLElement;let canvas documen…

mac flutter 配置

下载Flutter Sdk 直接访问官网无法下载,需要访问中国镜像下载 Flutter SDK 归档列表 - Flutter 中文文档 - Flutter 中文开发者网站 - Flutter Start building Flutter Android apps on macOS - Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 下载后解压…

Java+SpringBoot+Vue+MySQL:美食推荐系统的技术革新

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

基于STM32的蓝牙遥控小车:手机APP控制小车运动

这里写目录标题 一、智能双轮小车蓝牙APP控制前后左右调速运动功能描述原理图设计PCB设计源码设计 二、更多功能小车网友推荐后开发... 一、智能双轮小车蓝牙APP控制前后左右调速运动 功能描述 1、小车可以前后左右运动 2、可以调节小车的速度 3、使用两个电机驱动两个轮子&a…

Go语言必知必会100问题-06 生产者端接口

生产者端接口 Go语言必知必会100问题-05 接口污染中介绍了程序中使用接口是有价值的。在编码的时候,接口应该放在哪里呢?这是Go开发人员经常有误解的一个问题,本文将深入分析该问题。 在深入探讨问题之前,先对提及的术语做一个定…

MySQL(2/3)

select和别名的使用 主要是用以查询数据 语法:select 字段 from 库名 -- *代表全部字段 select * from student; -- 可以查询多个字段,并使用as起别名,as可以省略 select id as bbb ,name as hhh from student; -- 可以使用函数concat(a,b…

新版Java面试专题视频教程——虚拟机篇②

新版Java面试专题视频教程——虚拟机篇② 3 垃圾收回3.1 简述Java垃圾回收机制?(GC是什么?为什么要GC)3.2 对象什么时候可以被垃圾器回收3.2.1 引用计数法3.2.2 可达性分析算法 3.3 JVM 垃圾回收算法有哪些?——4种3.3…

Python实现DAS单点登录

❇️ 流程 进入登录页面 (DAS验证的登录页面) 获取验证码图像,百度OCR识别 登录 🏞️ 环境 Windows 11 Python 3.12 PyCharm 2023 🧵 准备工作 安装必要依赖库 bs4 Jupyter 推荐安装 Jupyter(Anaco…

数学建模【相关性模型】

一、相关性模型简介 相关性模型并不是指一个具体的模型,而是一类模型,这一类模型用来判断变量之间是否具有相关性。一般来说,分析两个变量之间是否具有相关性,我们根据数据服从的分布和数据所具有的特点选择使用pearson&#xff…

Linux系统——Nginx小总结

目录 一、影响用户体验的因素 二、网络连接——Apache/Nginx服务请求过程 三、I/O模型——Input/Output模型 1.同步/异步 2.阻塞/非阻塞 3.同步异步/阻塞非阻塞组合 四、Nginx用法 一、影响用户体验的因素 客户端硬件配置客户端网络速率客户端与服务端距离服务端网络速…