【Text_classification】 PaddlePaddle框架下出错调整到运行的实验和记录

使用的是Paddle框架2.0版本
网页: https://github.com/PaddlePaddle/PaddleHub/tree/release/v2.1/demo/text_classification
也可以在其平台上利用公开数据集跑一跑:
网页:https://aistudio.baidu.com/aistudio/projectdetail/2390146?contributionType=1

使用的预训练框架是:Ernie-tiny

下面记录我自己的实验数据:

1. 记录预训练模型下载位置

在这里插入图片描述
下载的模型存储到这里了!! !
因为模型一般会定义一个位置提前加载预训练模型,这样就不会重复下载了! 只需要扫描并加载!

2. 语法出错合集

问题一:header: 是不是有第一行的标签!!!

在这里插入图片描述
是不是包含了头介绍:
就是是不是有第一行的标签!!!

问题二: KeyError

说明在读入数据时就出现了问题
造成这个问题的原因一般是没有该key

仔细看下面的代码可以看出:
record[‘label’] = slef.label_map[example.label] !
在这里插入图片描述
再看看你的label定义:

 label_list = ['城市事件类;宣传广告', '城市事件类;扩充类别', '城市事件类;街面秩序', '城市部件类;市政公用设施', '城市事件类;市容环境']

这是text不是label! 不出错才怪呢!

是这个函数有问题:

在这里插入图片描述
在该函数中,第一个先读的label! 第二读的text!
而自己的数据集第一列是text! 所以导致错误!

我们在base_NLP_dataset中将源码调整为label 是第一列! text文本是第二列! 但是这样是有问题的!
原因一: 我们pycharm中改正可能在linux下没有改正
原因二: 这样改正还是不行的!

解决方法: 修改自己的数据集,将两列互换!

下面是实现方法:

两列互换 DF yyds

import pandas
import pandas as pd

实现行列互换 DF yyds

path = "/home/wxx/progressfiles/project_pc_NLP/Texts_Classification/demodataset/dev.txt"
data = pandas.read_table(path)df = pd.DataFrame(data)print(df.head())
print(df["text_a"])df[['label', 'text_a']] = df[['text_a', 'label']]
df.columns = ['label', 'text_a']
print(df.head())
df.to_csv("/home/wxx/progressfiles/project_pc_NLP/Texts_Classification/demodataset/dev2.txt", sep="\t", index=0)

再次运行就没有问题了!

总结

一定要自己看出错信息!
要遵循源代码的输入输出格式! 看看它怎么读的! 明白数据的变化形式

问题三: 没有loaded from 。。。

3. 实验结果

第一次实验: 完全按照教程

效果不理想

第二次实验: 增大epoches、增大batch_size

在这里插入图片描述

这里是接着训练的:
在这里插入图片描述
这里训练了15次后,准确率提升了
在这里插入图片描述

第三次实验:再次训练35次!! 这次共训练了50次

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第四次训练:直接拉满到200 epochs

在这里插入图片描述

上面都是过拟合了,这里才是最正确的

这里才是最关键的!!上面的都没有用到这里!

你在做的时候一定要看看是不是过拟合了!
如果损失很小,准确率极其高,那么就是过拟合了,这样的模型是不具有泛化能力的!
你用在测试文件中,效果肯定很差!!

在这里插入图片描述

采用最佳的:
在这里插入图片描述

取5次最佳:
在这里插入图片描述

4. 实验总结:

4.1 过拟合! 看看自己损失是不是太小! 准确率是不是太高了??

在这里插入图片描述

这样下去是过拟合的! 赶紧停下去寻找问题!

4.2 Paddle中model.pdparams才是我们的模型!! 写路径时要精确到它

4.3 最佳模型就是最佳模型,而且最终准确率也不会变

5. 在这里学到的其它知识:

https://blog.csdn.net/qq_35222729/article/details/120419015

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

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

相关文章

WCF分布式开发步步为赢系列

众所周知,系统间的低耦合一直是大型企业应用系统集成追寻的目标,SOA面向服务架构的 出现为我们的如何利用现有企业系统资源进行企业ERP系统设计和实现提供了重要的参考原则。SOA如此炙手可热,各大厂商都推出了自己的中间件产品,比…

LeetCode 1207. 独一无二的出现次数

1. 题目 给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。 如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。 示例 1: 输入:arr [1,2,2,1,1,3] 输出:true 解释&#xff1a…

keil stm32标准库放在哪里_STM32之PWM

脉冲宽度调制脉冲宽度调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效且应用十分广泛的技术,例如直流电机的控制、开关电源的输出调制、信号的传递也离不开脉冲宽度调制。我们接下将要讨论的便是单片机中PWM的产生与应用。在STM32单片机中&#xf…

(二十五)【NIPS 2017】Prototypical Networks for Few-shot Learning

完全参考博文 用来记录和学习 Introduction 原型网络的思路非常简单:对于分类问题,原型网络将其看做在语义空间中寻找每一类的原型中心。 原型中心: 针对Few-shot的任务定义,原型网络训练时学习如何拟合中心。学习一个度量函数…

LeetCode 1093. 大样本统计

