bubbliiiing / mask-rcnn-tf2

这是一个mask-rcnn-tf2的库,可以用于训练自己的模型。
MIT License
64 stars 9 forks source link

loss 降不下去,不收敛 #40

Open xieyizi990430 opened 1 year ago

xieyizi990430 commented 1 year ago

你好up,我的模型训练了n天了,尝试了不同的调参方式,loss总是降不下去 image 不知道为什么。如果继续延长训练时间(我最长一次训练了4天),也没有改进。 请问有什么建议么~ 有看到up的问题汇总里面说,loss只是判断收敛与否的指标,数值不代表什么 但是我用eval.py跑了以后效果也奇差,所以我觉得也许还是和训练有关系?

求B导指点!!!!

xieyizi990430 commented 1 year ago

4s 5s/step - loss: 2.8646 - rpn_class_loss_loss: 0.1904 - rpn_bbox_loss_loss: 0.8295 - mrcnn_class_loss_loss: 0.4902 - mrcnn_bbox_loss_loss: 0.3545 - mrcnn_mask_loss_loss: 0.3833 - val_loss: 2.8508 - val_rpn_class_loss_loss: 0.2017 - val_rpn_bbox_loss_loss: 0.8249 - val_mrcnn_class_loss_loss: 0.4915 - val_mrcnn_bbox_loss_loss: 0.3336 - val_mrcnn_mask_loss_loss: 0.3827 具体来说,就是val_loss奇高~~~ don't know why....按理来说验证集的损失值高是过拟合了是吧。。。但是又有啥办法捏

bubbliiiing commented 1 year ago

我可能需要结合你的数据来看

bubbliiiing commented 1 year ago

你的数据是可共享了?

xieyizi990430 commented 1 year ago

B导好,这是我的一部分数据集,是最复杂的600张。这些是不同形态的电池极片(平整sheet,折叠fold,卷曲curl,重叠overlap),上面黑色的残留部分是没有脱落的电极粉(black),我的目标是识别并分割出每一种电极片上黑色电极粉的残余百分比,我用您的unet代码能够实现计算,只是不能对电极片分类。所以现在使用了mask rcnn。 我的图片都是2048*3072大小的。 另外,我觉得黑色的电极粉部分有的区域很小,会不会影响训练的效果。 这最复杂的600张就是 一张图片囊括了所有类型的电极片,可以理解为“集大成”情况的数据集。 我其余的近2000张数据集就简单一些,有的只是平整电极片和上面残留的粉,有的只是重叠的,有的只是折叠的…… 求B导指点指点训练~~! 这是我的这一部分数据集,十分麻烦B导下载一下! 链接:https://pan.baidu.com/s/1_sTkmzez9mQv3BCmjRYNfA 提取码:bkb8 --来自百度网盘超级会员V1的分享

可以的话B导可以加个微信吗,我请你喝奶茶!!!感谢!

bubbliiiing commented 1 year ago

啊,百度网盘 慢慢下,有点抽象

bubbliiiing commented 1 year ago

可以发发你的参数设置

xieyizi990430 commented 1 year ago

classes_path = 'model_data/cls_classes.txt'
model_path = "model_data/mask_rcnn_coco.h5" IMAGE_MAX_DIM = 1024 RPN_ANCHOR_SCALES = [32, 64, 128, 256, 512] Init_Epoch = 0 Epoch = 100 batch_size = 1 Init_lr = 1e-4 Min_lr = Init_lr * 0.1 optimizer_type = "adam" momentum = 0.8 weight_decay = 0 lr_decay_type = "step"

save_period = 5

save_dir = 'logs'

num_workers = 1

------------------------------( *・ω・)✄╰ひ╯

clc_classes.txt的内容是: sheet fold overlap curl black


这是我的参数设置~~~请查收~ ✧ʕ̢̣̣̣̣̩̩̩̩·͡˔· Ɂ̡̣̣̣̣̩̩̩̩✧

bubbliiiing commented 1 year ago

额… 我看了一下,为什么momentum是0.8

bubbliiiing commented 1 year ago

我看数据似乎没什么问题,

bubbliiiing commented 1 year ago

也许我这边试试?

xieyizi990430 commented 1 year ago

momentum貌似是我找不到原因 试着改了改 但是没有什么用……0 0

okay! 感谢B导~~~希望解决我的问题不会占用你太多时间哇!!!(*·ω·)✄╰ひ╯

bubbliiiing commented 1 year ago

嗯,我最近有点忙,不好意思,我明天试一下

bubbliiiing commented 1 year ago

image image

这是我一次epochchu出的结果0 0

bubbliiiing commented 1 year ago

虽然不准但是似乎是有效果的

xieyizi990430 commented 1 year ago

行,我这也继续试一下,谢谢up!~ ps:假设loss训练很多轮以后就在2左右波动饿了怎么办呢。。。。就是不下降了,那我应该做哪些方面的改进呢( *・ω・)✄╰ひ╯

bubbliiiing commented 1 year ago

不是多试试的问题, 感觉你的环境有点问题,你怎么配的,细说

xieyizi990430 commented 1 year ago

​老大 !我是这样配置的 这是之前在问您loss nan问题的时候重新配的 tensorflow-gpu是conda install的 cuda和cudnn是在官网下载的 安装cuda后把cudnn解压复制粘贴进cuda文件夹替换

这样安好以后还是不行 查到是因为需要11.1的一个功能 但是tf2.4又只能配cuda11.0 解决办法是下载cuda11.1把那个部件复制到cuda11.0的文件夹里 ​

以下这两个链接是我当时参考的:(但是教程都是针对3090 的 我是4090)

https://blog.csdn.net/qq_38784454/article/details/111650373

https://github.com/tensorflow/tensorflow/issues/45170

这样做以后 代码不报错了 tf.test.is_gpu_available()也是true 我就以为没问题了 然而就遇到了现在训练很久都不收敛的问题0 0

ps:return code 4294967295 这个问题 俺看最新的issue里也有小伙伴在问!不知道我搜的这个是不是正解🥹

---- 回复的原邮件 ---- | 发件人 | @.> | | 发送日期 | 2023年08月31日 23:06 | | 收件人 | bubbliiiing/mask-rcnn-tf2 @.> | | 抄送人 | 是蟹一只啊 @.>, Author @.> | | 主题 | Re: [bubbliiiing/mask-rcnn-tf2] loss 降不下去,不收敛 (Issue #40) |

不是多试试的问题, 感觉你的环境有点问题,你怎么配的,细说

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

Harnonliu commented 1 year ago

我的CUDA是11.1,tensorflow是2.4.0,但是依然出现这个问题,晕...不过这行警告出现很多次后程序还是可以跑起来