regression testing

This commit is contained in:
Mike J Innes 2017-12-08 17:10:29 +00:00
parent f82dbf4798
commit 69cc5642b4
1 changed files with 11 additions and 13 deletions

View File

@ -2,18 +2,16 @@ 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
w = randn(10, 10)
for Opt in [SGD, Nesterov, Momentum, ADAM, RMSProp, ps -> ADAGrad(ps, 0.1), ADADelta]
w = param(randn(10, 10))
loss(x) = Flux.mse(w*x, w*x)
opt = Opt([w])
for t=1:10^5
l = loss(rand(10))
back!(l)
opt()
end
@test Flux.mse(w, w) < 0.01
end
end