软件工程作业4
猫狗大战
1.下载数据
2.数据处理
3.创建VGG Model
4. 冻结前面层的参数,修改网络最后一层
5.训练并测试全连接层
6.可视化模型预测结果(主观分析)



7. 用test测试集进行测试


8.分析总结
VGG是卷积神经网络的一种,研究这个网络的课题组叫做VGG,所以该网络是这么个名字。
VGG 模型网络由三种元素组成。卷积层(CONV)是发现图像中局部的 特征,全连接层(FC)是在全局上建立特征的关联,池化(Pool)是给图像降维,防止训练过拟合。
数据会被分为三个部分:Train集:训练模型用,不多解释;Valid集:这部分数据用来进行模拟考试,检验自己模型的正确率,相当于带标签的test集;Test集:最终提交作业实验所用的测试集。
哪些方法可以优化呢?
1.对于网络进行了调参的优化,包括batch的大小,epoch等等,但都不是很明显,得分基本在95左右。
2.看了有的同学的博客,使用了Adam这一优化器,由于时间限制,未能及时测试。但是去学习了下:
SGD和Adam是pytorch中常用的优化器;SGD 是最普通的优化器, 也可以说没有加速效果;
Adam 是SGD优化器添加了诸如动量原则等升级,所以一般效果比SGD优化效果好。
动量法每下降一步都是由前面下降方向的一个累积和当前点的梯度方向组合而成, 减少2.1方法带来的震荡,让梯度平缓一些。公式如下
vt = β * vt-1 + λ▽J(x) (1)
x1 = x0 + vt (2)

明显看出明显抖动小一些

浙公网安备 33010602011771号