【问题标题】:How to take a gradient of a function in Flux.jl?如何在 Flux.jl 中获取函数的梯度?
【发布时间】:2021-11-06 15:08:17
【问题描述】:

鉴于采用渐变是机器学习的核心思想,我试图找出对某些函数(例如 f(x) = 4x^2 + 3x + 2; 和 Julia 中的输入值)采用渐变所需的代码。我环顾四周但没有我发现的资源中没有明确提到这一点。

【问题讨论】:

标签: julia flux


【解决方案1】:

Flux 实际上有一个内置的gradient 函数,可以按如下方式使用:

julia> using Flux

julia> f(x) = 4x^2 + 3x + 2;

julia> df(x) = gradient(f, x)[1]; # df/dx = 8x + 3

julia> df(2)
19.0

其中 f 是函数,x 是输入值。

它甚至可以用来取二阶导数。您可以阅读有关gradient function in the Flux.jl docs 的更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-12
    • 2019-01-05
    • 2019-03-20
    • 1970-01-01
    • 2012-11-25
    • 1970-01-01
    相关资源
    最近更新 更多