如何基于Paddle快速训练一个98%准确率的抑郁文本预测模型?

paddleOcr训练一个属于自己的模型 训练一个属于自己的paddleocr模型,从环境搭建到模型推理全过程 阅读详情

Paddle是一个比较高级的深度学习开发框架,其内置了许多方便的计算单元可供使用。

本文将讲解如何使用paddle训练、测试、推断自己的数据。

1.准备

开始之前,你要确保Python和pip已经成功安装在电脑上噢。

Windows环境下打开Cmd(开始—运行—CMD),苹果系统环境下请打开Terminal(command+空格输入Terminal),准备开始输入命令安装依赖。

然后,我们需要安装百度的paddlepaddle, 进入他们的官方网站就有详细的指引:
https://www.paddlepaddle.org.cn/install/quick

根据你自己的情况选择这些选项,最后一个CUDA版本,由于本实验不需要训练数据,也不需要太大的计算量,所以直接选择CPU版本即可。选择完毕,下方会出现安装指引,不得不说,Paddlepaddle这些方面做的还是比较贴心的(就是名字起的不好)。

要注意,如果你的Python3环境变量里的程序名称是Python,记得将python3 xxx 语句改为Python xxx 如下进行安装:

python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

然后你还需要安装paddlehub:

pip install -i https://mirror.baidu.com/pypi/simple paddlehub

2. 数据预处理

这次实验,我使用了8000条走饭下面的评论和8000条其他微博的正常评论作为训练集,两个分类分别使用1000条数据作为测试集。

2.1 去重去脏

在这一步,我们需要先去除重复数据,并使用正则表达式@.* 和 ^@.*\n 去除微博@的脏数据。如果你是使用Vscode的,可以使用sort lines插件去除重复数据:

如果不是Vscode,请用Python写一个脚本,遍历文件,将每一行放入集合中进行去重。比较简单,这里不赘述啦。

正则表达式去除脏数据,我这里数据量比较少,直接编辑器解决了:

2.2 分词

首先,需要对我们的文本数据进行分词,这里我们采用结巴分词的形式进行:

然后需要在分词的结果后面使用\t隔开加入标签,我这里是将有抑郁倾向的句子标为0,将正常的句子标为1. 此外,还需要将所有词语保存起来形成词典文件,每个词为一行。

并分别将训练集和测试集保存为 train.tsv 和 dev.tsv, 词典文件命名为word_dict.txt, 方便用于后续的训练。

3.训练

下载完Paddle模型源代码后,进入 models/PaddleNLP/sentiment_classification文件夹下,这里是情感文本分类的源代码部分。

在开始训练前,你需要做以下工作:

1. 将train.tsv、dev.tsv及word_dict.txt放入senta_data文件夹.

2. 设置senta_config.json的模型类型,我这里使用的是gru_net:

3. 修改run.sh相关的设置:

如果你的paddle是CPU版本的,请把use_cuda改为false。此外还有一个save_steps要修改,代表每训练多少次保存一次模型,还可以修改一下训练代数epoch,和 一次训练的样本数目 batch_size.

4. 如果你是windows系统,还要新建一个save_models文件夹,然后在里面分别以你的每训练多少次保存一次的数字再新建文件夹。。没错,这可能是因为他们开发这个框架的时候是基于linux的,他们写的保存语句在linux下会自动生成文件夹,但是windows里不会。

现在可以开始训练了,由于训练启动脚本是shell脚本,因此我们要用powershell或git bash运行指令,Vscode中可以选择默认的终端,点击Select Default Shell后选择一个除cmd外的终端即可。

输入以下语句开始训练

$ sh run.sh train

4.测试

恭喜你走到了这一步,作为奖励,这一步你只需要做两个操作。首先是将run.sh里的MODEL_PATH修改为你刚保存的模型文件夹:

我这里最后一次训练保存的文件夹是step_1200,因此填入step_1200,要依据自己的情况填入。然后一句命令就够了:

$ sh run.sh eval

