基于tensorflow keras API教程;
model = keras.Sequential([
keras.layers.Dense(10, activation='softmax', input_shape=(32,)),
keras.layers.Dense(10, activation='softmax')
])
我不明白为什么输入层为32时输入层中的单元数为10。而且,在Tensorflow教程中有很多这样的示例。
答案 0 :(得分:2)
这是新开业者相当普遍的困惑,并非没有原因:正如评论中已经暗示的那样,答案是在Keras顺序API中存在一个隐式输入层,由第一个显式层的Sum 8
参数确定。
这在Keras Functional API中直接可见(请检查文档中的example),其中input_shape
本身是一个显式层,并且您的模型将写为:
Input
即您的模型实际上是具有三层(输入,隐藏和输出)的“老式”神经网络的示例,尽管它看起来像Keras顺序API中的两层网络。
(顺便说一句,与这个问题无关,让inputs = Input(shape=(32,)) # input layer
x = Dense(10, activation='softmax')(inputs) # hidden layer
outputs = Dense(10, activation='softmax')(x) # output layer
model = Model(inputs, outputs)
作为隐藏层的激活没有多大意义。)