1.由于该网络是多任务训练,分别对难检测点和易检测点进行了loss 计算,同时采用了Feature Pyramid Network(FPN)主结构(U-shape)提取特征,因此训练时间比较长,当我对该网络进行了改进时,发现完整从头训练一次需要24~26个epoch,而一个epoch就需要3个半小时,耗时特别长,因此把开始的学习率从0.0001调到了0.0005,缩短了训练时间,赶论文所迫,总共有5个对比实验要做,而且还有两个数据集。
2.在对网络训练的过程中发现,没有迁移学习的网络确实训练的epoch比迁移学习的网络epoch要多,在我的实验中,先是对CPN网络进行训练,直接迁移的是resnet50的权重,在earlystopping=5,lr=0.0005的情况下,总共只需6个epoch,相当于1个epoch就学习完成,但是在lr=0.0001的情况下,总共需要10个epoch,并且效果还没有lr=0.0005的好。
3.我对CPN进行改进用的是pytorch深度学习框架,发现容易犯的一个错误,就是在__init__函数中定义卷积模块时,一定是用几个卷积,定义几个卷积,不能说把一个3*3卷积要重复3次,就只定义一个3*3卷积,这样在forword函数中如果调用三次的话,权重就会是共享的一个3*3卷积的权重,与初衷相悖。
开了一个技术交流的公众号,里面记录一些在学习有关深度学习,推荐系统与机器学习过程中的笔记与心得,欢迎关注~