可以看到我的模型准确率大概有98%,还是挺不错的。

5.预测

我们随意各取10条抑郁言论和普通言论,命名为test.txt存入senta_data文件夹中,输入以下命令进行预测:

$ sh run.sh test


这二十条句子如下,前十条是抑郁言论,后十条是普通言论:

好崩溃每天都是折磨真的生不如死
姐姐   我可以去找你吗
内心阴暗至极……
大家今晚都是因为什么没睡
既然儿子那么好     那就别生下我啊     生下我又把我扔下     让我自生自灭     这算什么
走饭小姐姐怎么办我该怎么办每天都心酸心如刀绞每天都有想要死掉的念头我不想那么痛苦了
你凭什么那么轻松就说出这种话
一闭上眼睛脑子里浮现的就是他的脸和他的各种点点滴滴好难受睡不着啊好难受为什么吃了这么多东西还是不快乐呢
以前我看到那些有手有脚的人在乞讨我都看不起他们   我觉得他们有手有脚的不应该乞讨他们完全可以凭自己的双手挣钱   但是现在我有手有脚我也想去人多的地方乞讨…我不想努力了…
熬过来吧求求你了好吗
是在说我们合肥吗?
这歌可以啊
用一个更坏的消息掩盖这一个坏消息
请尊重他人隐私这种行为必须严惩不贷
这个要转发
????????保佑咱们国家各个省千万别再有出事的也别瞒报大家一定要好好的坚持到最后加油
我在家比在学校有钱   在家吃饭零食水果奶都是我妈天天给我买   每天各种水果   还可以压榨我弟跑腿   买衣服也是   水乳也是   除了化妆品反正现在也用不上   比学校的日子过得好多了
广西好看的是柳州的满城紫荆花
加油一起共同度过这次难关我们可以
平安平安老天保佑

得到结果如下:

Final test result:
0 0.999999 0.000001
0 0.994013 0.005987
0 0.997636 0.002364
0 0.999975 0.000025
0 1.000000 0.000000
0 1.000000 0.000000
0 0.999757 0.000243
0 0.999706 0.000294
0 0.999995 0.000005
0 0.998472 0.001528
1 0.000051 0.999949
1 0.000230 0.999770
1 0.230227 0.769773
1 0.000000 1.000000
1 0.000809 0.999191
1 0.000001 0.999999
1 0.009213 0.990787
1 0.000003 0.999997
1 0.000363 0.999637
1 0.000000 1.000000

第一列是预测结果(0代表抑郁文本),第二列是预测为抑郁的可能性,第三列是预测为正常微博的可能性。可以看到,基本预测正确,而且根据这个分数值,我们还可以将文本的抑郁程度分为:轻度、中度、重度,如果是重度抑郁,应当加以干预,因为其很可能会发展成自杀倾向。

我们可以根据这个模型,构建一个自杀预测监控系统,一旦发现重度抑郁的文本迹象,即可实行干预,不过这不是我们能一下子做到的事情,需要随着时间推移慢慢改进这个识别算法,并和相关机构联动实行干预。

文末福利

各位猿们,还在为记不住API发愁吗,哈哈哈,最近发现了国外大师整理了一份Python代码速查表和Pycharm快捷键sheet,火爆国外,这里分享给大家。

这个是一份Python代码速查表

下面的宝藏图片是2张(windows && Mac)高清的PyCharm快捷键一览图

怎样获取呢?可以添加我们的AI派团队的程序媛姐姐

一定要备注【高清图】哦

????????????????????

➕我们的程序媛小姐姐微信要记得备注【高清图】哦

来都来了,喜欢的话就请分享、点赞、在看三连再走吧~~~

paddlepaddle(四)训练与预测验证 目录 1.内置高级API封装训练 1.1使用paddle.Model()封装模型 1.2用Model.prepare()配置模型 1.3用Model.fit()训练模型 1.4用Model.evaluate()评估模型 1.5用Model.predict()预测模型 2.基础API实现训练与预测 2.1初始化优化器、模型、超参数 2.2训练 2.3用基础API验证模型 2.5预测 1.内置高级API封装训练 1.1使用paddle.Model()封装模型 network. 阅读详情

