commit
174adf94d9
@ -31,6 +31,7 @@ end
|
|||||||
|
|
||||||
function prefor(f, x; seen = IdSet())
|
function prefor(f, x; seen = IdSet())
|
||||||
x ∈ seen && return
|
x ∈ seen && return
|
||||||
|
push!(seen, x)
|
||||||
f(x)
|
f(x)
|
||||||
foreach(x -> prefor(f, x, seen = seen), children(x))
|
foreach(x -> prefor(f, x, seen = seen), children(x))
|
||||||
return
|
return
|
||||||
|
@ -85,6 +85,16 @@ end
|
|||||||
@test size.(params(m)) == [(5, 10), (5,)]
|
@test size.(params(m)) == [(5, 10), (5,)]
|
||||||
m = RNN(10, 5)
|
m = RNN(10, 5)
|
||||||
@test size.(params(m)) == [(5, 10), (5, 5), (5,), (5,)]
|
@test size.(params(m)) == [(5, 10), (5, 5), (5,), (5,)]
|
||||||
|
|
||||||
|
# Layer duplicated in same chain, params just once pls.
|
||||||
|
c = Chain(m, m)
|
||||||
|
@test size.(params(c)) == [(5, 10), (5, 5), (5,), (5,)]
|
||||||
|
|
||||||
|
# Self-referential array. Just want params, no stack overflow pls.
|
||||||
|
r = Any[nothing,m]
|
||||||
|
Flux.children(a::Vector{Any}) = Tuple(a)
|
||||||
|
r[1] = r
|
||||||
|
@test size.(params(r)) == [(5, 10), (5, 5), (5,), (5,)]
|
||||||
end
|
end
|
||||||
|
|
||||||
@testset "Basic Stacking" begin
|
@testset "Basic Stacking" begin
|
||||||
|
Loading…
Reference in New Issue
Block a user