迁移学习resnet_resnet50迁移学习期间的大量过拟合

作者在使用ResNet50进行迁移学习时遇到过拟合问题,模型验证准确性停滞不前,损失反而增加。尝试了数据增强、调整模型结构等方法未见成效。通过计算瓶颈特征并用随机森林预测,确认输入图像预处理可能是问题所在。最终,通过冻结批处理规范化层并在训练和测试时正确设置训练标志,解决了过拟合问题,实现了约60%的训练准确率和45%的测试准确率。
摘要由CSDN通过智能技术生成

这是我第一次尝试使用CNN做某事,因此我可能做的很愚蠢-但无法弄清楚我错了...

该模型似乎学习得很好,但是验证准确性并没有提高(甚至-在第一个时期之后),并且验证损失实际上随着时间而增加。看起来我不太适合(1个时期后?)-我们必须以其他方式关闭。

我正在训练一个CNN网络-我有约100k种各种植物(1000个类)的图像,并想对ResNet50进行微调以创建一个多类分类器。图片大小各异,我像这样加载它们:

fromkeras.preprocessingimportimagedefpath_to_tensor(img_path):# loads RGB image as PIL.Image.Image typeimg=image.load_img(img_path,target_size=(IMG_HEIGHT,IMG_HEIGHT))# convert PIL.Image.Image type to 3D tensor with shape (IMG_HEIGHT, IMG_HEIGHT, 3)x=image.img_to_array(img)# convert 3D tensor to 4D tensor with shape (1, IMG_HEIGHT, IMG_HEIGHT, 3) and return 4D tensorreturnnp.expand_dims(x,axis=0)defpaths_to_tensor(img_paths):list_of_tensors=[path_to_tensor(img_path)forimg_pathinimg_paths]#can use tqdm(img_paths) for datareturnnp.vstack(list_of_tensors)enter code here

数据库很大(不适合内存),必须创建自己的生成器才能提供从磁盘读取和扩充的功能。(我知道Keras具有.flow_from_directory()-但

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值