数据准备
下载狗与狼分类数据集,数据来自ImageNet,每个分类有大约120张训练图像与30张验证图像。使用download接口下载数据集,并自动解压到当前目录。

全是小狗的图片

另一边全是狼的图片

加载数据集
狼狗数据集提取自ImageNet分类数据集,使用mindspore.dataset.ImageFolderDataset
接口来加载数据集,并进行相关图像增强操作。

数据集可视化
训练数据集通过MindSpore的ImageFolderDataset接口加载,返回值为字典。用户可以通过create_dict_iterator接口创建数据迭代器,使用next迭代访问数据集。在本章中,每次使用next可获取18个图像及标签数据。

训练模型
构建Resnet50网络
固定特征进行训练

训练和评估

可视化模型预测

总结
使用迁移学习方法对ImageNet数据集中的狼和狗图像进行分类的案例。首先介绍了数据集的下载和预处理操作,然后使用ResNet50模型进行训练和验证,最后保存了精度最高的模型参数。同时也展示了预测结果的可视化以及固定特征进行训练的方法。