ResNet是ILSVRC 2015在图像分类,检测和定位方面的赢家,也是MS COCO 2015检测和分割的获胜者。
ResNet50是一个用于图像分类的简单、高度模块化的网络结构,它已经成为keras中的一个标准模块。
基于ResNet50可以构造很多个性化的应用,因此学习使用一下ResNet50很有必要。
关于keras.applications.resnet50.ResNet50()的说明如下:
该模型为50层残差网络模型,权重训练自ImageNet。该模型在Theano和TensorFlow后端均可使用,并接受channels_first和channels_last两种输入维度顺序,模型的默认输入尺寸是224x224。
参数
include_top:是否保留顶层的全连接网络
weights:None代表随机初始化,即不加载预训练权重;'imagenet’代表加载预训练权重。
input_tensor:可填入Keras tensor作为模型的图像输出tensor
input_shape:可选,仅当include_top=False有效,应为长为3的tuple,指明输入图片的shape,图片的宽高必须大于197,如(200,200,3)
pooling:当include_top=False时,该参数指定了池化方式。None代表不池化,最后一个卷积层的输出为4D张量。‘avg’代表全局平均池化,‘max’代表全局最大值池化。
classes:可选,图片分类的类别数,仅当include_top=True并且不加载预训练权重时可用。
我们从互联网上下载了一些狗狗的图片(100张),同时用StyleGAN生成了一些人脸图片(250张),分别把它们放到两个不同的目录下,用来训练我们的RestNet50网络;训练完毕后,我们把模型保存到文件;然后用训练后的模型对输入的图片进行分类。
用StyleGAN生成人脸图片的方法请参考: