如果我只使用这样的单层:
layer = tf.layers.dense(tf_x, 1, tf.nn.relu)
这只是一个单层节点吗?
或者它实际上是一组具有1个节点的图层(输入,隐藏,输出)?我的网络似乎只用了一层就能正常工作,所以我对设置感到好奇。
因此,下面的设置是否有2个隐藏图层(layer1
和layer2
这两个隐藏图层)?或者实际上只有1(只是layer 1
)?
layer1 = tf.layers.dense(tf_x, 10, tf.nn.relu)
layer2 = tf.layers.dense(layer1, 1, tf.nn.relu)
tf_x
是我的输入功能张量。
答案 0 :(得分:12)
tf.layers.dense
为您的网络添加了一个图层。第二个参数是层的神经元/节点的数量。例如:
# no hidden layers, dimension output layer = 1
output = tf.layers.dense(tf_x, 1, tf.nn.relu)
# one hidden layer, dimension hidden layer = 10, dimension output layer = 1
hidden = tf.layers.dense(tf_x, 10, tf.nn.relu)
output = tf.layers.dense(hidden, 1, tf.nn.relu)
我的网络似乎只有1层正常工作,所以我对设置感到好奇。
这是可能的,对于某些任务,如果没有隐藏的图层,你将获得不错的结果。
答案 1 :(得分:2)
tf.layers.dense
只是一个包含大量节点的图层。您可以在TensorFlow网站上查看tf.layers.dense
layer1 = tf.layers.dense(inputs=pool2_flat, units=1024, activation=tf.nn.relu)
layer2 = tf.layers.dense(inputs=layer1, units=1024, activation=tf.nn.relu)
我希望这会对你有所帮助:)。