Flux.jl/test/basic.jl

41 lines
893 B
Julia
Raw Normal View History

2017-05-04 12:52:31 +00:00
syntax(v::Vertex) = prettify(DataFlow.syntax(v))
syntax(x) = syntax(graph(x))
2017-02-23 22:40:07 +00:00
@testset "Basics" begin
2017-04-18 20:04:21 +00:00
xs = randn(1, 10)
2016-12-15 22:31:39 +00:00
d = Affine(10, 20)
2017-04-18 20:04:21 +00:00
@test d(xs) (xs*d.W.x + d.b.x)
2016-12-15 23:11:35 +00:00
2017-03-20 19:57:00 +00:00
d1 = @net x -> x * d.W + d.b
2017-05-30 16:23:42 +00:00
@test Flux.infer(d, (1, 10)) == (1,20)
2017-03-20 19:57:00 +00:00
2017-05-24 11:02:03 +00:00
# Skip this before new DataFlow is released.
# let
# @test @capture(syntax(d), _Frame(_Line((+).(x_[1] * W_, b_))))
# @test isa(x, DataFlow.Input) && isa(W, Param) && isa(b, Param)
# end
2017-02-01 12:53:28 +00:00
2017-05-30 16:23:34 +00:00
test_anon(identity)
2017-02-01 12:53:28 +00:00
let a1 = Affine(10, 20), a2 = Affine(20, 15)
tlp = TLP(a1, a2)
@test tlp(xs) softmax(a2(σ(a1(xs))))
2017-02-24 14:38:17 +00:00
@test Flux.interpmodel(tlp, xs) softmax(a2(σ(a1(xs))))
2017-02-01 14:56:38 +00:00
@test Flux.infer(tlp, (1, 10)) == (1,15)
2017-02-01 12:53:28 +00:00
end
2017-02-21 16:34:15 +00:00
let tlp = TLP(Affine(10, 21), Affine(20, 15))
e = try
2017-04-18 20:04:21 +00:00
Flux.interpmodel(tlp, rand(1, 10))
2017-02-21 16:34:15 +00:00
catch e
e
end
@test e.trace[end].func == :TLP
@test e.trace[end-1].func == Symbol("Flux.Affine")
end
2017-02-23 22:40:07 +00:00
end