【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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值