def load_model_from_trained_weights(imagedims, nb_classes, weights=None, freeze_until=None): model = MobileNetV2.build(imagedims, nb_classes) print("[INFO] loading weights...") model.load_weights(weights, by_name=False, skip_mismatch=False) model = Model(model.inputs, model.get_layer("dropout").output) if freeze_until: for layer in model.layers[:model.layers.index(model.get_layer(freeze_until))]: layer.trainable = False out = Dense(units=nb_classes, activation='softmax')(model.output) model = Model(model.inputs, out) return model
def load_models(imagedims, nb_classes): # notes:name is same with keras.models.load_model,so change as load_models model = MobileNetV2.build(imagedims, nb_classes) return model