def brainnetCNN_model_2(input_shape, n_filters, use_bias, n_outputs): act = 'relu' # define network architecture # 2 E2E # followed by 1 E2N # followed by 1 N2G # followed by dense # then sigmoid for classification # sprinkle with batch normalization and dropout X_input = Input(shape=input_shape, name='input_layer') E2E_1 = EdgeToEdge(n_filters[0], use_bias[0])(X_input) E2E_1 = BatchNormalization()(E2E_1) E2E_1 = Activation(act)(E2E_1) E2E_2 = EdgeToEdge(n_filters[1], use_bias[1])(E2E_1) E2E_2 = BatchNormalization()(E2E_2) E2E_2 = Activation(act)(E2E_2) E2N = EdgeToNode(n_filters[2], use_bias[2])(E2E_2) E2N = Activation(act)(E2N) N2G = NodeToGraph(n_filters[3], use_bias[3])(E2N) N2G = Activation(act)(N2G) N2G = Flatten()(N2G) N2G = Dropout(0.2)(N2G) dense_1 = Dense(n_filters[4], activation=act, use_bias=use_bias[4])(N2G) dense_1 = Dropout(0.2)(dense_1) dense_final = Dense(n_outputs, activation='linear', use_bias=use_bias[5])(dense_1) model = Model(inputs=X_input, outputs=dense_final) return model
def custom_layer_model_stacked_B(input_shape, n_filters, use_bias): # test my Keras layer X_input = Input(shape=input_shape, name='input_layer') E2E1 = EdgeToEdge(n_filters[0], use_bias[0])(X_input) E2E2 = relu(E2E1) E2E2 = EdgeToEdge(n_filters[1], use_bias[1])(E2E1) E2N = EdgeToNode(n_filters[2], use_bias[2])(E2E2) N2G = NodeToGraph(n_filters[3], use_bias[3])(E2N) model = Model(inputs = X_input, outputs= N2G) #model = Model(inputs = X_input, outputs= E2E2) return model
def brainnetCNN_model(input_shape, n_filters, use_bias): # define network architecture # 2 E2E # followed by 1 E2N # followed by 1 N2G # followed by dense # then sigmoid for classification X_input = Input(shape=input_shape, name='input_layer') E2E_1 = EdgeToEdge(n_filters[0], use_bias[0])(X_input) #E2E1 = relu(E2E1) E2E_1 = Activation('relu')(E2E_1) E2E2 = EdgeToEdge(n_filters[1], use_bias[1])(E2E_1) #E2E2 = relu(E2E2) #E2N = EdgeToNode(n_filters[2], use_bias[2])(E2E2) # E2N = relu(E2N) # N2G = NodeToGraph(n_filters[3], use_bias[3])(E2N) # N2G = relu(N2G) # dense_1 = Dense(n_filters[4], activation = 'relu', use_bias = use_bias[4])(N2G) # dense_final = Dense(1, activation='sigmoid', use_bias = use_bias[5])(dense_1) # model = Model(inputs = X_input, outputs= dense_final) model = Model(inputs = X_input, outputs= E2E2) return model
def brainnetCNN_model_3(input_shape, n_filters, use_bias): # define network architecture # 2 E2E # followed by 1 E2N # followed by 1 N2G # followed by dense # then sigmoid for classification # sprinkle with batch normalization and dropout X_input = Input(shape=input_shape, name='input_layer') E2E_1 = EdgeToEdge(n_filters[0], use_bias[0])(X_input) E2E_1 = BatchNormalization()(E2E_1) E2E_1 = Activation('relu')(E2E_1) dense_final = Dense(1, activation='linear', use_bias = use_bias[5])(E2E_1) model = Model(inputs = X_input, outputs= dense_final) return model