Reputation: 1254
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.
Upvotes: 20
Views: 24986
Reputation: 481
tf.layers.dense
(tf.compat.v1.layers.dense
) is only one layer with a amount of nodes. You can check on TensorFlow web site about tf.layers.dense (tf.compat.v1.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)
Upvotes: 3
Reputation: 1768
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.
Upvotes: 18