1. 题目 我们对 0 到 255 之间的整数进行采样,并将结果存储在数组 count 中:count[k] 就是整数 k 的采样个数。 我们以 浮点数 数组的形式,分别返回样本的最小值、最大值、平均值、中位数和众数。其中,众数是保证唯一的。 我们…

python 时间函数 毫秒_利用python进行播放音频与录音,骚操作!

现如今,我们的学习知识的渠道越来越多,我们也要充分利用自己的感官去汲取知识。当我们看书累的时候,我们完全可以听过听书来学习,这样的平台也很多,pk 哥之前也写过关于下载喜马拉雅音频爬虫的方法:Python爬…

2009岁末之复用系统框架(B/S)

目的 好久没有写博赚点了,最近一直在忙着写基础的框架,为以后的职业发展多点筹码,以前写过C/S,但是现在的应用趋于浏览器,所以匆忙之间利用工作之余写了点东西。本人的水平有限,希望能博得大家一瞥。 技术 …

一建机电实务教材电子版_2020一建教材+章节习题+新旧教材对比【全科】免费送...

2020一建《各科》电子教材2020一建《工程法规》电子教材2020一建《工程经济》电子教材2020一建《公路实务》电子教材2020一建《机电实务》电子教材2020一建《建筑实务》电子教材2020一建《市政实务》电子教材2020一建《水利实务》电子教材2020一建《项目管理》电子教材2020一建…

LeetCode 1189. “气球” 的最大数量

1. 题目 给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 “balloon”(气球)。 字符串 text 中的每个字母最多只能被使用一次。 请你返回最多可以拼凑出多少个单词 “balloon”。 示例 1: 输入&#xff1…

记录F1分数和召回率

内容 参考博文: F1分数以及micro、macro区别 对于上面说的矩阵是不是挺懵的,它的真名叫混下矩阵,看下面 混淆矩阵 所有正确的预测结果都在对角线上,所以从混淆矩阵中可以很方便直观的看出哪里有错误,因为他们呈现在对…

《大话设计模式》读书笔记-建造者模式

// 建造者类 class PersonDirector { private PersonBuilder pb; public PersonDirector(PersonBuilder pb) { this.pb pb; } public void CreatePerson() { pb.BuildHead(); pb.BuildBody(); …

LeetCode 1170. 比较字符串最小字母出现频次

1. 题目 我们来定义一个函数 f(s),其中传入参数 s 是一个非空字符串; 该函数的功能是统计 s 中(按字典序比较)最小字母的出现频次。 例如,若 s “dcce”,那么 f(s) 2,因为最小的字母是 “c”…

讯达机器人_科大讯飞新品频发完善场景布局“双11”斩获三大平台25项冠军

11月12日,科大讯飞发布”双11”战报,C端产品兑现AI红利实现可持续增长,一举斩获京东、天猫、苏宁易购三大平台25项冠军。11月1日至11月11日,销售额同比增长56% 。目前,科大讯飞消费者业务连续三年保持营收超过30%的增速…

【Eclipse 插件】Implementors

当追踪方法代码时,Eclipse默认是转到方法的接口类,而接口中是只有方法名称没有具体的实现代码,此插件提供了追踪到具体实现类的实现代码的功能。官方地址 转载于:https://www.cnblogs.com/derod/archive/2010/01/14/1647509.html

常见报错原因

因为经常犯这个错,但是还不记住! 以此来告诫自己! 1. KeyError 表示当前Key就没有!!! 去检查一下,你出错的字典或者是列表(一般出这个错误肯定有个对照! )…

jQuery验证validate插件

灰常好用 jquery.validate.js 当然还是用插件.... 别忘记引用JQuery 自带类库 ------------------------------------------- 使用前介绍下label属性 当用label标签把一段文本和一个控件绑定之后,用户点击文本,相关的控件就会获得焦点。 隐式绑定不需使用…

安装ssd后不识别网卡_100元体验纯正万兆网络:需要安装SSD的NAS服务器

万兆网络似乎离普通玩家一直很遥远,不过借着万能的闲鱼,小编100块搞到一张非常便宜的二手电口万兆网卡,配合安装固态硬盘的NAS网络存储服务器,万兆网络走起来~这张卡用的是BCM57710芯片,网上都说只能在Win 7或者同时期…

【KPGNN】运行错误与成功后的合集

出错合集 1. AssertionError 这句话的意思是: DGLGraph.readonly已经不可用了,而现在高版本的DGLGraph总是支持mutable! 记住是总是,一直!!! 所以现在由于版本问题,使用了高版本&a…

react获取id_解决React应用界面开发常见痛点(一)业务逻辑与UI分离

前言:本系列是针对于React在界面开发痛点的一些解决方案,只是React应用中偏向展示的一环构建一个业务与UI分离的react应用本篇是基于HOC方案并未使用Hooks业务逻辑与UI在编写一个react组件前,我们一定要弄清两件事。什么是UI?什么…

(二十六)【2021 WWW】Knowledge-Preserving Incremental Social Event Detection via Heterogeneous GNNs

题目: Knowledge-Preserving Incremental Social Event Detection via Heterogeneous GNNs 中文题目: 基于异构gnn的知识保持增量社会事件检测 学习目标 学习怎么知识增强的? 学习怎么处理时间等多个因素的? 学习怎么构建子图…