QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2319|回复: 0
打印 上一主题 下一主题

[已经解决] resnet对图像进行分类,一类是识别率为100%而另一类识别率为0

[复制链接]
字体大小: 正常 放大

1175

主题

4

听众

2861

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-8-5 15:16 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
最近在搞神经网络中的resnet34模型,用resnet34模型来对图片进行分类,每一类图像都有140张图片,一共三个类,训练集和测试集的比例分别为8:2。
6 o4 z! y" p- H( k$ A  {: x, r  首先对图像进行预处理这些操作包括拉普拉斯算法对于图像的增强,并添加随机裁剪(RandomCrop)、随机水平翻转(RandomHorizontalFlip)、转换为张量(ToTensor)和归一化(Normalize)。这些预处理和增强操作可以帮助提高模型的泛化能力和分类性能。其中,随机裁剪和随机水平翻转可以增加训练数据的多样性,有助于模型学习到不同角度和位置的特征。转换为张量将图像数据转换为PyTorch中的张量格式,而归一化操作使各个通道的像素值在0到1之间,有助于加速模型的训练和收敛过程。
创建模型使用resnet-34模型
其中对于模型中各种参数的设置如下
优化器:使用了随机梯度下降(Stochastic Gradient Descent)优化器,在优化器中使用lr参数设置学习率(初始学习率为1e-1),momentum参数设置动量(momentum)的大小,weight_decay参数设定权重衰减(weight decay)的程度。SGD优化器在训练过程中根据梯度来更新模型的参数。
损失函数:使用了交叉熵损失函数,通过计算模型输出与真实标签之间的差异来度量训练中的误差。
学习率:使用了学习率调度器,通过根据验证集上的损失函数的变化动态调整学习率。
200epoch的训练之后发现对于木材中裂纹的分类正确率高达100%而对于木材中活节的识别率为0%,全部都识别成了死节。而对于死节的识别结果也并不高识别。结果如下所示:
2 q7 z, \: g- Y5 O
对于这样的情况,首先应该检查自己的数据集,是否将活结的图片放在了死节标签的文件夹下。发现并没有。其次检查了是否由于分类不均导致,由于各个类别中的分类数量都是相同的,于是也否定了这个想法,数据的样本也都是高质量的,那么为什么会导致这种情况呢。   
于是我更换了网络,将resnet 34改为了层数更深的resnet 50来提高性能。更换数据的预处理方式,将图片的预处理的拉普拉斯算法的图像增强修改为白平衡图像增强算法。虽然识别率依旧不高,但总算有所改进,具体结果如下:
; \' v" A2 \) w. a, \
训练结果为图片,无法上传,详情看附件
; Y6 o5 u+ x: q8 u6 J: R
6 {# T/ l3 G9 K# {; b" g

resnet识别率是100%另一类识别率维0.docx

28.65 KB, 下载次数: 0, 下载积分: 体力 -2 点

zan
转播转播0 分享淘帖0 分享分享0 收藏收藏1 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2025-8-14 01:48 , Processed in 0.667219 second(s), 53 queries .

回顶部