Flux.jl/test/optimise.jl

20 lines
465 B
Julia
Raw Normal View History

2017-10-12 08:31:38 +00:00
using Flux.Optimise
using Flux.Tracker
@testset "Optimise" begin
loss(x) = sum(x.^2)
η = 0.1
# RMSProp gets stuck
for OPT in [SGD, Nesterov, Momentum, ADAM, ADAGrad, ADADelta]
x = param(randn(10))
opt = OPT == ADADelta ? OPT([x]) : OPT([x], η)
for t=1:10000
l = loss(x)
back!(l)
opt()
l.data[] < 1e-10 && break
end
@test loss(x) 0. atol=1e-7
end
end