Python Keras对层数的混淆

Python Keras对层数的混淆,python,tensorflow,neural-network,deep-learning,keras,Python,Tensorflow,Neural Network,Deep Learning,Keras,我对Keras模型中使用的层数有点困惑。文件在这件事上相当不透明 根据Jason Brownlee的说法,第一层技术上由两层组成,输入层(由input\u dim指定)和隐藏层。请参见上的第一个问题 在所有的KERA文件中,第一层通常规定为 model.add(密集型(神经元数量,输入尺寸=输入中的列数,激活=某些激活功能)) 因此,我们可以建立的最基本模型是: model = Sequential() model.add(Dense(1, input_dim = 100, activati

我对Keras模型中使用的层数有点困惑。文件在这件事上相当不透明

根据Jason Brownlee的说法,第一层技术上由两层组成,输入层(由
input\u dim
指定)和隐藏层。请参见上的第一个问题

在所有的KERA文件中,第一层通常规定为
model.add(密集型(神经元数量,输入尺寸=输入中的列数,激活=某些激活功能))

因此,我们可以建立的最基本模型是:

 model = Sequential()
 model.add(Dense(1, input_dim = 100, activation = None))
这个模型是由一个单层组成,其中100维输入通过一个输入神经元传递,还是由两层组成,第一层是100维输入层,第二层是一维隐藏层

此外,如果我指定这样一个模型,它有多少层

model = Sequential()
model.add(Dense(32, input_dim = 100, activation = 'sigmoid'))
model.add(Dense(1)))

这是一个有1个输入层、1个隐藏层和1个输出层的模型,还是一个有1个输入层和1个输出层的模型?

您的第一个模型由100个神经元组成,输入层连接到一个输出神经元

第二层由100个神经元的输入层、32个神经元的隐藏层和一个神经元的输出层组成

您必须将第一层视为输入层(神经元数量与dimenson相同,因此100个为您),连接到另一层,神经元数量与您指定的相同(第一种情况下为1个,第二种情况下为32个)

在Keras中,有用的是命令

model.summary()

对于第一个问题,模型是:

1个输入层和1个输出层

关于第二个问题:

1输入层

1隐藏层

1个激活层(S形层)

1输出层

对于输入层,这是由Keras使用input_dim arg或input_shape抽象的,但您可以在以下位置找到此层:

from keras.layers import Input
激活层也是如此

from keras.layers import Activation

比我先推荐一下
模型。总结
;)这是一个救命稻草,我强烈推荐给OP。这里我们看到一个隐藏层。有可能添加多个隐藏层吗?@Advika如果你还没有得到答案,我会大发雷霆,但为了子孙后代:
model.add(稠密(32,激活='sigmoid'))
将添加一个由32个乙状激活神经元组成的隐藏层,假设你使用的是
model=Sequential()
。另一种添加图层的方法是基于另一个答案,我不完全确定您对第一个模型的看法是否正确。我认为它只是一个输入层和一个输出层,没有任何隐藏层。我认为你对第二个模型的看法是正确的。嗨,事实上,我写得太快了。它由1个输入层(100个神经元)和1个输出层组成。(由1个神经元组成)我将编辑它,通过激活层来澄清,你是指激活函数吗?我认为与第一种情况类似,第二种情况将是三层,一个输入,一个隐藏和一个输出@普希恩,你不这么认为吗?