如何保存来自Keras Mobilenet的创建和保存子模型?

时间:2019-01-28 12:22:01

标签: tensorflow keras

我已经在keras中创建了mobilenet v2模型以及lambda函数,该函数为我提供了倒数第二层的输出。如何保存这个特定的子模型(我想用tfjs-converter转换它并在tensorflow-js中使用它)?

from keras.applications.mobilenet_v2 import MobileNetV2
model = MobileNetV2(input_shape=None, alpha=0.35, depth_multiplier=1, include_top=True, weights='imagenet', input_tensor=None, pooling=None, classes=1000)
get_3rd_layer_output = K.function([model.layers[0].input],
                                      [model.layers[-2].output])

1 个答案:

答案 0 :(得分:1)

您可以创建Keras模型而不是Keras函数,并使用model.save(filepath)方法将其保存:

custom_model = keras.models.Model(inputs=model.layers[0].input, 
                                  outputs=model.layers[-2].output)

custom_model.save('model.h5')