#python #tensorflow #machine-learning #keras #neural-network
#python #тензорный поток #машинное обучение #keras #нейронная сеть
Вопрос:
Как мне добавить выпадающий слой Keras? К сожалению, я не знаю, где именно я должен был бы добавить этот слой. Я просмотрел 2 ссылки:
- https://keras.io/api/layers/regularization_layers/dropout/
- https://machinelearningmastery.com/dropout-regularization-deep-learning-models-keras/
Например, я видел это
model.add(Dense(60, input_dim=60, activation='relu', kernel_constraint=maxnorm(3)))
model.add(Dropout(0.2))
model.add(Dense(30, activation='relu', kernel_constraint=maxnorm(3)))
model.add(Dropout(0.2))
model.add(Dense(1, activation='sigmoid'))
Плотные слои создаются с помощью цикла, насколько я понимаю, поэтому я не уверен, как это добавить.
def get_Model(...):
# build dense layer for model
for i in range(1, len(dense_layers)):
layer = Dense(dense_layers[i],
activity_regularizer=l2(reg_layers[i]),
activation='relu',
name='layer%d' % i)
mlp_vector = layer(mlp_vector)
predict_layer = Concatenate()([mf_cat_latent, mlp_vector])
result = Dense(1, activation='sigmoid',
kernel_initializer='lecun_uniform', name='result')
model = Model(inputs=[input_user, input_item], outputs=result(predict_layer))
return model
Ответ №1:
Попробуйте это:
for i in range(1, len(dense_layers)):
layer = Dense(dense_layers[i],
activity_regularizer=l2(reg_layers[i]),
activation='relu',
name='layer%d' % i)
mlp_vector = layer(mlp_vector)
mlp_vector = Dropout(0.2)(mlp_vector)
Посмотрите на функциональный API здесь https://keras.io/guides/functional_api /