这个问题类似于这个问题:How to use a linear activation function in TensorFlow?但不一样。
在最后的密集层上,我想输出28个带有线性激活的节点,而不是sigmoid。我正在使用新的图层api,如下所示:https://www.tensorflow.org/tutorials/layers
我的最终图层堆栈看起来像这样:
flat = tf.reshape(pool3, [-1, 128 * 128 * 128]) #width (after poolings), height (after poolings), filters
dense1 = tf.layers.dense(inputs=flat, units=4096, activation=tf.nn.relu)
dense2 = tf.layers.dense(inputs=dense1, units=4096, activation=tf.nn.relu)
dropout = tf.layers.dropout(
inputs=dense2, rate=0.4, training=mode == learn.ModeKeys.TRAIN)
output = tf.layers.dense(inputs=dropout, units=28)
如何确保28个节点的输出实际上是线性的?在CNTK中,您将激活功能指定为无(请参阅此处:cntk linear activation function in layers?)
非常感谢指针。谢谢!
答案 0 :(得分:6)
documentation of dense
说明了activation
参数:
activation
:激活函数(可调用)。将其设置为“无”以保持线性激活。
None
是默认值,因此不指定激活会将其设置为线性。