Как мне добавить выпадающие слои keras?

#python #tensorflow #machine-learning #keras #neural-network

#python #тензорный поток #машинное обучение #keras #нейронная сеть

Вопрос:

Как мне добавить выпадающий слой Keras? К сожалению, я не знаю, где именно я должен был бы добавить этот слой. Я просмотрел 2 ссылки:

Например, я видел это

 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 /