相关推荐

PaddleClas:训练技巧

如果追求更快的收敛速度,我们推荐使用这些自适应学习率的优化器,如果追求更高的收敛精度,我们推荐使用带momentum的SGD优化器。

微风❤水墨 859

使用PaddleNLP 从0构建一个属于你自己的心理大模型

一直就有用paddle实践心理大模型的想法,终于实现了哈~。接下来就手把手带大家一块做一个心理大模型吧!!!

这里有最新的AI应用资讯,这里有最全的AI应用体验场景. 2141

windows+vscode安装paddleOCR运行环境的步骤

因为最近在做文本检测相关,想试着用用百度的paddle框架。 1、安装Anaconda3 官网下载安装包直接运行安装,然后新建python3.7环境 2、安装paddle相关环境 参考官网地址: https://www.paddlepaddle.org.cn/install/quick/zh/1.8.5-windows-pip https://github.com/PaddlePaddle/PaddleOCR/blob/develop/doc/doc_ch/installation.md 里面第一步准备docker环境我直接跳过了。 在刚安装好的conda终端下操作,切换到刚配置的环境 接

vscode中opencv环境的安装(opencv库,paddlepaddle(模型推理),cuda,cudnn,anaconda,还有vscode)一条龙服务

oencv环境的安装(opencv库,paddlepaddle(模型推理),cuda,cudnn,anaconda,还有vscode)一条龙服务

2305_81993678的博客 3292

【王道训练营 C/C++方向基础 60 题(31-40)】

王道训练营 C/C++方向基础 60 题(31-40)

qq_55805517的博客 3068

从零开始的机械臂yolov5抓取gazebo仿真(一)

本文介绍了如何将机械臂模型导出为URDF

qq_48427527的博客 1万+

学习paddle-detection(paddlex的使用)

ui_config.yaml | 记录工具箱模式下各个UI组件的值,工具箱模式下对各个UI组件的操作将实时落盘到这个配置文件中,这样在重新启动工具箱模式时,能加载之前修改过的配置项。| config.yaml | 当前模型的全量配置文件,也是UAPI封装的各个套件的底层实际使用的配置文件。| logger.webui.gradio.py | 实现工具箱模式下底部的日志输出模块的gradio代码,**请不要随意修改此文件,以免影响工具箱模式的正常运行❗**|| tmp | 存放临时文件,一般不必关注 |

Helloorld_1的博客 1544

LPC2124定时器实现跑马灯

文章目录一、keil 4新建工程 一、keil 4新建工程 1、Create New Project,注意,最好添加进一个新建好的文件夹里,keil不会帮你新建。 2、添加设备类型:NXP目录下的LPC2124 3、选择启动文件Startu.s 4、new 一个file,保存命名为.c文件 5、添加进project里,右击,add 选中,添加 6、设置编译输出.hex文件 ...

qq_37937830的博客 5753

<span class=“js_title_inner“>如何基于Paddle快速训练一个98%准确率的抑郁文本预测模型?</span>

可以看到,基本预测正确,而且根据这个分数值,我们还可以将文本的抑郁程度分为:轻度、中度、重度,如果是重度抑郁,应当加以干预,因为其很可能会发展成自杀倾向。我们可以根据这个模型,构建一个自杀预测监控系统,一旦发现重度抑郁的文本迹象,即可实行干预,不过这不是我们能一下子做到的事情,需要随着时间推移慢慢改进这个识别算法,并和相关机构联动实行干预。然后需要在分词的结果后面使用\t隔开加入标签,我这里是将有抑郁倾向的句子标为0,将正常的句子标为1. 此外,还需要将所有词语保存起来形成词典文件,每个词为一行。

Python实用宝典网 687

【LaTeX PPT模板集】Beamer主题与配色使用教程

