|
{ |
|
"RNNs": { |
|
"format": "ModECI MDF v0.4", |
|
"generating_application": "Python modeci-mdf v0.4.11", |
|
"metadata": { |
|
"preferred_duration": 50, |
|
"preferred_dt": 0.1 |
|
}, |
|
"graphs": { |
|
"RNNs": { |
|
"nodes": { |
|
"input_node": { |
|
"parameters": { |
|
"t": { |
|
"default_initial_value": 0, |
|
"time_derivative": "1" |
|
}, |
|
"amplitude": { |
|
"value": [ |
|
1 |
|
] |
|
}, |
|
"period": { |
|
"value": [ |
|
10 |
|
] |
|
}, |
|
"level": { |
|
"function": "sin", |
|
"args": { |
|
"variable0": "2*3.14159*t/period", |
|
"scale": "amplitude" |
|
} |
|
} |
|
}, |
|
"output_ports": { |
|
"out_port": { |
|
"value": "level" |
|
}, |
|
"t_out_port": { |
|
"value": "t" |
|
} |
|
} |
|
}, |
|
"rnn_node": { |
|
"input_ports": { |
|
"ext_input": { |
|
"shape": [ |
|
5 |
|
] |
|
}, |
|
"fb_input": { |
|
"shape": [ |
|
5 |
|
] |
|
} |
|
}, |
|
"parameters": { |
|
"M": { |
|
"value": [ |
|
[ |
|
-0.15378707975107808, |
|
0.961528396769231, |
|
0.3696594771697266, |
|
-0.03813619703127813, |
|
-0.21576496361169895 |
|
], |
|
[ |
|
-0.3136439676982612, |
|
0.45809941476808325, |
|
-0.12285551064075118, |
|
-0.8806442067808633, |
|
-0.20391148933913716 |
|
], |
|
[ |
|
0.4759908114640714, |
|
-0.635016539093, |
|
-0.6490964877050149, |
|
0.06310274768367674, |
|
0.06365517419373212 |
|
], |
|
[ |
|
0.2688019171026421, |
|
0.6988635881555791, |
|
0.4489106497212705, |
|
0.22204702135516574, |
|
0.4448867651404431 |
|
], |
|
[ |
|
-0.3540821722936436, |
|
-0.2764226887553718, |
|
-0.5434735382420888, |
|
-0.41257190722234127, |
|
0.2619522477089755 |
|
] |
|
] |
|
}, |
|
"g": { |
|
"value": 1.5 |
|
}, |
|
"x": { |
|
"default_initial_value": [ |
|
0.3929383711957233, |
|
-0.42772133009924107, |
|
-0.5462970928715938, |
|
0.10262953816578246, |
|
0.43893793957112615 |
|
], |
|
"time_derivative": "-x + g*int_fb + ext_input" |
|
}, |
|
"r": { |
|
"function": "tanh", |
|
"args": { |
|
"variable0": "x", |
|
"scale": 1 |
|
} |
|
}, |
|
"int_fb": { |
|
"function": "MatMul", |
|
"args": { |
|
"A": "M", |
|
"B": "r" |
|
} |
|
} |
|
}, |
|
"output_ports": { |
|
"out_port_x": { |
|
"value": "x" |
|
}, |
|
"out_port_r": { |
|
"value": "r" |
|
} |
|
} |
|
}, |
|
"readout_node": { |
|
"input_ports": { |
|
"input": { |
|
"shape": [ |
|
5 |
|
] |
|
} |
|
}, |
|
"parameters": { |
|
"wr": { |
|
"value": [ |
|
1.0, |
|
1.0, |
|
1.0, |
|
1.0, |
|
1.0 |
|
] |
|
}, |
|
"zi": { |
|
"function": "MatMul", |
|
"args": { |
|
"A": "input", |
|
"B": "wr" |
|
} |
|
} |
|
}, |
|
"output_ports": { |
|
"z": { |
|
"value": "zi" |
|
} |
|
} |
|
} |
|
}, |
|
"edges": { |
|
"input_edge": { |
|
"sender": "input_node", |
|
"receiver": "rnn_node", |
|
"sender_port": "out_port", |
|
"receiver_port": "ext_input", |
|
"parameters": { |
|
"weight": [ |
|
1.0, |
|
0.0, |
|
0.0, |
|
0.0, |
|
0.0 |
|
] |
|
} |
|
}, |
|
"readout_edge": { |
|
"sender": "rnn_node", |
|
"receiver": "readout_node", |
|
"sender_port": "out_port_r", |
|
"receiver_port": "input", |
|
"parameters": { |
|
"weight": 1 |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
|