wusaifei / garbage_classify

本文新增添分类,检测,换脸技术等学习教程,各种调参技巧和tricks,卷积结构详细解析可视化,注意力机制代码等详解!本次垃圾分类挑战杯,目的在于构建基于深度学习技术的图像分类模型,实现垃圾图片类别的精准识别,大赛参考深圳垃圾分类标准,按可回收物、厨余垃圾、有害垃圾和其他垃圾四项分类。本项目包含完整的分类网络、数据增强、SVM等各种分类增强策略,后续还会继续更新新的分类技巧。
646 stars 177 forks source link

向楼主提问,这种现象是不是应该是batch size不够造成的 #13

Open piaotq opened 4 years ago

piaotq commented 4 years ago

楼主你好: 我这边在本地跑测试1080t batch size设置为4 因为mem不够 size还是456没有减少,这个运行结果可能还有其他影响因素么? 另外这个batch size的设置是最优设置是16么? 理论依据楼主能麻烦贴个链接么? 多谢 运行结果截图

piaotq commented 4 years ago

楼主 这个是我跑第一个epno的,预训练模型也加载了,我用model summary也看到了,感觉是不是没有起作用 image

wusaifei commented 4 years ago

@piaotq 你好对于batch_size对分类准确率的影响还是挺大的,我做过实验batch32的效果好于16,16好于8,如果当batch_size的大小小于16时,准确率会下降很快。

wusaifei commented 4 years ago

第一原因:batch选择的太小,一般情况下batch是16以及以上最佳,不然准确率会下降很多,如果是4的话几乎不可能达到很好的分类结果。第二个原因:默认尺寸是最好的,228太小了失去了很多信息。建议size改成380或者456,batch改成16以及以上,准确率就会上升啦。因为EfficientNet论文指明,尺寸对网络的影响非常大。

piaotq commented 4 years ago

楼主非常感谢你的经验。 我目前的input size是设置为456的,batch size如果要到32的话,16G的显存够用么?我在想租用阿里云的服务器试一下,这方面有啥好的推荐么。 另外昨天那个训练的问题,其实EfficientNetB5(weights='imagenet', 这个里边的下载链接其实失效了,然后我加载错了网络权重的文件。所以昨天晚上我加载了至少我认为正确的权重文件,训练16次就达到了前天30次的指标,今天继续再跑跑结果。 对了EfficientNetB5现在编译好的权重文件有待autoaugment和不带的,用哪个效果会一些呢

image

piaotq commented 4 years ago

楼主 我用nvida的P100跑 16G满了 也跑不到batch size16 能问下你用的是啥配置么?

wusaifei commented 4 years ago

@piaotq 我之前用的是华为云参加比赛给的云服务器,4个P100是可以跑到32的,尺寸也是456。16G肯定是不够的可能至少需要48G的GPU。IImageNet那个参数可以自己收动下载的,然后读取它就行啦。AutoAugment那个预训练参数不是太好,准确率不是太高建议不要用,对了我记得AutoAugment是B6,B7的时候选用的。

piaotq commented 4 years ago

明白了,感谢哈哈,阿里云我看看怎么安排多GPU的

wusaifei commented 4 years ago

@piaotq 不客气哈