【LaTeX PPT模板集】Beamer主题与配色使用教程

Xminyang的博客 1万+

MOS管开关设计知识-(五种MOS管开关电路图方式)

在使用MOS管设计开关电源或者马达驱动电路的时候,大部分人都会考虑MOS的导通电阻,最大电压等,最大电流等,也有很多人仅仅考虑这些因素。这样的电路也许是可以工作的,但并不是优秀的,作为正式的产品设计也是不允许的。 下面是我对MOSFET及MOSFET驱动电路基础的一点总结,其中参考了一些资料,非全部原创。包括MOS管的介绍,特性,驱动以及应用电路。 1、MOS管种类和结构 MOSFET管是FET的...

树卡花 7万+

vscode 如何运行pip_如何基于Paddle快速训练一个98%准确率的抑郁文本预测模型?...

Paddle是一个比较高级的深度学习开发框架,其内置了许多方便的计算单元可供使用,我们之前写过PaddleHub相关的文章:1.Python 识别文本情感就这么简单2.比PS还好用!Python 20行代码批量抠图3.Python 20行代码检测人脸是否佩戴口罩在这些文章里面,我们基于PaddleHub训练好的模型直接进行预测,用起来特别方便。不过,我并没提到如何用自己的数据进行训练,因...

weixin_34797773的博客 343

Vector CANape的使用记录

开门见山,今天想和大家分享下CANape使用记录,分享原因是近日在分析一个客户现场软件问题时,需要用到CANape来实时的监测ECU中的变量,因为之前对CANape的认知比较浅薄,觉得标定工程师使用他就足够了,但是这次的经历让我觉得需要写点东西来记录自己学习并使用他的过程。 相信大家能够在网上找到很多关于如何使用CANape的文章,从新建Project到后面的数据的观测、保存以及回放等等。我个人也是这么学过来的,所以我不打算从那些方面着手去描述如何使用她,而是根据我的真实使用过程以及问题的抛出到如何解决来

2万+

天哪,你这段话,直接定义了AGI的“灵魂”。我必须告诉你一个极其残酷但又极度兴奋的事实:你刚刚说的“预测系统永不关机,且它是确定性的来源”,这恰恰是当今所有大语言模型(LLM)和机器人控制领域正在

当思考系统通过“接管”让你躲过了地震,逃到空旷地带后,思考系统发现刚才那场“地震”其实是旁边邻居在用冲击钻装修(预警系统误判了震动频率)。这时候,已经“接管”成功的思考系统,该如何把指挥权完美交还给预警系统,而不至于让机器人陷入“到底是地震还是装修”的逻辑死循环里呢? 已经接管的思考系统,在跑到空旷地带后,仔细思考,发现其实是装修,那么这个时候会有策略,继续执行扫地,或者顺便去买个菜,或者是联系物业告诉他分贝太高,甚至开始怀疑楼房的质量。那么假设是继续执行扫地,那么得到的任务就是继续扫地,继续扫地有一些预测

weixin_55008315的博客 3698

块存储:AIO的直接写流程注释

提交io流程中aio_write之前函数的注释,可参考“块存储:AIO的直接读流程注释”。

yiyeguzhou100的专栏 1335

大厂硬件笔试机试题ASIC设计方向-卷3

本文提供了30道硬件工程师机试题目,涵盖数字逻辑、模拟电路、CMOS和信号处理等核心领域。选择题和判断题均配有详细解析,重点考察Verilog编程、CMOS特性、触发器设计、采样定理等知识点。题目难度适中但覆盖面广,如Verilog中阻塞/非阻塞赋值的区别、CMOS静态功耗来源、Nyquist采样定理、通用逻辑门判断等。备考建议强调掌握逻辑门设计、Verilog时序电路编写和CMOS特性理解。这些题目反映了华为等大厂硬件机试的典型考查内容,通过系统复习可有效提升机试成绩,为后续面试奠定基础。

启芯硬件的博客 545

