def cnn(height, width):
question_input = Input(shape=(height, width, 1), name='question_input')
conv1_Q = Conv2D(512, (2, 320), activation='sigmoid', padding='valid',
kernel_regularizer=regularizers.l2(0.01),
kernel_initializer=initializers.random_normal(mean=0.0, stddev=0.02))(question_input)
Max1_Q = MaxPooling2D((29, 1), strides=(1, 1), padding='valid')(conv1_Q)
F1_Q = Flatten()(Max1_Q)
Drop1_Q = Dropout(0.25)(F1_Q)
predictQ = Dense(32, activation='relu',
kernel_regularizer=regularizers.l2(0.01),
kernel_initializer=initializers.random_normal(mean=0.0, stddev=0.02))(Drop1_Q)
prediction2 = Dropout(0.25)(predictQ)
predictions = Dense(1, activation='relu')(prediction2)
model = Model(inputs=[question_input],
outputs=predictions)
model.compile(loss='mean_squared_error',
optimizer=Adam(lr=0.0001, beta_1=0.9, beta_2=0.999, epsilon=1e-08, decay=0.0))
# model.compile(loss='mean_squared_error',
# optimizer='nadam')
return model
评论列表
文章目录