Пример #1
0
def get_model(model_type, input_shape, learning_rate, weight_decay, optimizer,
              momentum):
    input_tensor = Input(shape=input_shape)
    if model_type == 'resnet':
        base_model = keras.applications.resnet50.ResNet50(
            include_top=False,
            weights='imagenet',
            input_tensor=input_tensor,
            input_shape=input_shape,
            classes=None)
        x = Flatten()(base_model.output)
        predictions = Dense(NUM_CLASSES, activation='softmax')(x)
        model = Model(inputs=base_model.input, outputs=predictions)

    elif model_type == 'vgg':
        base_model = keras.applications.vgg19.VGG19(include_top=False,
                                                    weights=None,
                                                    input_tensor=input_tensor,
                                                    input_shape=input_shape,
                                                    classes=None)
        x = Flatten()(base_model.output)
        predictions = Dense(NUM_CLASSES, activation='softmax')(x)
        model = Model(inputs=base_model.input, outputs=predictions)

    else:
        model = get_custom_model(input_shape, learning_rate, weight_decay,
                                 optimizer, momentum)

    return model
def get_model(model_type):
    print(f'====== Getting model architecture: {model_type} ======')
    input_tensor = Input(shape=input_shape)
    if model_type == 'resnet':
        base_model = keras.applications.resnet50.ResNet50(
            include_top=False,
            weights='imagenet',
            input_tensor=input_tensor,
            input_shape=input_shape,
            classes=None)
        x = Flatten()(base_model.output)
        predictions = Dense(NUM_CLASSES, activation='softmax')(x)
        model = Model(inputs=base_model.input, outputs=predictions)

    elif model_type == 'vgg':
        base_model = keras.applications.vgg19.VGG19(include_top=False,
                                                    weights=None,
                                                    input_tensor=input_tensor,
                                                    input_shape=input_shape,
                                                    classes=None)
        x = Flatten()(base_model.output)
        predictions = Dense(NUM_CLASSES, activation='softmax')(x)
        model = Model(inputs=base_model.input, outputs=predictions)

    else:
        model = get_custom_model(input_shape)

    return model