【问题标题】:Julia - How to use leaky relu?Julia - 如何使用泄漏的 relu?
【发布时间】:2018-04-23 13:51:21
【问题描述】:

如何在 Julia 中使用leaky relu 函数?

以下命令不起作用:

nn.leaky_relu(features, alpha) 

在python中,有this function:

tf.nn.leaky_relu(
    features,
    alpha=0.2,
    name=None
)

谢谢

编辑

在@phg 的回答下,我将这个函数用于 Julia:

function leaky_relu(features, alpha)
    features = convert(TensorFlow.Tensor{Any}, features)
    alpha = convert(TensorFlow.Tensor{Any}, alpha)
    return max(alpha.*features, features)
end

【问题讨论】:

  • leaky_relu 似乎是在v1.4 中添加的。您是否检查过您的 TensorFlow.jl 所针对的 TF 版本?
  • 我检查了一下:我的 TensorFlow 是使用 1.4.0 版本构建的(const cur_version = "1.4.0" const cur_py_version = "1.4.0" in build.jl)
  • 此外,如果我运行 Pkg.update("TensorFlow") ;没有更新包
  • 您可以按照dropout 的实现风格调整您的解决方案并向库提交拉取请求。
  • 好的,我会尽快做的。谢谢

标签: tensorflow neural-network julia


【解决方案1】:

我认为TensorFlow.jl 只复制 C++ API,而不是 Python API。而leaky_relu is defined 仅在 Python 中。但是实现应该很容易从原始版本转换为 Julia:

def leaky_relu(features, alpha=0.2, name=None):
    with ops.name_scope(name, "LeakyRelu", [features, alpha]):
        features = ops.convert_to_tensor(features, name="features")
        alpha = ops.convert_to_tensor(alpha, name="alpha")
        return math_ops.maximum(alpha * features, features)

(我没有安装任何库,所以我无法测试任何东西。)

【讨论】:

  • 我用 Julia 的函数编辑了我的问题。谢谢
  • 这里完全适合将其作为您自己问题的答案。
  • 你可以试试Tensorflow.py_tf[:nn][:leaky_relu]吗? seems to by 有一个内置的 pycall 设置...
  • 当我尝试这个命令时,出现以下错误:ERROR: MethodError: no method matching getindex(::Base.RefValue{PyCall.PyObject}, ::Symbol) 可能必须使用一个包?
猜你喜欢
  • 2017-12-31
  • 2018-11-04
  • 1970-01-01
  • 2021-11-18
  • 2018-02-20
  • 1970-01-01
  • 2016-02-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多