stateless
This commit is contained in:
parent
d1f370a2f1
commit
50bbb87674
@ -6,7 +6,7 @@ using MacroTools, Lazy, DataFlow, Juno
|
|||||||
using DataFlow: graphm, syntax, prewalk!, postwalk!, prewalk, postwalk,
|
using DataFlow: graphm, syntax, prewalk!, postwalk!, prewalk, postwalk,
|
||||||
iscyclic, Constant, constant, isconstant, group, Split, splitnode,
|
iscyclic, Constant, constant, isconstant, group, Split, splitnode,
|
||||||
detuple, value, inputs, thread!, value, inputs, Split, splitnode, inputnode,
|
detuple, value, inputs, thread!, value, inputs, Split, splitnode, inputnode,
|
||||||
spliceinputs, bumpinputs, Line, Frame, applylines
|
spliceinputs, bumpinputs, Line, Frame, applylines, graphinputs
|
||||||
using DataFlow.Interpreter
|
using DataFlow.Interpreter
|
||||||
using Juno: Tree, Row
|
using Juno: Tree, Row
|
||||||
|
|
||||||
|
@ -136,6 +136,15 @@ function unroll(model, n)
|
|||||||
SeqModel(Stateful(Capacitor(graph), state), n)
|
SeqModel(Stateful(Capacitor(graph), state), n)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function stateless(s::Stateful)
|
||||||
|
v = graph(s.model)
|
||||||
|
v = spliceinputs(v, group(constant.(s.states)...),
|
||||||
|
[inputnode(i) for i = 1:graphinputs(v)-1]...)
|
||||||
|
Capacitor(v)
|
||||||
|
end
|
||||||
|
|
||||||
|
stateless(s::SeqModel) = SeqModel(stateless(s.model), s.steps)
|
||||||
|
|
||||||
function unseqin(v::IVertex)
|
function unseqin(v::IVertex)
|
||||||
prewalk(v) do v
|
prewalk(v) do v
|
||||||
# TODO: inputidx function
|
# TODO: inputidx function
|
||||||
|
Loading…
Reference in New Issue
Block a user