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,
|
||||
iscyclic, Constant, constant, isconstant, group, Split, splitnode,
|
||||
detuple, value, inputs, thread!, value, inputs, Split, splitnode, inputnode,
|
||||
spliceinputs, bumpinputs, Line, Frame, applylines
|
||||
spliceinputs, bumpinputs, Line, Frame, applylines, graphinputs
|
||||
using DataFlow.Interpreter
|
||||
using Juno: Tree, Row
|
||||
|
||||
|
@ -136,6 +136,15 @@ function unroll(model, n)
|
||||
SeqModel(Stateful(Capacitor(graph), state), n)
|
||||
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)
|
||||
prewalk(v) do v
|
||||
# TODO: inputidx function
|
||||
|
Loading…
Reference in New Issue
Block a user