使用Tensorflow 1.5,我想补充leaky_relu活化的致密层的输出,而我能够改变alpha的leaky_relu(检查这里)。我知道我可以这样做:
output = tf.layers.dense(input, n_units)
output = tf.nn.leaky_relu(output, alpha=0.01)
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一种方法可以将其写在一行中,因为我们可以这样做relu:
ouput = tf.layers.dense(input, n_units, activation=tf.nn.relu)
我尝试了以下操作,但出现错误:
output = tf.layers.dense(input, n_units, activation=tf.nn.leaky_relu(alpha=0.01))
TypeError: leaky_relu() missing 1 required positional argument: 'features'
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
小智 10
如果您真的坚持为此使用单衬,则可以使用模块中的partial()方法functools,如下所示:
import tensorflow as tf
from functools import partial
output = tf.layers.dense(input, n_units, activation=partial(tf.nn.leaky_relu, alpha=0.01))
Run Code Online (Sandbox Code Playgroud)
应该注意的是,这partial()不适用于所有操作,您可能必须partialmethod()从同一个模块中试试运气。
希望这对您的努力有所帮助。
至少在 2.3.0.dev20200515 版本的 TensorFlow 上,可以使用LeakyReLU任意alpha参数激活作为层的activation参数Dense:
output = tf.keras.layers.Dense(n_units, activation=tf.keras.layers.LeakyReLU(alpha=0.01))(x)
Run Code Online (Sandbox Code Playgroud)
LeakyReLU 激活工作如下:
更多信息:维基百科 - 整流器(神经网络)
| 归档时间: |
|
| 查看次数: |
12010 次 |
| 最近记录: |