Julia Flux错误:SGD Optimizer未定义

Julia Flux错误:SGD Optimizer未定义,julia,Julia,我想在Flux中使用SGDOptimizer,如Julia Academy教程中所示,使用Flux.jl进行深入学习。他们提供的笔记本,其中他们使用SGD优化器作为: opt = SGD(params(model)) 但是,当我运行SGD时,我得到: ERROR: UndefVarError: SGD not defined 这是我运行SGD时的输出: search: SGD AMSGrad Signed signed Unsigned unsigned sigmoid issetgid l

我想在Flux中使用
SGD
Optimizer,如Julia Academy教程中所示,使用Flux.jl进行深入学习。他们提供的笔记本,其中他们使用SGD优化器作为:

opt = SGD(params(model))
但是,当我运行SGD时,我得到:

ERROR: UndefVarError: SGD not defined
这是我运行SGD时的输出:

search: SGD AMSGrad Signed signed Unsigned unsigned sigmoid issetgid logsigmoid StringIndexError isassigned significand

Couldn't find SGD
Perhaps you meant SGD, Set, Sys, GC, Some, sec, sin, sum, LSTM, csc, esc, isa, ans, abs, cis, cos, eps, ARGS, Pkg, GRU, RNN, cpu, elu, f32, f64, gpu, σ, !, !=, !== or %
  No documentation found.

  Binding SGD does not exist.
正如你所看到的,它仍然显示SGD在也许你的意思是线


当我运行其他优化器(如ADAM)时,我没有遇到错误。我使用的是Flux v0.10.0

本教程使用的是过时版本的
Flux

在Flux版本v0.10.0中,Flux不推荐使用
SGD
,而支持
Descent
,后者只是标准梯度下降算法的一个更优化版本

有关
下降
优化器的更多信息,请参阅

另外,作为旁注,Flux不再需要将
params(model)
传递到优化器中,而是在训练时将其作为单独的参数

# New Way
Flux.train!(loss, params(model), data, optimizer)