关于层数的Keras混淆
我对Keras模型中使用的层数有点困惑。文件在这件事上相当不透明。关于层数的Keras混淆
根据Jason Brownlee的说法,第一层技术上由两层组成,输入层由input_dim
指定,并有一个隐藏层。请参阅his blog上的第一个问题。
在所有Keras文档中,第一层通常指定为 model.add(Dense(number_of_neurons, input_dim=number_of_cols_in_input, activtion=some_activation_function))
。
我们可以做出最基本的模型将因此会:
model = Sequential()
model.add(Dense(1, input_dim = 100, activation = None))
请问这个模型包括单层,其中100维输入是通过一个单一的输入神经元传递的,或者它由两层,首先是100维输入层和第二个1维隐藏层?
此外,如果我要指定一个这样的模型,它有多少层?
model = Sequential()
model.add(Dense(32, input_dim = 100, activation = 'sigmoid'))
model.add(Dense(1)))
这是一个有1个输入层,1个隐藏层和1个输出层的模型,还是这个模型有1个输入层和1个输出层?
对于第一个问题,该模型是:
1输入层和1个输出层。
对于第二个问题:
1输入层
1隐藏层
1活化层(乙状结肠一个)
1输出层
对于输入层,这是由Keras用input_dim arg或input_shape抽象出来的,但您可以在以下位置找到该图层:
from keras.layers import Input
相同的激活层。
from keras.layers import Activation
你的第一种包括连接到一个单一输出神经元
你的第二个由100层的神经元的输入层的100层的神经元的输入层,32个神经元的一个隐藏层和一个单神经元的一个输出层。
您必须将您的第一层视为您的输入图层(具有与dimenson相同数量的神经元,因此您的100个神经元)连接到另一个图层,其中包含您指定的神经元数量(第一个情况为1,在第二个)
在Keras什么是有用的32是命令
model.summary()
打我提议'model.summary';)这是一个救生员,我会强烈推荐给OP。 –
真棒,感谢您的帮助 –
基于另一个答案,我不完全确定你是对的第一个模型。我认为它只是一个输入层和一个没有任何隐藏层的输出层。尽管如此,我认为你对第二个模型是正确的。 –
嗨,的确,我写得太快了。 它由1个输入层(100个神经元)和一个输出层组成。 (由1个神经元组成) 我要编辑它 –
感谢您澄清 –