PyTorch学习笔记 7.TextCNN文本分类
2014年,Yoon Kim针对CNN的输入层做了一些变形,提出了文本分类模型textCNN。与传统图像的CNN网络相比, textCNN 在网络结构上没有任何变化,包含只有一层卷积,一层最大池化层, 最后将输出外接softmax 来进行n分类。
模型结构:
本文使用的数据集是 THUCNews 。
这里使用bert的预训练模型 bert-base-chinese 实现tokenizer过程。更多与bert分词编码相关知识可以移步到这里查看。
数据加载器使用pytorch 的 dataset,关于DataSet更多知识可以移步到这里查看。
模型定义3个卷积层,卷积大小分别是2,3,4。
卷积激活函数使用relu。
卷积后进行最大池化,池化是在2维上进行,池化后进行降维处理。
根据池化层的输出和分类类别数量,构建全连接层,再经过softmax,得到最终的分类结果。
这里使用torch.nn.Linear(input_num, num_class)定义全连接层,其中input_num是池化层输出的维数,即m,num_class是分类任务的类别数量。
按批次取训练数据,调用模型进行训练,主要是以下几个步骤:
获取loss:输入数据和标签,计算得到预测值,计算损失函数;optimizer.zero_grad() 清空梯度;loss.backward() 反向传播,计算当前梯度;optimizer.step() 根据梯度更新网络参数
测试过程对每次正确率累加,最后打印整体的测试结果:
把输入文本进行分词编码输入模型,通过argmax计算预测值通过id转标签函数计算标签值
举报/反馈
最近更新教育管理
- 德州市社保中心组织开展12333社保咨询日及服务体验活动
- 郁亮关于房地产的最新判断
- 新sat写作多长时间
- 中超最新积分榜:山东泰山稳居第2,距离榜首只差5分!三镇升6
- 拒绝教师“躺平”,湖北一地出招
- 九江市人社局精准服务推动高校毕业生高质量就业
- 逢八秩晋五·续摇篮华章 ——西安市第一保育院学术讨论暨摇篮课程成果分享活动
- 奇安信集团总裁吴云坤赴南京信息工程大学交流座谈
- “重礼兴乐”涵育师生家国情怀
- 上汽大众途观L(Tiguan L)和探岳怎么选?看完这篇就有答案
- 我省严禁艺考考点院校参与应试培训活动
- 深度介入基础设施建设,推动人才培养与人文交流 十年大手笔!江苏高校同绘丝路画卷
- 行而不缀,未来可期
- 大量编内!福建多家好单位招人!
- 首届川渝“巴蜀杯”中学生排球联赛开赛
- 平安产险重庆分公司开展2023年金融消费者权益保护教育宣传月“五进入”活动
- 湖南娄底:全面优化项目建设环境
- 辽宁科技大学材料与冶金学院开展新生入学教育系列活动
- 明年起,江苏开设6类艺术类省统考
- 我真的很棒——合肥市荣幼教育集团开展幼小衔接活动
- 快看:首列车亮相,郑州这两条地铁新进展来了!
- 推动农业绿色发展 淄博打开农民增收“新密码”
- sat阅读填空题的答题方法
- 主题教育|枣庄市司法局采取有力措施 确保主题教育高质高效推进
- 昆明市工会驿站普惠日活动启动