首页 > 其他分享 >SSD复现

SSD复现

时间:2023-04-30 15:33:48浏览次数:27  
标签:训练 epoch lr 2007test PASCALVOC SSD 复现

复现内容

SSD论文在PASCAL VOC2007 test detection results的SSD300的前两行

 不过在论文SSD用的是VGG作为backbone,而我所用代码的backbone则是resnet50,其他方便我尽量与论文一致

SSD框架结构

1 SSD代码采用resnet50(论文中是VGG),到conv4_x后面都丢弃
2 且在conv4_x中block1讲步距改为1,后面的block没有改动
3 在后面的添加层中加了bn层
4 利用nvidia的DALI包,来将图像预处理过程移至GPU中
5 利用混合精度可以加快训练,float16代替float32

复现结果

 1 total param num 
 2 backbone: Resnet50
 3 优化器:optimizer = torch.optim.SGD(params, lr=0.001, momentum=0.9, weight_decay=1e-4)
 4 学习率每几epoch更新一次lr-step-size=5,每次为上次的几倍,gamma=0.3
 5 损失函数=类别损失:nn.CrossEntropyLoss()+边界框损失nn.SmoothL1Loss()
 6 batch=8/多GPU每块batch=2
 7 加载完整预训练权重使用nvidia官方训练的
8 epoch = 30 9 每epoch,train:1m24s,test:,total:1h4m30s | 多GPU,train:1m53s,test:50s,total:1h28m37s
10 数据集:PASCALVOC-2007trainval(5012)/2007trainval+2012trainval(16551)
11 测试集:PASCALVOC-2007test(4952)
12 GPU: NVIDIA GeForce RTX 3070ti(8G) | 4 x Tesla V100(32G)

 07

训练集:PASCALVOC-2007trainval(5012)
测试集:PASCALVOC-2007test(4952)

loss,lr随epoch变化图

 IOU为0.5的map,大概在76%左右

加载训练后的权重,在测试集(2007test)上对模型进行验证

07+12

训练集:2007trainval+2012trainval(16551) 
测试集:PASCALVOC-2007test(4952)

loss,lr随epoch变化图

 IOU为0.5的map,大概在79.6%左右

 

 

加载训练后的权重,在测试集(2007test)上对模型进行验证

07与07+12对比

利用wandb记录模型的训练过程,不同数据集的loss、mAP(IOU=0.5)对比

 可以得出结论:更多的训练集,可以让模型达到更好的效果,相比论文的VGGbackbone,能看出resnet50作为backbone的效果更好

 

标签:训练,epoch,lr,2007test,PASCALVOC,SSD,复现
From: https://www.cnblogs.com/zhangjie123/p/17365229.html

相关文章

  • apollo启动报错java.lang.NoClassDefFoundError PemObjectGenerator
    启动apollo时,报错。java.lang.NoClassDefFoundError:org/bouncycastle/util/io/pem/PemObjectGenerator很明显类没找到,根据经验判断,很可能是maven依赖问题。解决方案apollo版本1.1.4。目前相关的是:org.bouncycastle:bcpkix-jdk15on:jar:1.55org.bouncycastle:bcprov-jdk15on:jar......
  • MAVEN MavenResourcesFiltering NoClassDefFoundError
    MAVENMavenResourcesFiltering NoClassDefFoundError [WARNING]Errorinjecting:org.apache.maven.plugin.resources.ResourcesMojojava.lang.NoClassDefFoundError:Lorg/apache/maven/shared/filtering/MavenResourcesFiltering; 解决办法一(估计是maven插件包的问题):删除.m......
  • SSD选型说明
    写入密集型环境下对SSD耐写度要求高,通常使用MLC存储单元,要求SSD能长时间承受连续写入而不会导致性能严重下降。常用型号:英特尔SSDDCP3700系列,DWPD=10(800G)。读取密集型应用环境的SSD通常采用TLC甚至更低的存储单元,在NAND技术加持下,容量和耐写度得到了提升,而价格却很低廉。常......
  • CVE-2016-3088漏洞复现
    1.背景介绍。ActiveMQ的web控制台分三个应用,admin、api和fileserver,其中admin是管理员页面,api是接口,fileserver是储存文件的接口;admin和api都需要登录后才能使用,fileserver无需登录。fileserver是一个RESTfulAPI接口,我们可以通过GET、PUT、DELETE等HTTP请求对其中存储的文件进......
  • java.lang.NoClassDefFoundError: org/apache/commons/io/output/UnsynchronizedByteA
    java.lang.NoClassDefFoundError:org/apache/commons/io/output/UnsynchronizedByteArrayOutputStream  一、问题现象在导出Excel过程中,程序报错如下:Exceptioninthread"main"java.lang.NoClassDefFoundError:org/apache/commons/io/output/UnsynchronizedByteArra......
  • SSDB 部署
    强烈推荐你把SSDB部署在 Linux操作系统上.不要在生产环境中使用Windows操作系统来运行SSDB服务器.如果你确实必须使用Windows操作系统,请在上面运行一个Linux虚拟机,然后再让SSDB运行于这个虚拟机之中.编译和安装wget--no-check-certificatehttps://......
  • CVE-2015-5254漏洞复现
    1.漏洞介绍。ApacheActiveMQ是美国阿帕奇(Apache)软件基金会所研发的一套开源的消息中间件,它支持Java消息服务,集群,SpringFramework等。ApacheActiveMQ5.13.0之前5.x版本中存在安全漏洞,该漏洞源于程序没有限制可在代理中序列化的类。远程攻击者可借助特制的序列化的Java......
  • 华为云GaussDB坚持技术引领,以数字化转型激活金融科技新动能
    摘要:“银行业数字化转型实践交流会”杭州站顺利收官。由华为与北京先进数通联合主办的“银行业数字化转型实践交流会”杭州站顺利收官,会议邀请了金融科技先锋企业、机构和多位资深专家,一起深入交流银行业数字化转型业务场景的探索和实践。其中,华为云数据库专家在现场分享了华为云Ga......
  • Typecho<=1.2.0 存储型XSS 复现
    Typecho<=1.2.0存储型XSS影响版本漏洞影响版本:Typecho<=1.2.0漏洞复现cookie.js//定义一个全局变量website,值为一个具体的网址varwebsite="http://xss.xxxx.com";//声明并立即执行一个匿名函数(function(){//创建Image对象,并给它的src属性赋值为websi......
  • 无惧百万级并发,GaussDB(for Cassandra)让华为推送服务更快触达
    摘要:推送服务(PushKit)是华为提供的消息推送平台,建立了从云端到终端的消息推送通道。通过集成推送服务,您可以向客户端应用实时推送消息,让应用更精准触达用户,是开发者提升用户感知度和活跃度的一件利器。本文分享自华为云社区《无惧百万级并发,GaussDB(forCassandra)让华为Push推送服......