【第四次作业】CNN实战

1.猫狗大战VGG模型的迁移学习

​ 2.数据处理

​ 对python一知半解,去查找了transforms的方法,了解一下数据处理的实现过程。

​ 4.修改最后一层,冻结前面层的参数

​ 将上一层的4026个神经元与这一层的2个神经元进行全连接。

通过运行代码,进一步了解了迁移学习的核心,通过下载预训练好的网络来解决问题,会更加的高效、准确。

2.猫狗大战比赛在线测评

在原程序的基础上做了修改,首先下载并解压了比赛所需的数据集。

将比赛的test文件放入./dogscats/test文件之下,(先前将test文件直接放入dogscats之下导致程序识别不到'test'类,后在dogscats目录下建立test文件夹,放入其中即可解决问题)

将参数进行修改:

封装test类:

对模型进行训练,并且测试数据集:

最后导出csv文件,发现colab文件读取图像的顺序并不是正序,并不能直接使用。经过试验,发现可以有两个方法解决:

1.在导出结果的同时,也导出图片的序号

2.在读取图像之前,将图像的顺序变为正序,可以通过在文件名前填0实现。

我们小组最后采取了第一种方法:

在线测评结果:

1.未做任何修改,将最初结果上传:

2.提高了学习率,再次进行检测:

3.提高了训练次数,再次进行检测:

通过网上查找资料,发现图像白化、翻转可能会是准确率提高,目前还在进行研究(还没有学会图像白化的使用方法)。并且,我发现训练结果具有偶然性,准确率会上下浮动。

原文地址:https://www.cnblogs.com/wyyyy/p/13919650.html