keras - 在 Keras 中连接层
问题描述
我正在尝试实现本文中的代码,作为深度学习的初学者,我无法完全理解他们在通过连接层生成“宽而深的神经网络”(WDNN)方面所做的工作。这是他们用来生成 WDNN 的函数:
def WDNN(data):
input = Input(shape=(data.shape[1],))
x = Dense(256, activation='relu', kernel_regularizer=regularizers.l2(1e-8))(input)
x = BatchNormalization()(x)
x = Dropout(0.5)(x)
x = Dense(256, activation='relu', kernel_regularizer=regularizers.l2(1e-8))(x)
x = BatchNormalization()(x)
x = Dropout(0.5)(x)
x = Dense(256, activation='relu', kernel_regularizer=regularizers.l2(1e-8))(x)
x = BatchNormalization()(x)
x = Dropout(0.5)(x)
wide_deep = concatenate([input, x])
preds = Dense(1, activation='sigmoid', kernel_regularizer=regularizers.l2(1e-8))(wide_deep)
model = Model(input=input, output=preds)
opt = Adam(lr=np.exp(-1.0 * 9))
model.compile(optimizer=opt,
loss='binary_crossentropy',
metrics=['accuracy'])
return model
按照 Keras 开发人员编写的《Deep learning with Keras》一书中的指导方针,我提出了以下功能。但我无法弄清楚原始函数实际上是如何使用连接的,以及如何在我自己的代码中实现它以执行相同的操作?任何提示表示赞赏。
def WDNN(data):
model = models.Sequential()
model.add(layers.Dense(256, activation='relu', kernel_regularizer=regularizers.l2(1e-8), input_shape=(data.shape[1],)))
model.add(layers.BatchNormalization())
model.add(layers.Dropout(0.5))
model.add(layers.Dense(256, activation='relu', kernel_regularizer=regularizers.l2(1e-8)))
model.add(layers.BatchNormalization())
model.add(layers.Dropout(0.5))
model.add(layers.Dense(256, activation='relu', kernel_regularizer=regularizers.l2(1e-8)))
model.add(layers.BatchNormalization())
model.add(layers.Dropout(0.5))
model.add(layers.Dense(1, activation='sigmoid', kernel_regularizer=regularizers.l2(1e-8)))
# Compile model
opt = Adam(lr=np.exp(-1.0 * 9))
model.compile(optimizer=opt,
loss='binary_crossentropy',
metrics=['accuracy'])
return (model)
解决方案
推荐阅读
- jquery - 使用 localstorage 保存的多个复选框值和一个“全选复选框”值
- java - 函数调用中arraylist的arraylist
- sql - Postgresql 轻松更新堆栈限制达到错误
- docker - 在 docker 上安装 openstack magnum
- reflection - 优化代码以减少反射对性能的影响
- c - C字符串Jsmn jason解析器上的新手查询
- python - 熊猫数据框与远程 mongodb 的有效交集?
- r - 如何在数据框中创建一个新列,基于来自另一个因素的范围,在 R
- sql - 使用 ROWNUM 删除重复记录?
- office365 - Office 365 Powerpoint addon development how to add button controls (Ink and Draw) to task pane