我正在通过Keras中的卷积神经网络(CNN)研究基于2D RGB像素的图像分类问题 . 我的完整CNN模型可以找到here .
我做以下培训/适合CNN模型:
model = my_CNN_unet()
model_checkpoint = ModelCheckpoint('testweights_{epoch:02d}.hdf5')
model.fit(x_trn, y_trn, batch_size=50, epochs=3, verbose=1, shuffle=True,
callbacks=[model_checkpoint], validation_data=(x_val, y_val))
如何更改我的代码,以便我使用知名CNN架构(如 VGG
和 Inception
)的预训练权重(即转移学习)
1 回答
正如人们在评论中提到的那样,
keras.applications
提供了一种访问预训练模型的方法 . 举个例子:您可以像训练以前的CNN一样训练此模型 . Keras应用程序提供对许多模型的访问,例如Inception,VGG16,VGG19,ResNet等 - 您可以以类似的方式访问它们 . 我写了一篇博客文章,介绍如何在Keras中使用转移学习来构建图像分类器:http://innolitics.com/10x/pretrained-models-with-keras/ . 它有一个可以查看的工作代码示例 .