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