如何使用keras.applications中的模型进行转移学习?

如何使用keras.applications中的模型进行转移学习?,第1张

如何使用keras.applications中的模型进行转移学习?

您可以使用

pop()
on
model.layers
,然后使用
model.layers[-1].output
来创建新层。

例:

from keras.models import Modelfrom keras.layers import Dense,Flattenfrom keras.applications import vgg16from keras import backend as Kmodel = vgg16.VGG16(weights='imagenet', include_top=True)model.inputmodel.summary(line_length=150)model.layers.pop()model.layers.pop()model.summary(line_length=150)new_layer = Dense(10, activation='softmax', name='my_dense')inp = model.inputout = new_layer(model.layers[-1].output)model2 = Model(inp, out)model2.summary(line_length=150)

或者,您可以使用

include_top=False
这些模型的选项。在这种情况下,如果您需要使用平坦化图层,则需要传递图层
input_shape

model3 = vgg16.VGG16(weights='imagenet', include_top=False, input_shape=(224, 224, 3))model3.summary(line_length=150)flatten = Flatten()new_layer2 = Dense(10, activation='softmax', name='my_dense_2')inp2 = model3.inputout2 = new_layer2(flatten(model3.output))model4 = Model(inp2, out2)model4.summary(line_length=150)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5662273.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存