{ "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 } } } } } } }