fix unrolling
This commit is contained in:
parent
ba60c4596b
commit
42b50c976a
@ -1,8 +1,9 @@
|
|||||||
module Flux
|
module Flux
|
||||||
|
|
||||||
using MacroTools, Lazy, Flow, Juno
|
using MacroTools, Lazy, Flow, Juno
|
||||||
import Flow: graphm, syntax, prewalk, postwalk, iscyclic, Constant, constant,
|
import Flow: graphm, syntax, prewalk!, prewalk, postwalk, iscyclic,
|
||||||
isconstant, value, inputs, thread!, value, inputs, Split, Group
|
Constant, constant, isconstant, value, inputs, thread!, value, inputs,
|
||||||
|
Split, Group, group
|
||||||
import Juno: Tree, Row
|
import Juno: Tree, Row
|
||||||
|
|
||||||
# Zero Flux Given
|
# Zero Flux Given
|
||||||
|
@ -53,22 +53,24 @@ function break!(g::IVertex)
|
|||||||
push!(defaults, get(value(v).default))
|
push!(defaults, get(value(v).default))
|
||||||
hiddeninput(n)
|
hiddeninput(n)
|
||||||
end
|
end
|
||||||
cse(vertex(tuple, vertex(tuple, loops...), g)), defaults
|
cse(group(group(loops...), g)), defaults
|
||||||
end
|
end
|
||||||
|
|
||||||
# function unroll(model, n)
|
function unroll(model, n)
|
||||||
# graph, defaults = break!(atomise(model))
|
graph, defaults = break!(atomise(model))
|
||||||
# outputs = [spliceinputs(graph, vertex(tuple, map(constant, defaults)...), inputnode(1))]
|
outputs = [spliceinputs(graph, group(map(constant, defaults)...), inputnode(1))]
|
||||||
# for i = 2:n
|
detuple(outputs[end])
|
||||||
# push!(outputs, spliceinputs(graph, outputs[end][1], constant(ModelInput(i))))
|
for i = 2:n
|
||||||
# end
|
push!(outputs, spliceinputs(graph, outputs[end][1], inputnode(i)))
|
||||||
# state = outputs[end][1]
|
end
|
||||||
# outputs = map(x -> x[2], outputs)
|
state = outputs[end][1]
|
||||||
# vertex(tuple, state, vertex(tuple, outputs...))
|
outputs = map(x -> x[2], outputs)
|
||||||
# end
|
@> group(state, group(outputs...)) detuple
|
||||||
|
end
|
||||||
|
|
||||||
|
# syntax′(x) = syntax(Flow.dl(x), bindconst = true)
|
||||||
# r = Recurrent(10,10)
|
# r = Recurrent(10,10)
|
||||||
# unroll(r, 1) |> syntax |> prettify |> display
|
# unroll(r,5) |> cse |> syntax′ |> prettify |> display
|
||||||
|
|
||||||
@net type Recurrent
|
@net type Recurrent
|
||||||
Wx; Wh; B
|
Wx; Wh; B
|
||||||
|
Loading…
Reference in New Issue
Block a user