跳到主要内容

迁移学习应用

迁移学习理论

关于迁移学习理论详细内容请参考:https://www.yuque.com/suanpan_doc/public/ssdqlu keras,pytorch的预训练模型是使用ImageNet数据集进行训练的。
ImageNet数据集已经被广泛用作训练集,因为它规模足够大(包括120万张图片),有助于训练普适模型。ImageNet的训练目标,是将所有的图片正确地划分到1000个分类条目下。这1000个分类基本上都来源于我们的日常生活,比如说猫猫狗狗的种类,各种家庭用品,日常通勤工具等等。

案例

要解决的问题

依然使用Cat vs Dog数据集,数据集详情请参考https://www.yuque.com/suanpan_doc/public/dx8z5f。

解决方案

在算盘的项目模板中,已经创建了一个简单的流程可以参考。
在项目模板中,双击keras教材案例中的迁移学习应用: image.png建出以下模板,模板中的组件可以在深度学习的pytorch的分类中找到:image.png

模板

可以看出整个模板分了四块:

  • 模型建立——需要有一个输入层,注意填写接收图片的大小与通道数,后面连接VGG16。注意预训练模型需要被设置为使用预训练分类器,即不勾选特征提取器。
  • 数据载入——可以使用文件夹上传上传需要被分类的图片文件,后面可以直接连接图片文件夹数据转换组件。
  • 预测——预测节点接收测试集数据与训练好的模型进行训练,生成预测图片文件夹与CSV文件(包含每个图片的index,真实值与预测值),CSV文件可以作为多分类评估的输入进行模型评估
  • 图片预处理——由于每张图片的大小不等,需要先将图片比例缩放之后再进行剪裁,案例中将图片变换为1501503的数据格式。

这样就实现了迁移学习的神经网络模型,你可以对其中的网络结构进行重新编辑,验证你的算法!