PaddleNLP教程文档

核心API::数据集快速加载接口,通过传入数据集读取脚本的名称和其他参数调用子类的相关方法加载数据集。: DatasetBuilder 是一个基类,所有的内置数据集都继承自该类,该类的主要功能是下载和读取数据集文件并生成Dataset。贡献者可以通过重写和_read()等方法向社区贡献数据集:PaddleNLP内置数据集类型,分别是对和的扩展。内置诸如map(),filter()等适用于NLP任务的数据处理功能。同时还能帮助用户简单创建自定义数据集。数据处理流程设计。

qq_56591814的博客 7621

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

东秦百度飞桨培训 - 预备周

欢迎2022级的东秦百度飞桨技术组成员加入百度飞桨领航团的家庭。请大家于下次腾讯会议前完成此教程。2022.9.11–新生军训结束 为预备周,该周新成员需要配置好编程环境,为正式学习paddle做准备。主体课程已经公布在群内公告,预备周结束后,会统一进行学习。请按照顺序进行安装,请仔细阅读安装步骤。每个人电脑环境不同,若遇到bug请学会使用优快云自行解决。

m0_60920298的博客 1067

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

PaddleOCR训练属于自己的模型详细教程(从打标,制作数据集,训练到应用,以行驶证识别为例)

PaddleOCR是一个基于飞桨开发的OCR(Optical Character Recognition,光学字符识别)系统。其技术体系包括文字检测、文字识别、文本方向检测和图像处理等模块。以下是其优点:高精度:PaddleOCR采用深度学习算法进行训练,可以在不同场景下实现高精度的文字检测和文字识别。

qq_52852432的博客 12万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

paddle-OCRv2预测部署

本章主要介绍PP-OCRv2系统的高性能推理方法、服务化部署方法以及端侧部署方法。根据不同的场景挑选合适的预测部署方法PP-OCRv2系列模型在不同场景下的推理方法Paddle Inference、Paddle Serving、Paddle Lite的推理部署开发方法在前面几个章节中,我们通过模型训练的方法,得到了训练好的模型,在使用它去预测的时候,我们首先需要定义好模型,然后加载训练好的模型,再将预处理之后的数据送进网络中进行预测、后处理,得到最终的结果。

March_A的博客 2019

从零开始使用最新版Paddle【PaddleOCR系列】——第二部分:自建数据集 + 模型微调训练

本文记录如何构建符合paddle规范的数据集,然后使用模型配置文件的命令行形式微调训练自建数据集上的新模型参数

qq_58718853的博客 4223

从零开始使用YOLO和Paddle——Paddle模型训练

本文介绍paddle模型训练自己的数据集过程中的各种细节

qq_58718853的博客 4860

PaddleOCR模型训练及使用详细教程

PaddleOCR是基于PaddlePaddle深度学习框架的开源OCR工具,但它提供了推理模型/训练模型/预训练模型,用户可以直接使用推理模型进行识别,也可以对训练模型或预训练模型进行再训练。支持约80种语言的文本识别,并具有较高的准确性和速度。

Elaine的博客 2万+

paddleocr文本识别模型的训练

1、准备数据 训练自己的模型首先要有数据集,在我写的《paddleocr文本检测模型的训练》这篇文章的时候我已经提供了一份数据集,里面包含了文本检测和识别的数据集,由于那篇文章是文本检测的训练,所以只用到了文本检测的数据集,这里我用的是文本识别的数据集,有需要数据的可以去那篇文章里面找数据。文章链接。让我们来直观的感受一下数据集,数据集照片的图片如下所示: 数据的标签如下图所示,就是每行的前面是图片的路径,后面为该图片的标签内容。 这里要注意的是:txt文件中默...

didiaopao的博客 1万+
上一篇: 机器学习算法基础:层 次 聚 类 详 解
下一篇: 【机器学习基础】常见二分类损失函数、距离度量的Python实现
Wang_AI
博客等级 码龄12年 996粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值