Is tf.layers.dense a single layer?

2020-06-01 08:37发布

If I just use a single layer like this:

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

Is this just a single layer with a single node?

Or is it actually a set of layers (input, hidden, output) with 1 node? My network seemed to work properly with just 1 layer, so I was curious about the setup.

Consequently, does this setup below have 2 hidden layers (are layer1 and layer2 here both hidden layers)? Or actually just 1 (just layer 1)?

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

tf_x is my input features tensor.

2条回答
ゆ 、 Hurt°
2楼-- · 2020-06-01 09:17

tf.layers.dense adds a single layer to your network. The second argument is the number of neurons/nodes of the layer. For example:

# 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)

My network seemed to work properly with just 1 layer, so I was curious about the setup.

That is possible, for some tasks you will get decent results without hidden layers.

查看更多
够拽才男人
3楼-- · 2020-06-01 09:26

tf.layers.dense is only one layer with a amount of nodes. You can check on TensorFlow web site about 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)
查看更多
登录 后发表回答