代码与解读:
先将所加载的图像进行一些预处理和变换。
使用预训练好的VGG16模型,将最后一层修改,使网络的结果可以输出两类,然后冻结最后一层前的层的参数,构成我们需要的网络模型。
创建损失函数和优化器,利用上述与处理好的train数据集和修改后的模型进行训练,然后用valid数据集测试训练好的模型。
在工程问题中使用深度学习需要首先准备待解决问题的数据,并按需求处理好,然后下载预训练好的网络,按需求修改网络,然后用准备好的数据来 fine-tune 预训练好的网络。
代码优化:
尝试使用了不同的epoch,发现一个epoch的得分为95.45,10个epoch的得分提升到了97.45,而将epoch陆续提升到20,30发现准确率没有提高得很明显,运行速度反而明显下降,且还可能造成过拟合。