首页 > 解决方案 > 如何添加 keras dropout 层?

问题描述

如何添加 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

标签: pythontensorflowmachine-learningkerasneural-network

解决方案


尝试这个:

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/


推荐阅读