【问题标题】:using leaky relu in Tensorflow在 Tensorflow 中使用泄漏的 relu
【发布时间】:2017-12-31 14:27:55
【问题描述】:

如何将G_h1 = tf.nn.relu(tf.matmul(z, G_W1) + G_b1) 更改为leaky relu?我尝试使用max(value, 0,01*value) 循环张量,但我得到TypeError: Using a tf.Tensor as a Python bool is not allowed.

我也尝试在Tensorflow github上找到relu上的源代码,以便我可以将其修改为leaky relu,但我找不到它..

【问题讨论】:

    标签: python tensorflow neural-network


    【解决方案1】:

    您可以根据tf.relu 编写一个,类似于:

    def lrelu(x, alpha):
      return tf.nn.relu(x) - alpha * tf.nn.relu(-x)
    

    编辑

    Tensorflow 1.4 现在有一个原生的tf.nn.leaky_relu

    【讨论】:

      【解决方案2】:

      如果 alpha tf.maximum(x, alpha * x)

      【讨论】:

      • 这让我很困惑,直到我想起 relu 真的只是 max(x, 0)
      【解决方案3】:

      release 1.4.0-rc1 中包含了一个泄漏的 relu 函数 作为tf.nn.leaky_relu

      文档页面:https://www.tensorflow.org/versions/master/api_docs/python/tf/nn/leaky_relu

      【讨论】:

        【解决方案4】:

        你也可以使用

        tf.keras.layers.LeakyReLU
        

        【讨论】:

          猜你喜欢
          • 2021-11-18
          • 1970-01-01
          • 1970-01-01
          • 2018-11-04
          • 2018-02-20
          • 1970-01-01
          • 2017-11-03
          • 2019-12-10
          • 1970-01-01
          相关资源
          最近更新 更多