With features = ['shift_layer'] in frontend,
For specification:
input x : Int
output a @1Hz := x.aggregate(over:1s, using: sum)
output b @2Hz := a.aggregate(over: 1s, using: sum)
output c @3Hz := b.aggregate(over: 1s, using: sum)
output d @4Hz := c.aggregate(over: 1s, using: sum)
Frontend gives the layers:
x: shift = 0, eval = 1
a: shift = 1, eval = 2
b: shift = 1, eval = 3
c: shift = 1, eval = 4
d: shift = 1, eval = 5
My understanding is that the actual layer is shift + eval with layers as follows:
layers:
0:
1: x
2:
3: a
4: b
5: c
6: d
Which begs the question as where should the sliding window for b, c and d must go in the evaluation order?