def make_model(num_classes, name='midi', **kwargs): input_shape = (25, 25, 25) k_input_shape = (input_shape[0], input_shape[1], input_shape[2], 1) model = Sequential() #model = all_preprocessing(model, 'all', input_shape=k_input_shape, **kwargs) model = all_preprocessing(model, ['normalize'], input_shape=k_input_shape, **kwargs) model.add(Flatten()) model.add(Dense(150)) model.add(Activation('relu')) model.add(Dropout(0.75)) model.add(Dense(150)) model.add(Activation('relu')) model.add(Dropout(0.75)) model.add(Dense(num_classes)) model.add(Activation('softmax')) return model, name, input_shape
def make_model(num_classes, **model_params): input_shape = (13, 13, 13) k_input_shape = (input_shape[0], input_shape[1], input_shape[2], 1) if 'normalize' in model_params: normalize = model_params['normalize'] else: normalize = True if 'dense_dropout_p' in model_params: dense_dropout_p = model_params['dense_dropout_p'] else: dense_dropout_p = 0.25 model = Sequential() model = all_preprocessing(model, normalize=True, input_shape=k_input_shape, **model_params) model.add(Flatten()) model.add(Dense(150)) model.add(Activation('relu')) model.add(Dropout(dense_dropout_p)) model.add(Dense(num_classes)) model.add(Activation('softmax')) return model, input_shape
def make_model(num_classes, name='conv_2_layer', **model_params): if not 'normalize' in model_params: model_params['normalize'] = True if not 'rotation' in model_params: model_params['rotation'] = False if not 'foveation' in model_params: model_params['foveation'] = False if not 'noise' in model_params: model_params['noise'] = False if not 'linear_deformation' in model_params: model_params['linear_deformation'] = False if not 'non_linear_resampling' in model_params: model_params['non_linear_resampling'] = False if 'conv_dropout_p' in model_params: conv_dropout_p = model_params['conv_dropout_p'] else: conv_dropout_p = 0.0 if 'dense_dropout_p' in model_params: dense_dropout_p = model_params['dense_dropout_p'] else: dense_dropout_p = 0.0 name = name + '_' + str(conv_dropout_p) + '_' + str(dense_dropout_p) input_shape = (25, 25, 25) k_input_shape = (input_shape[0], input_shape[1], input_shape[2], 1) model = Sequential() model = all_preprocessing(model, input_shape=k_input_shape, **model_params) model.add(Conv3D(48, (5, 5, 5), padding='valid')) model.add(Activation('relu')) model.add(MaxPooling3D(pool_size=(2, 2, 2))) model.add(Dropout(conv_dropout_p)) model.add(Conv3D(64, (4, 4, 4), padding='valid')) model.add(Activation('relu')) model.add(MaxPooling3D(pool_size=(2, 2, 2))) model.add(Dropout(conv_dropout_p)) model.add(Flatten()) model.add(Dense(150)) model.add(Activation('relu')) model.add(Dropout(dense_dropout_p)) model.add(Dense(num_classes)) model.add(Activation('softmax')) #softmax return model, input_shape
def make_model(num_classes, name='test_foveation', **kwargs): input_shape = (25, 25, 25) k_input_shape = (input_shape[0], input_shape[1], input_shape[2], 1) model = Sequential() model = all_preprocessing(model, foveation=True, input_shape=k_input_shape, **kwargs) return model, name, input_shape
def make_model(num_classes, **kwargs): input_shape = (25, 25, 25) k_input_shape = (input_shape[0], input_shape[1], input_shape[2], 1) model = Sequential() model = all_preprocessing(model, normalize=True, input_shape=k_input_shape, **kwargs) return model, input_shape
def make_model(num_classes, name='test_rotate', **kwargs): input_shape = (25, 25, 25) k_input_shape = (input_shape[0], input_shape[1], input_shape[2], 1) model = Sequential() model = all_preprocessing(model, rotation=True, input_shape=k_input_shape, force_use_in_test_phase=True, **kwargs) return model, name, input_shape
def make_model(num_classes, conv_dropout_p=0.75, dense_dropout_p=0.5, name='conv_2_layer_pass_through', **kwargs): name = name + '_' + str(conv_dropout_p) + '_' + str(dense_dropout_p) input_shape = (25, 25, 25) k_input_shape = (input_shape[0], input_shape[1], input_shape[2], 1) inputs = Input(shape=(input_shape[0], input_shape[1], input_shape[2], 1)) processed = all_preprocessing(inputs, 'all', functional_api=True, **kwargs) conv_1 = Conv3D(48, (5, 5, 5), padding='valid')(processed) conv_1 = Activation('relu')(conv_1) pool_1 = MaxPooling3D(pool_size=(3, 3, 3))(conv_1) drop_1a = Dropout(conv_dropout_p)(pool_1) crop_1 = Cropping3D((7, 7, 7))(conv_1) drop_1b = Dropout(conv_dropout_p)(crop_1) conc_1 = Concatenate(axis=4)([drop_1a, drop_1b]) conv_2 = Conv3D(96, (3, 3, 3), padding='valid')(conc_1) conv_2 = Activation('relu')(conv_2) pool_2 = MaxPooling3D(pool_size=(3, 3, 3))(conv_2) drop_2a = Dropout(conv_dropout_p)(pool_2) crop_2 = Cropping3D((2, 2, 2))(conv_2) drop_2b = Dropout(conv_dropout_p)(crop_2) conc_2 = Concatenate(axis=4)([drop_2a, drop_2b]) flat = Flatten()(conc_2) fc_1 = Dense(150)(flat) fc_1 = Activation('relu')(fc_1) drop_3 = Dropout(dense_dropout_p)(fc_1) fc_2 = Dense(num_classes)(drop_3) predictions = Activation('softmax')(fc_2) model = Model(inputs=inputs, outputs=predictions) return model, name, input_shape
def make_model(num_classes, name='test_non_linear_resampling', **kwargs): input_shape = (25, 25, 25) target_shape = (15, 15, 15) k_input_shape = (input_shape[0], input_shape[1], input_shape[2], 1) model = Sequential() model = all_preprocessing(model, non_linear_resampling=True, input_shape=k_input_shape, target_shape=target_shape, force_use_in_test_phase=True, **kwargs) model.add(Cropping3D((5, 5, 5))) return model, name, input_shape
def make_model(num_classes, name='conv_2_layer_non_linear', **kwargs): conv_dropout_p = 0.5 dense_dropout_p = 0.5 input_shape = (25, 25, 25) target_shape = (15, 15, 15) k_input_shape = (input_shape[0], input_shape[1], input_shape[2], 1) model = Sequential() model = all_preprocessing(model, normalize=True, rotation=True, foveation=False, noise=True, linear_deformation=False, non_linear_resampling=True, input_shape=k_input_shape, target_shape=target_shape, force_use_in_test_phase=False, **kwargs) model.add(Cropping3D((5, 5, 5))) model.add(Conv3D(16, (7, 7, 7), padding='valid')) model.add(Activation('relu')) model.add(Dropout(conv_dropout_p)) model.add(Conv3D(16, (7, 7, 7), padding='valid')) model.add(Activation('relu')) model.add(Dropout(conv_dropout_p)) model.add(Flatten()) model.add(Dense(50)) model.add(Activation('relu')) model.add(Dropout(dense_dropout_p)) model.add(Dense(num_classes)) model.add(Activation('softmax')) #softmax return model, name, input_shape
def make_model(num_classes, **kwargs): input_shape = (25, 25, 25) k_input_shape = (input_shape[0], input_shape[1], input_shape[2], 1) model = Sequential() model = all_preprocessing( model, normalize=True, rotation=True, noise=True, input_shape=k_input_shape, **kwargs, ) model.add(Flatten()) model.add(Dense(num_classes)) model.add(Activation('softmax')) return model, input_shape
def make_model(num_classes, conv_dropout_p=0.75, dense_dropout_p=0.5, name='conv_2_layer_no_pool', **kwargs): name = name + '_' + str(conv_dropout_p) + '_' + str(dense_dropout_p) input_shape = (25, 25, 25) k_input_shape = (input_shape[0], input_shape[1], input_shape[2], 1) model = Sequential() model = all_preprocessing(model, 'all', input_shape=k_input_shape, **kwargs) model.add(Conv3D(48, (5, 5, 5), padding='valid')) model.add(Activation('relu')) model.add(Cropping3D(((5, 5), (5, 5), (5, 5)))) model.add(Dropout(conv_dropout_p)) model.add(Conv3D(48, (3, 3, 3), padding='valid')) model.add(Activation('relu')) model.add(Cropping3D(((3, 3), (3, 3), (3, 3)))) model.add(Dropout(conv_dropout_p)) model.add(Flatten()) model.add(Dense(150)) model.add(Activation('relu')) model.add(Dropout(dense_dropout_p)) model.add(Dense(num_classes)) model.add(Activation('softmax')) return model, name, input_shape
def make_model(num_classes, rotation, foveation, noise, linear_deformation, non_linear_resampling, name='conv_2_layer_conf', **kwargs): conv_dropout_p = 0.5 dense_dropout_p = 0.5 if non_linear_resampling: input_shape = (25, 25, 25) else: input_shape = (15, 15, 15) target_shape = (15, 15, 15) k_input_shape = (input_shape[0], input_shape[1], input_shape[2], 1) model = Sequential() if rotation: name += '_rotation' if foveation: name += '_foveation' if noise: name += '_noise' if linear_deformation: name += '_linear_deformation' if non_linear_resampling: name += '_non_linear_resampling' model = all_preprocessing(model, normalize=True, rotation=rotation, foveation=foveation, noise=noise, linear_deformation=linear_deformation, non_linear_resampling=non_linear_resampling, input_shape=k_input_shape, target_shape=target_shape, **kwargs) if non_linear_resampling: model.add(Cropping3D((5, 5, 5))) model.add(Conv3D(32, (7, 7, 7), padding='valid')) model.add(Activation('relu')) model.add(Dropout(conv_dropout_p)) model.add(Conv3D(32, (7, 7, 7), padding='valid')) model.add(Activation('relu')) model.add(Dropout(conv_dropout_p)) model.add(Flatten()) model.add(Dense(100)) model.add(Activation('relu')) model.add(Dropout(dense_dropout_p)) model.add(Dense(num_classes)) model.add(Activation('softmax')) #softmax return model, name, input_shape