def create_model_4():
inputs1 = Input((32, 32, 32, 1))
inputs2 = Input((6,))
#noise = GaussianNoise(sigma=0.1)(x)
conv1 = Convolution3D(32, 3, 3, 3, activation='relu', border_mode='same')(inputs1)
conv1 = SpatialDropout3D(0.1)(conv1)
conv1 = Convolution3D(64, 3, 3, 3, activation='relu', border_mode='same')(conv1)
pool1 = MaxPooling3D(pool_size=(2,2, 2))(conv1)
conv2 = Convolution3D(128, 3, 3, 3, activation='relu', border_mode='same')(pool1)
conv2 = SpatialDropout3D(0.1)(conv2)
conv2 = Convolution3D(128, 3, 3, 3, activation='relu', border_mode='same')(conv2)
pool2 = MaxPooling3D(pool_size=(2,2, 2))(conv2)
x = Flatten()(pool2)
x = merge([x, inputs2], mode='concat')
x = Dense(64, init='normal')(x)
x = Dropout(0.5)(x)
predictions = Dense(1, init='normal', activation='sigmoid')(x)
model = Model(input=[inputs1,inputs2], output=predictions)
model.summary()
optimizer = Adam()
model.compile(optimizer=optimizer, loss='binary_crossentropy', metrics=['binary_accuracy','precision','recall','mean_squared_error','accuracy'])
return model
评论列表
文章目录