我正在遵循有关在 Keras 中构建简单深度神经网络的教程,提供的代码是:
# create model
model = Sequential()
model.add(Dense(12, input_dim=8, activation='relu'))
model.add(Dense(8, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
是第一个model.add
定义第一个隐藏层的线,输入层有 8 个输入?因此除了代码之外是否不需要指定输入层input_dim=8
?
你说得对。
当你创建一个Sequential
模型,输入“层”*
定义为input_dim
or by input_shape
, or by batch_input_shape
.
*
- 输入层并不是真正的层,而只是一个用于接收特定格式数据的“容器”。
稍后您可能会发现使用函数式 API 模型而不是顺序模型非常有用。在这种情况下,您将使用以下命令定义输入张量:
inputs = Input((8,))
并将这个张量传递到各层:
outputs = Dense(12, input_dim=8, activation='relu')(inputs)
outputs = Dense(8, activation='relu')(outputs)
outputs = Dense(1, activation='sigmoid')(outputs)
创建模型:
model = Model(inputs,outputs)
乍一看似乎很麻烦,但很快你就会觉得需要创建分支、连接模型、拆分模型等。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)