tf.layers.dense是一个单独的层吗?

时间:2017-08-15 12:39:57

标签: python tensorflow neural-network

如果我只使用这样的单层:

layer = tf.layers.dense(tf_x, 1, tf.nn.relu)

这只是一个单层节点吗?

或者它实际上是一组具有1个节点的图层(输入,隐藏,输出)?我的网络似乎只用了一层就能正常工作,所以我对设置感到好奇。

因此,下面的设置是否有2个隐藏图层(layer1layer2这两个隐藏图层)?或者实际上只有1(只是layer 1)?

layer1 = tf.layers.dense(tf_x, 10, tf.nn.relu)
layer2 = tf.layers.dense(layer1, 1, tf.nn.relu)

tf_x是我的输入功能张量。

2 个答案:

答案 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)

我希望这会对你有所帮助:)。