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的校园疫情防控系统 本系统分为系统功能模块、管理员功能模块以及学生功能模块。 系统功能模块:在系统首页可以查…

13.openEuler 操作系统日志管理

openEuler OECA认证辅导,标红的文字为学习重点和考点。 如果需要做实验,建议安装麒麟信安、银河麒麟、统信等具有图形化的操作系统,其安装与openeuler基本一致。 1.常用系统日志介绍 ● dmesg 主要记录系统在开机时内核检测过程所产生的信息,通过执行dmesg命令查看. ● /…

树结构数据

背景 页面展示树结构 思路 后端返回树结构数据给前端 参数entity public class TestEntity {/*** 维度*/private String dim;/*** 值*/private BigDecimal value;/*** 子节点*/private List<TestEntity> children; } 代码 String treeJsonFileName "goalCost.…

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

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

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

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

Flutter 中 Gap 和 SizedBox 的比较与区别

在 Flutter 中&#xff0c;两个小部件在控制应用设计布局尺寸和空间方面起着至关重要的作用&#xff0c;它们是 SizedBox 和 Gap 小部件。 在 Flutter 中构建响应式布局时&#xff0c;间距和大小很重要。框架提供了一些简单但功能强大的小部件来控制间距和大小&#xff0c;Siz…

代码随想录day26||● 39. 组合总和● 40.组合总和II● 131.分割回文串

39. 组合总和 - 力扣&#xff08;LeetCode&#xff09; class Solution {private:vector<int> path;vector<vector<int>> result; public:void trackbacking(vector<int>& candidates,int target,int sum,int startIndex){if(sum>target)retur…

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

1、蜘蛛蜂优化算法SWO 蜘蛛蜂优化算法&#xff08;Spider wasp optimizer&#xff0c;SWO&#xff09;由Mohamed Abdel-Basset等人于2023年提出&#xff0c;该算法模型雌性蜘蛛蜂的狩猎、筑巢和交配行为&#xff0c;具有搜索速度快&#xff0c;求解精度高的优势。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…

Windows预定义阴影画刷学习

画刷是一个8*8位图;用来重复填充区域内部; 有实心和阴影画刷;实心就是SolidBrush; 有6种预定义阴影画刷; void CHatchdemoView::OnDraw(CDC* pDC) {CHatchdemoDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data hereCRect rect1(4…

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

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

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

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

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

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

python[6]

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

react+canvas实现刮刮乐效果

话不多说&#xff0c;直接看代码吧 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 直接访问官网无法下载&#xff0c;需要访问中国镜像下载 Flutter SDK 归档列表 - Flutter 中文文档 - Flutter 中文开发者网站 - Flutter Start building Flutter Android apps on macOS - Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 下载后解压…

3. Linux内存管理

3. 内存管理 RAM 的一部分&#xff08;SRAM&#xff09;被静态地划分给了内核&#xff0c;用来存放内核代码和静态数据结构。 RAM 的其余部分&#xff08;如DRAM、SDRAM、DDR&#xff09;称为动态内存&#xff08;dynamic memory&#xff09;&#xff0c;这不仅是运行用户进程…

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

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

学习JAVA的第七天(基础)

目录 static 静态变量 静态方法 工具类&#xff1a; static的注意事项 继承 继承的好处 继承的特点 方法的重写 书写格式 override重写注解 方法重写的要求 this关键字 super关键字 static static表示静态&#xff0c;是Java中的一个修饰符&#xff0c;可以修饰成…