前情提要
前五期我们提到了
接下来为大家讲解
迁移学习与计算机视觉实践
本节开始,我们将使用VGG16模型做一些小实验,进而巩固我们对迁移学习与计算机视觉理论知识的理解。与第四章一样,我们同样是基于fashion MNIST数据的图像分类去做实验。
在2017年8月份,德国研究机构Zalando Research在GitHub上推出了一个全新的数据集,其中训练集包含60000个样例,测试集包含10000个样例,分为10类,每一类的样本训练样本数量和测试样本数量相同。样本都来自日常穿着的衣裤鞋包,每个都是28×28的灰度图像,其中总共有10类标签,每张图像都有各自的标签。
值得注意的是,因为VGG16只能识别尺寸大于48×48的彩色图片,而我们的数据集是28×28的灰色图片,因此我们在将数据集灌入迁移学习模型前,要对图片数据集进行适当地转换,也就是比第四章中传统CNN神经网络的图像预处理多了一步:将图片转换成48×48大小的彩色图片。
7.3.1 实验环境
(1) Anaconda Python 3.7与Jupyter Notebook
(2) Keras
(3) fashion MNIST数据数据集
7.3.2 实验流程
(1) 加载图像数据
(2) 图像数据预处理
(3) 训练模型
(4) 保存模型与模型可视化
(5) 训练过程可视化
7.3.3 代码
1. # chapter7/7_3_Transfer_learning_cnn_image.ipynb
2. from tensorflow.python.keras.utils import get_file
3. import gzip
4. import numpy as np
5. import keras
6. from keras.datasets import cifar10
7. from keras.preprocessing.image import ImageDataGenerator
8. from keras.models import Sequential, Model
9. from keras.layers import Dense, Dropout, Activation, Flatten