Validate isolated author LIF semantics without changing frozen models
This commit is contained in:
+47
@@ -0,0 +1,47 @@
|
||||
{
|
||||
"edge_id": [
|
||||
1336648,
|
||||
1336655,
|
||||
1337065,
|
||||
1467340,
|
||||
1467355,
|
||||
1467852,
|
||||
1559765,
|
||||
1559772,
|
||||
1560267,
|
||||
20992285,
|
||||
20992291,
|
||||
20992294,
|
||||
20992891
|
||||
],
|
||||
"weights_mv": [
|
||||
57.75,
|
||||
47.300000000000004,
|
||||
28.6,
|
||||
71.22500000000001,
|
||||
64.625,
|
||||
17.6,
|
||||
62.150000000000006,
|
||||
77.825,
|
||||
19.25,
|
||||
26.125000000000004,
|
||||
15.675,
|
||||
20.900000000000002,
|
||||
11.825000000000001
|
||||
],
|
||||
"weights_volt": [
|
||||
0.05775,
|
||||
0.0473,
|
||||
0.0286,
|
||||
0.07122500000000001,
|
||||
0.064625,
|
||||
0.0176,
|
||||
0.062150000000000004,
|
||||
0.077825,
|
||||
0.01925,
|
||||
0.026125000000000002,
|
||||
0.015675,
|
||||
0.020900000000000002,
|
||||
0.011825
|
||||
]
|
||||
}
|
||||
+611
@@ -0,0 +1,611 @@
|
||||
step,neuron_idx
|
||||
0,1381
|
||||
46,1197
|
||||
51,1511
|
||||
79,1381
|
||||
91,133666
|
||||
99,1197
|
||||
120,1511
|
||||
140,1381
|
||||
163,1197
|
||||
170,133666
|
||||
185,1511
|
||||
205,1381
|
||||
220,1197
|
||||
246,1511
|
||||
259,133666
|
||||
268,1381
|
||||
288,1197
|
||||
306,1511
|
||||
330,1381
|
||||
341,133666
|
||||
351,1197
|
||||
371,1511
|
||||
391,1381
|
||||
414,1197
|
||||
422,133666
|
||||
436,1511
|
||||
457,1381
|
||||
471,1197
|
||||
497,1511
|
||||
510,133666
|
||||
519,1381
|
||||
539,1197
|
||||
557,1511
|
||||
581,1381
|
||||
592,133666
|
||||
602,1197
|
||||
622,1511
|
||||
642,1381
|
||||
665,1197
|
||||
673,133666
|
||||
687,1511
|
||||
708,1381
|
||||
722,1197
|
||||
748,1511
|
||||
761,133666
|
||||
770,1381
|
||||
790,1197
|
||||
808,1511
|
||||
832,1381
|
||||
843,133666
|
||||
853,1197
|
||||
873,1511
|
||||
881,82312
|
||||
893,1381
|
||||
916,1197
|
||||
924,133666
|
||||
938,1511
|
||||
959,1381
|
||||
973,1197
|
||||
999,1511
|
||||
1012,133666
|
||||
1021,1381
|
||||
1041,1197
|
||||
1059,1511
|
||||
1083,1381
|
||||
1094,133666
|
||||
1104,1197
|
||||
1124,1511
|
||||
1144,1381
|
||||
1167,1197
|
||||
1175,133666
|
||||
1189,1511
|
||||
1210,1381
|
||||
1224,1197
|
||||
1250,1511
|
||||
1263,133666
|
||||
1272,1381
|
||||
1292,1197
|
||||
1310,1511
|
||||
1334,1381
|
||||
1345,133666
|
||||
1355,1197
|
||||
1375,1511
|
||||
1395,1381
|
||||
1418,1197
|
||||
1426,133666
|
||||
1440,1511
|
||||
1461,1381
|
||||
1475,1197
|
||||
1501,1511
|
||||
1514,133666
|
||||
1523,1381
|
||||
1543,1197
|
||||
1561,1511
|
||||
1585,1381
|
||||
1596,133666
|
||||
1606,1197
|
||||
1626,1511
|
||||
1641,82312
|
||||
1646,1381
|
||||
1669,1197
|
||||
1677,133666
|
||||
1691,1511
|
||||
1712,1381
|
||||
1726,1197
|
||||
1752,1511
|
||||
1765,133666
|
||||
1774,1381
|
||||
1794,1197
|
||||
1812,1511
|
||||
1836,1381
|
||||
1847,133666
|
||||
1857,1197
|
||||
1877,1511
|
||||
1897,1381
|
||||
1920,1197
|
||||
1928,133666
|
||||
1942,1511
|
||||
1963,1381
|
||||
1977,1197
|
||||
2003,1511
|
||||
2016,133666
|
||||
2025,1381
|
||||
2045,1197
|
||||
2063,1511
|
||||
2087,1381
|
||||
2098,133666
|
||||
2108,1197
|
||||
2128,1511
|
||||
2148,1381
|
||||
2171,1197
|
||||
2179,133666
|
||||
2193,1511
|
||||
2214,1381
|
||||
2228,1197
|
||||
2254,1511
|
||||
2267,133666
|
||||
2276,1381
|
||||
2296,1197
|
||||
2314,1511
|
||||
2338,1381
|
||||
2349,133666
|
||||
2359,1197
|
||||
2379,1511
|
||||
2394,82312
|
||||
2399,1381
|
||||
2422,1197
|
||||
2430,133666
|
||||
2444,1511
|
||||
2465,1381
|
||||
2479,1197
|
||||
2505,1511
|
||||
2518,133666
|
||||
2527,1381
|
||||
2547,1197
|
||||
2565,1511
|
||||
2589,1381
|
||||
2600,133666
|
||||
2610,1197
|
||||
2630,1511
|
||||
2650,1381
|
||||
2673,1197
|
||||
2681,133666
|
||||
2695,1511
|
||||
2716,1381
|
||||
2730,1197
|
||||
2756,1511
|
||||
2769,133666
|
||||
2778,1381
|
||||
2798,1197
|
||||
2816,1511
|
||||
2840,1381
|
||||
2851,133666
|
||||
2861,1197
|
||||
2881,1511
|
||||
2901,1381
|
||||
2924,1197
|
||||
2932,133666
|
||||
2946,1511
|
||||
2967,1381
|
||||
2981,1197
|
||||
3007,1511
|
||||
3020,133666
|
||||
3029,1381
|
||||
3049,1197
|
||||
3067,1511
|
||||
3091,1381
|
||||
3102,133666
|
||||
3112,1197
|
||||
3132,1511
|
||||
3147,82312
|
||||
3152,1381
|
||||
3175,1197
|
||||
3183,133666
|
||||
3197,1511
|
||||
3218,1381
|
||||
3232,1197
|
||||
3258,1511
|
||||
3271,133666
|
||||
3280,1381
|
||||
3300,1197
|
||||
3318,1511
|
||||
3342,1381
|
||||
3353,133666
|
||||
3363,1197
|
||||
3383,1511
|
||||
3403,1381
|
||||
3426,1197
|
||||
3434,133666
|
||||
3448,1511
|
||||
3469,1381
|
||||
3483,1197
|
||||
3509,1511
|
||||
3522,133666
|
||||
3531,1381
|
||||
3551,1197
|
||||
3569,1511
|
||||
3593,1381
|
||||
3604,133666
|
||||
3614,1197
|
||||
3634,1511
|
||||
3654,1381
|
||||
3677,1197
|
||||
3685,133666
|
||||
3699,1511
|
||||
3720,1381
|
||||
3734,1197
|
||||
3760,1511
|
||||
3773,133666
|
||||
3782,1381
|
||||
3802,1197
|
||||
3820,1511
|
||||
3844,1381
|
||||
3855,133666
|
||||
3865,1197
|
||||
3885,1511
|
||||
3900,82312
|
||||
3905,1381
|
||||
3928,1197
|
||||
3936,133666
|
||||
3950,1511
|
||||
3971,1381
|
||||
3985,1197
|
||||
4011,1511
|
||||
4024,133666
|
||||
4033,1381
|
||||
4053,1197
|
||||
4071,1511
|
||||
4095,1381
|
||||
4106,133666
|
||||
4116,1197
|
||||
4136,1511
|
||||
4156,1381
|
||||
4179,1197
|
||||
4187,133666
|
||||
4201,1511
|
||||
4222,1381
|
||||
4236,1197
|
||||
4262,1511
|
||||
4275,133666
|
||||
4284,1381
|
||||
4304,1197
|
||||
4322,1511
|
||||
4346,1381
|
||||
4357,133666
|
||||
4367,1197
|
||||
4387,1511
|
||||
4407,1381
|
||||
4430,1197
|
||||
4438,133666
|
||||
4452,1511
|
||||
4473,1381
|
||||
4487,1197
|
||||
4513,1511
|
||||
4526,133666
|
||||
4535,1381
|
||||
4555,1197
|
||||
4573,1511
|
||||
4597,1381
|
||||
4608,133666
|
||||
4618,1197
|
||||
4638,1511
|
||||
4653,82312
|
||||
4658,1381
|
||||
4681,1197
|
||||
4689,133666
|
||||
4703,1511
|
||||
4724,1381
|
||||
4738,1197
|
||||
4764,1511
|
||||
4777,133666
|
||||
4786,1381
|
||||
4806,1197
|
||||
4824,1511
|
||||
4848,1381
|
||||
4859,133666
|
||||
4869,1197
|
||||
4889,1511
|
||||
4909,1381
|
||||
4932,1197
|
||||
4940,133666
|
||||
4954,1511
|
||||
4975,1381
|
||||
4989,1197
|
||||
5015,1511
|
||||
5028,133666
|
||||
5037,1381
|
||||
5057,1197
|
||||
5075,1511
|
||||
5099,1381
|
||||
5110,133666
|
||||
5120,1197
|
||||
5140,1511
|
||||
5160,1381
|
||||
5183,1197
|
||||
5191,133666
|
||||
5205,1511
|
||||
5226,1381
|
||||
5240,1197
|
||||
5266,1511
|
||||
5279,133666
|
||||
5288,1381
|
||||
5308,1197
|
||||
5326,1511
|
||||
5350,1381
|
||||
5361,133666
|
||||
5371,1197
|
||||
5391,1511
|
||||
5406,82312
|
||||
5411,1381
|
||||
5434,1197
|
||||
5442,133666
|
||||
5456,1511
|
||||
5477,1381
|
||||
5491,1197
|
||||
5517,1511
|
||||
5530,133666
|
||||
5539,1381
|
||||
5559,1197
|
||||
5577,1511
|
||||
5601,1381
|
||||
5612,133666
|
||||
5622,1197
|
||||
5642,1511
|
||||
5662,1381
|
||||
5685,1197
|
||||
5693,133666
|
||||
5707,1511
|
||||
5728,1381
|
||||
5742,1197
|
||||
5768,1511
|
||||
5781,133666
|
||||
5790,1381
|
||||
5810,1197
|
||||
5828,1511
|
||||
5852,1381
|
||||
5863,133666
|
||||
5873,1197
|
||||
5893,1511
|
||||
5913,1381
|
||||
5936,1197
|
||||
5944,133666
|
||||
5958,1511
|
||||
5979,1381
|
||||
5993,1197
|
||||
6019,1511
|
||||
6032,133666
|
||||
6041,1381
|
||||
6061,1197
|
||||
6079,1511
|
||||
6103,1381
|
||||
6114,133666
|
||||
6124,1197
|
||||
6144,1511
|
||||
6159,82312
|
||||
6164,1381
|
||||
6187,1197
|
||||
6195,133666
|
||||
6209,1511
|
||||
6230,1381
|
||||
6244,1197
|
||||
6270,1511
|
||||
6283,133666
|
||||
6292,1381
|
||||
6312,1197
|
||||
6330,1511
|
||||
6354,1381
|
||||
6365,133666
|
||||
6375,1197
|
||||
6395,1511
|
||||
6415,1381
|
||||
6438,1197
|
||||
6446,133666
|
||||
6460,1511
|
||||
6481,1381
|
||||
6495,1197
|
||||
6521,1511
|
||||
6534,133666
|
||||
6543,1381
|
||||
6563,1197
|
||||
6581,1511
|
||||
6605,1381
|
||||
6616,133666
|
||||
6626,1197
|
||||
6646,1511
|
||||
6666,1381
|
||||
6689,1197
|
||||
6697,133666
|
||||
6711,1511
|
||||
6732,1381
|
||||
6746,1197
|
||||
6772,1511
|
||||
6785,133666
|
||||
6794,1381
|
||||
6814,1197
|
||||
6832,1511
|
||||
6856,1381
|
||||
6867,133666
|
||||
6877,1197
|
||||
6897,1511
|
||||
6912,82312
|
||||
6917,1381
|
||||
6940,1197
|
||||
6948,133666
|
||||
6962,1511
|
||||
6983,1381
|
||||
6997,1197
|
||||
7023,1511
|
||||
7036,133666
|
||||
7045,1381
|
||||
7065,1197
|
||||
7083,1511
|
||||
7107,1381
|
||||
7118,133666
|
||||
7128,1197
|
||||
7148,1511
|
||||
7168,1381
|
||||
7191,1197
|
||||
7199,133666
|
||||
7213,1511
|
||||
7234,1381
|
||||
7248,1197
|
||||
7274,1511
|
||||
7287,133666
|
||||
7296,1381
|
||||
7316,1197
|
||||
7334,1511
|
||||
7358,1381
|
||||
7369,133666
|
||||
7379,1197
|
||||
7399,1511
|
||||
7419,1381
|
||||
7442,1197
|
||||
7450,133666
|
||||
7464,1511
|
||||
7485,1381
|
||||
7499,1197
|
||||
7525,1511
|
||||
7538,133666
|
||||
7547,1381
|
||||
7567,1197
|
||||
7585,1511
|
||||
7609,1381
|
||||
7620,133666
|
||||
7630,1197
|
||||
7650,1511
|
||||
7665,82312
|
||||
7670,1381
|
||||
7693,1197
|
||||
7701,133666
|
||||
7715,1511
|
||||
7736,1381
|
||||
7750,1197
|
||||
7776,1511
|
||||
7789,133666
|
||||
7798,1381
|
||||
7818,1197
|
||||
7836,1511
|
||||
7860,1381
|
||||
7871,133666
|
||||
7881,1197
|
||||
7901,1511
|
||||
7921,1381
|
||||
7944,1197
|
||||
7952,133666
|
||||
7966,1511
|
||||
7987,1381
|
||||
8001,1197
|
||||
8027,1511
|
||||
8040,133666
|
||||
8049,1381
|
||||
8069,1197
|
||||
8087,1511
|
||||
8111,1381
|
||||
8122,133666
|
||||
8132,1197
|
||||
8152,1511
|
||||
8172,1381
|
||||
8195,1197
|
||||
8203,133666
|
||||
8217,1511
|
||||
8238,1381
|
||||
8252,1197
|
||||
8278,1511
|
||||
8291,133666
|
||||
8300,1381
|
||||
8320,1197
|
||||
8338,1511
|
||||
8362,1381
|
||||
8373,133666
|
||||
8383,1197
|
||||
8403,1511
|
||||
8418,82312
|
||||
8423,1381
|
||||
8446,1197
|
||||
8454,133666
|
||||
8468,1511
|
||||
8489,1381
|
||||
8503,1197
|
||||
8529,1511
|
||||
8542,133666
|
||||
8551,1381
|
||||
8571,1197
|
||||
8589,1511
|
||||
8613,1381
|
||||
8624,133666
|
||||
8634,1197
|
||||
8654,1511
|
||||
8674,1381
|
||||
8697,1197
|
||||
8705,133666
|
||||
8719,1511
|
||||
8740,1381
|
||||
8754,1197
|
||||
8780,1511
|
||||
8793,133666
|
||||
8802,1381
|
||||
8822,1197
|
||||
8840,1511
|
||||
8864,1381
|
||||
8875,133666
|
||||
8885,1197
|
||||
8905,1511
|
||||
8925,1381
|
||||
8948,1197
|
||||
8956,133666
|
||||
8970,1511
|
||||
8991,1381
|
||||
9005,1197
|
||||
9031,1511
|
||||
9044,133666
|
||||
9053,1381
|
||||
9073,1197
|
||||
9091,1511
|
||||
9115,1381
|
||||
9126,133666
|
||||
9136,1197
|
||||
9156,1511
|
||||
9171,82312
|
||||
9176,1381
|
||||
9199,1197
|
||||
9207,133666
|
||||
9221,1511
|
||||
9242,1381
|
||||
9256,1197
|
||||
9282,1511
|
||||
9295,133666
|
||||
9304,1381
|
||||
9324,1197
|
||||
9342,1511
|
||||
9366,1381
|
||||
9377,133666
|
||||
9387,1197
|
||||
9407,1511
|
||||
9427,1381
|
||||
9450,1197
|
||||
9458,133666
|
||||
9472,1511
|
||||
9493,1381
|
||||
9507,1197
|
||||
9533,1511
|
||||
9546,133666
|
||||
9555,1381
|
||||
9575,1197
|
||||
9593,1511
|
||||
9617,1381
|
||||
9628,133666
|
||||
9638,1197
|
||||
9658,1511
|
||||
9678,1381
|
||||
9701,1197
|
||||
9709,133666
|
||||
9723,1511
|
||||
9744,1381
|
||||
9758,1197
|
||||
9784,1511
|
||||
9797,133666
|
||||
9806,1381
|
||||
9826,1197
|
||||
9844,1511
|
||||
9868,1381
|
||||
9879,133666
|
||||
9889,1197
|
||||
9909,1511
|
||||
9924,82312
|
||||
9929,1381
|
||||
9952,1197
|
||||
9960,133666
|
||||
9974,1511
|
||||
9995,1381
|
||||
|
+6
@@ -0,0 +1,6 @@
|
||||
global_neuron_idx,local_index
|
||||
1197,0
|
||||
1381,1
|
||||
1511,2
|
||||
82312,3
|
||||
133666,4
|
||||
|
+102
@@ -0,0 +1,102 @@
|
||||
{
|
||||
"all_package_pins_match": true,
|
||||
"author_platform": "Windows",
|
||||
"author_python": "3.10.11",
|
||||
"binary_identical_author_environment_claimed": false,
|
||||
"packages": {
|
||||
"brian2": {
|
||||
"actual": "2.5.1",
|
||||
"expected": "2.5.1",
|
||||
"matches": true
|
||||
},
|
||||
"cython": {
|
||||
"actual": "0.29.33",
|
||||
"expected": "0.29.33",
|
||||
"matches": true
|
||||
},
|
||||
"jinja2": {
|
||||
"actual": "2.11.3",
|
||||
"expected": "2.11.3",
|
||||
"matches": true
|
||||
},
|
||||
"joblib": {
|
||||
"actual": "1.2.0",
|
||||
"expected": "1.2.0",
|
||||
"matches": true
|
||||
},
|
||||
"markupsafe": {
|
||||
"actual": "1.1.1",
|
||||
"expected": "1.1.1",
|
||||
"matches": true
|
||||
},
|
||||
"mpmath": {
|
||||
"actual": "1.3.0",
|
||||
"expected": "1.3.0",
|
||||
"matches": true
|
||||
},
|
||||
"numpy": {
|
||||
"actual": "1.22.3",
|
||||
"expected": "1.22.3",
|
||||
"matches": true
|
||||
},
|
||||
"packaging": {
|
||||
"actual": "23.1",
|
||||
"expected": "23.1",
|
||||
"matches": true
|
||||
},
|
||||
"pandas": {
|
||||
"actual": "1.4.3",
|
||||
"expected": "1.4.3",
|
||||
"matches": true
|
||||
},
|
||||
"pyarrow": {
|
||||
"actual": "11.0.0",
|
||||
"expected": "11.0.0",
|
||||
"matches": true
|
||||
},
|
||||
"pyparsing": {
|
||||
"actual": "3.0.9",
|
||||
"expected": "3.0.9",
|
||||
"matches": true
|
||||
},
|
||||
"python-dateutil": {
|
||||
"actual": "2.8.2",
|
||||
"expected": "2.8.2",
|
||||
"matches": true
|
||||
},
|
||||
"pytz": {
|
||||
"actual": "2023.3",
|
||||
"expected": "2023.3",
|
||||
"matches": true
|
||||
},
|
||||
"scipy": {
|
||||
"actual": "1.8.1",
|
||||
"expected": "1.8.1",
|
||||
"matches": true
|
||||
},
|
||||
"setuptools": {
|
||||
"actual": "67.8.0",
|
||||
"expected": "67.8.0",
|
||||
"matches": true
|
||||
},
|
||||
"six": {
|
||||
"actual": "1.16.0",
|
||||
"expected": "1.16.0",
|
||||
"matches": true
|
||||
},
|
||||
"sympy": {
|
||||
"actual": "1.12",
|
||||
"expected": "1.12",
|
||||
"matches": true
|
||||
},
|
||||
"wheel": {
|
||||
"actual": "0.38.4",
|
||||
"expected": "0.38.4",
|
||||
"matches": true
|
||||
}
|
||||
},
|
||||
"platform": "Linux-5.15.0-194-generic-x86_64-with-glibc2.35",
|
||||
"python": "3.10.12",
|
||||
"python_executable": "/data/digital-drosophila/experiments/phase4ad-author-semantics/environment/.venv/bin/python",
|
||||
"python_patch_matches": false
|
||||
}
|
||||
+127
@@ -0,0 +1,127 @@
|
||||
[
|
||||
{
|
||||
"active": true,
|
||||
"code_objects": [],
|
||||
"name": "default_neurons",
|
||||
"order": 0,
|
||||
"type": "NeuronGroup",
|
||||
"when": "start"
|
||||
},
|
||||
{
|
||||
"active": true,
|
||||
"code_objects": [],
|
||||
"name": "default_synapses",
|
||||
"order": 0,
|
||||
"type": "Synapses",
|
||||
"when": "start"
|
||||
},
|
||||
{
|
||||
"abstract_code": "not_refractory = timestep(t - lastspike, dt) >= timestep(rfc, dt)\n_g = g*exp(-dt*int(not_refractory)/tau)\n_v = g*tau*(-exp(dt*int(not_refractory)/t_mbr) + exp(dt*int(not_refractory)/tau))*exp(-dt*int(not_refractory)/t_mbr)*exp(-dt*int(not_refractory)/tau)/(t_mbr - tau) + v*exp(-dt*int(not_refractory)/t_mbr) + v_0 - v_0*exp(-dt*int(not_refractory)/t_mbr)\ng = _g\nv = _v",
|
||||
"active": true,
|
||||
"code_objects": [
|
||||
{
|
||||
"generated_code": "after_run:\n import numpy as _numpy\n from brian2.codegen.runtime.numpy_rt.numpy_rt import LazyArange\n # EMPTY_CODE_BLOCK -- overwrite in child template\nbefore_run:\n import numpy as _numpy\n from brian2.codegen.runtime.numpy_rt.numpy_rt import LazyArange\n # EMPTY_CODE_BLOCK -- overwrite in child template\nrun:\n import numpy as _numpy\n from brian2.codegen.runtime.numpy_rt.numpy_rt import LazyArange\n # scalar code\n _vectorisation_idx = 1\n dt = _array_defaultclock_dt[0]\n _lio_1 = (- dt) / tau\n _lio_2 = exp(_lio_1)\n _lio_3 = tau / (t_mbr - tau)\n _lio_4 = dt / t_mbr\n _lio_5 = dt / tau\n _lio_6 = (- dt) / t_mbr\n _lio_7 = v_0 - v_0\n _lio_8 = v_0 - (v_0 * exp(_lio_6))\n _lio_9 = ((_lio_3 * ((- exp(_lio_4)) + exp(_lio_5))) * exp(_lio_6)) * exp(_lio_1)\n _lio_10 = exp(_lio_6)\n # vector code\n _vectorisation_idx = LazyArange(N)\n g = _array_default_neurons_g.copy()\n t = _array_defaultclock_t[0]\n dt = _array_defaultclock_dt[0]\n rfc = _array_default_neurons_rfc\n v = _array_default_neurons_v.copy()\n lastspike = _array_default_neurons_lastspike\n not_refractory = _array_default_neurons_not_refractory.copy()\n not_refractory = timestep(t - lastspike, dt) >= timestep(rfc, dt)\n _g = _numpy.where(not_refractory, _lio_2 * g, g)\n _v = _numpy.where(not_refractory, _lio_8 + ((_lio_9 * g) + (_lio_10 * v)), _lio_7 + v)\n g[not_refractory] = _g[not_refractory]\n v[not_refractory] = _v[not_refractory]\n _array_default_neurons_g[:] = g\n _array_default_neurons_v[:] = v\n _array_default_neurons_not_refractory[:] = not_refractory\n",
|
||||
"name": "default_neurons_stateupdater_codeobject_2",
|
||||
"type": "CallableProxyType"
|
||||
}
|
||||
],
|
||||
"name": "default_neurons_stateupdater",
|
||||
"order": 0,
|
||||
"type": "StateUpdater",
|
||||
"user_code": "g = -g*int(not_refractory)/tau\nv = (g - v + v_0)*int(not_refractory)/t_mbr",
|
||||
"when": "groups"
|
||||
},
|
||||
{
|
||||
"active": true,
|
||||
"code_objects": [],
|
||||
"name": "oracle_seed_injection",
|
||||
"order": 0,
|
||||
"type": "NetworkOperation",
|
||||
"when": "before_thresholds"
|
||||
},
|
||||
{
|
||||
"abstract_code": "_cond = (v > v_th) and not_refractory",
|
||||
"active": true,
|
||||
"code_objects": [
|
||||
{
|
||||
"generated_code": "after_run:\n import numpy as _numpy\n from brian2.codegen.runtime.numpy_rt.numpy_rt import LazyArange\n _array_default_neurons__spikespace[-1] = 0\nbefore_run:\n import numpy as _numpy\n from brian2.codegen.runtime.numpy_rt.numpy_rt import LazyArange\n # EMPTY_CODE_BLOCK -- overwrite in child template\nrun:\n import numpy as _numpy\n from brian2.codegen.runtime.numpy_rt.numpy_rt import LazyArange\n numpy_True = _numpy.bool_(True)\n numpy_False = _numpy.bool_(False)\n # scalar code\n _vectorisation_idx = 1\n # vector code\n _vectorisation_idx = LazyArange(N)\n v = _array_default_neurons_v\n not_refractory = _array_default_neurons_not_refractory\n _cond = (v > v_th) & not_refractory\n if _cond is True or _cond is numpy_True:\n _events = _numpy.arange(N)\n elif _cond is False or _cond is numpy_False:\n _events = _numpy.array([])\n else:\n _events, = _cond.nonzero()\n _array_default_neurons__spikespace[-1] = len(_events)\n _array_default_neurons__spikespace[:len(_events)] = _events\n # Set the neuron to refractory\n _array_default_neurons_not_refractory[_events] = False\n _array_default_neurons_lastspike[_events] = _array_defaultclock_t[0]\n",
|
||||
"name": "default_neurons_spike_thresholder_codeobject_2",
|
||||
"type": "CallableProxyType"
|
||||
}
|
||||
],
|
||||
"name": "default_neurons_spike_thresholder",
|
||||
"order": 0,
|
||||
"type": "Thresholder",
|
||||
"user_code": "_cond = v > v_th",
|
||||
"when": "thresholds"
|
||||
},
|
||||
{
|
||||
"abstract_code": "_to_record_i = _source_i\n_to_record_t = _source_t",
|
||||
"active": true,
|
||||
"code_objects": [
|
||||
{
|
||||
"generated_code": "after_run:\n import numpy as _numpy\n from brian2.codegen.runtime.numpy_rt.numpy_rt import LazyArange\n # EMPTY_CODE_BLOCK -- overwrite in child template\nbefore_run:\n import numpy as _numpy\n from brian2.codegen.runtime.numpy_rt.numpy_rt import LazyArange\n # EMPTY_CODE_BLOCK -- overwrite in child template\nrun:\n import numpy as _numpy\n from brian2.codegen.runtime.numpy_rt.numpy_rt import LazyArange\n _n_events = _array_default_neurons__spikespace[-1]\n if _n_events > 0:\n _events = _array_default_neurons__spikespace[:_n_events]\n # Take subgroups into account\n if _source_start != 0 or _source_stop != _source_N:\n _events = _events[(_events >= _source_start) & (_events < _source_stop)]\n _n_events = len(_events)\n if _n_events > 0:\n _vectorisation_idx = 1\n _curlen = _array_spikemonitor_N[0]\n _newlen = _curlen + _n_events\n _owner.resize(_newlen)\n _array_spikemonitor_N[0] = _newlen\n _vectorisation_idx = _events\n _idx = _events\n _source_i = _array_default_neurons_i[_idx]\n _source_t = _array_defaultclock_t[0]\n _to_record_i = _source_i\n _to_record_t = _source_t\n _dynamic_array_spikemonitor_t[_curlen:_newlen] = _to_record_t\n _dynamic_array_spikemonitor_i[_curlen:_newlen] = _to_record_i\n _array_spikemonitor_count[_events - _source_start] += 1\n",
|
||||
"name": "spikemonitor_codeobject",
|
||||
"type": "CallableProxyType"
|
||||
}
|
||||
],
|
||||
"name": "spikemonitor",
|
||||
"order": 1,
|
||||
"type": "SpikeMonitor",
|
||||
"user_code": "None",
|
||||
"when": "thresholds"
|
||||
},
|
||||
{
|
||||
"abstract_code": "g += w\n",
|
||||
"active": true,
|
||||
"code_objects": [
|
||||
{
|
||||
"generated_code": "after_run:\n import numpy as _numpy\n from brian2.codegen.runtime.numpy_rt.numpy_rt import LazyArange\n # EMPTY_CODE_BLOCK -- overwrite in child template\nbefore_run:\n import numpy as _numpy\n from brian2.codegen.runtime.numpy_rt.numpy_rt import LazyArange\n _owner.initialise_queue()\nrun:\n import numpy as _numpy\n from brian2.codegen.runtime.numpy_rt.numpy_rt import LazyArange\n _owner.push_spikes()\n",
|
||||
"name": "default_synapses_pre_push_spikes",
|
||||
"type": "CallableProxyType"
|
||||
},
|
||||
{
|
||||
"generated_code": "after_run:\n import numpy as _numpy\n from brian2.codegen.runtime.numpy_rt.numpy_rt import LazyArange\n # EMPTY_CODE_BLOCK -- overwrite in child template\nbefore_run:\n import numpy as _numpy\n from brian2.codegen.runtime.numpy_rt.numpy_rt import LazyArange\n # EMPTY_CODE_BLOCK -- overwrite in child template\nrun:\n import numpy as _numpy\n from brian2.codegen.runtime.numpy_rt.numpy_rt import LazyArange\n _spiking_synapses = _queue.peek()\n if len(_spiking_synapses):\n # scalar code\n # vector code\n _idx = _spiking_synapses\n _vectorisation_idx = _idx\n # Abstract code: g += w\n _postsynaptic_idx = _array_default_synapses__synaptic_post[_idx]\n w = _array_default_synapses_w[_idx]\n not_refractory = _array_default_neurons_not_refractory[_postsynaptic_idx]\n _numpy.add.at(_array_default_neurons_g, _postsynaptic_idx[not_refractory], w[not_refractory])\n # Advance the spike queue\n _queue.advance()\n",
|
||||
"name": "default_synapses_pre_codeobject_2",
|
||||
"type": "CallableProxyType"
|
||||
}
|
||||
],
|
||||
"name": "default_synapses_pre",
|
||||
"order": -1,
|
||||
"type": "SynapticPathway",
|
||||
"user_code": "None",
|
||||
"when": "synapses"
|
||||
},
|
||||
{
|
||||
"abstract_code": "v = v_rst; w = 0; g = 0 * mV",
|
||||
"active": true,
|
||||
"code_objects": [
|
||||
{
|
||||
"generated_code": "after_run:\n import numpy as _numpy\n from brian2.codegen.runtime.numpy_rt.numpy_rt import LazyArange\n # EMPTY_CODE_BLOCK -- overwrite in child template\nbefore_run:\n import numpy as _numpy\n from brian2.codegen.runtime.numpy_rt.numpy_rt import LazyArange\n # EMPTY_CODE_BLOCK -- overwrite in child template\nrun:\n import numpy as _numpy\n from brian2.codegen.runtime.numpy_rt.numpy_rt import LazyArange\n # scalar code\n _vectorisation_idx = 1\n w = 0\n # vector code\n _idx = _array_default_neurons__spikespace[:_array_default_neurons__spikespace[-1]]\n _vectorisation_idx = _idx\n v = v_rst\n g = 0.0\n _array_default_neurons_g[_idx] = g\n _array_default_neurons_v[_idx] = v\n",
|
||||
"name": "default_neurons_spike_resetter_codeobject_2",
|
||||
"type": "CallableProxyType"
|
||||
}
|
||||
],
|
||||
"name": "default_neurons_spike_resetter",
|
||||
"order": 0,
|
||||
"type": "Resetter",
|
||||
"user_code": "None",
|
||||
"when": "resets"
|
||||
},
|
||||
{
|
||||
"abstract_code": "_to_record_v = _source_v\n_to_record_g = _source_g\n_to_record_lastspike = _source_lastspike\n_to_record_not_refractory = _source_not_refractory",
|
||||
"active": true,
|
||||
"code_objects": [
|
||||
{
|
||||
"generated_code": "after_run:\n import numpy as _numpy\n from brian2.codegen.runtime.numpy_rt.numpy_rt import LazyArange\n # EMPTY_CODE_BLOCK -- overwrite in child template\nbefore_run:\n import numpy as _numpy\n from brian2.codegen.runtime.numpy_rt.numpy_rt import LazyArange\n # EMPTY_CODE_BLOCK -- overwrite in child template\nrun:\n import numpy as _numpy\n from brian2.codegen.runtime.numpy_rt.numpy_rt import LazyArange\n # Resize dynamic arrays\n _new_len = len(_dynamic_array_oracle_end_state_t) + 1\n _owner.resize(_new_len)\n # Store values\n _dynamic_array_oracle_end_state_t[-1] = _array_defaultclock_t[0]\n # scalar code\n _vectorisation_idx = 1\n # vector code\n _vectorisation_idx = _array_oracle_end_state__indices\n _idx = _array_oracle_end_state__indices\n _source_not_refractory = _array_default_neurons_not_refractory[_idx]\n _source_g = _array_default_neurons_g[_idx]\n _source_v = _array_default_neurons_v[_idx]\n _source_lastspike = _array_default_neurons_lastspike[_idx]\n _to_record_v = _source_v\n _to_record_g = _source_g\n _to_record_lastspike = _source_lastspike\n _to_record_not_refractory = _source_not_refractory\n _dynamic_array_oracle_end_state_v[-1, :] = _to_record_v\n _dynamic_array_oracle_end_state_g[-1, :] = _to_record_g\n _dynamic_array_oracle_end_state_lastspike[-1, :] = _to_record_lastspike\n _dynamic_array_oracle_end_state_not_refractory[-1, :] = _to_record_not_refractory\n",
|
||||
"name": "oracle_end_state_codeobject",
|
||||
"type": "CallableProxyType"
|
||||
}
|
||||
],
|
||||
"name": "oracle_end_state",
|
||||
"order": 0,
|
||||
"type": "StateMonitor",
|
||||
"user_code": "None",
|
||||
"when": "end"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,132 @@
|
||||
{
|
||||
"author_commit": "91bdd1e7dcf193f3e7ca5a8933497fcef63b7960",
|
||||
"author_sha256": "fc45837d7122c6ce2a7f3f2f23c515992e4b232aadb919efabb72337fac88e4e",
|
||||
"config": {
|
||||
"author_precisions": [
|
||||
"float64",
|
||||
"float32"
|
||||
],
|
||||
"comparison": {
|
||||
"exact_spike_events_required_for_oracle_validation": true,
|
||||
"float32_state_max_abs_tolerance_mv": 0.001,
|
||||
"float64_state_max_abs_tolerance_mv": 1e-08,
|
||||
"precision_cross_comparison_may_diverge_but_must_be_reported": true
|
||||
},
|
||||
"component_policies": [
|
||||
"frozen",
|
||||
"reset_g_only",
|
||||
"refractory_gate_only",
|
||||
"reset_and_refractory"
|
||||
],
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 1000.0,
|
||||
"experiment": "experiments/phase4ad-author-semantics",
|
||||
"human_authorization": "\u5141\u8bb8\u72ec\u7acb\u65b0\u6a21\u578b\u5206\u652f\u6d4b\u8bd5\u52a8\u529b\u5b66\u5047\u8bbe",
|
||||
"late_start_ms": 500.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"refractory_ms": 2.2,
|
||||
"reset_potential_mv": -52.0,
|
||||
"resting_potential_mv": -52.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"threshold_mv": -45.0,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"model_directory": "models/male-cns-lif/author-semantics-lab-v1",
|
||||
"motifs": [
|
||||
"pair",
|
||||
"trio",
|
||||
"five",
|
||||
"feedforward",
|
||||
"no_input"
|
||||
],
|
||||
"name": "author-semantics-lab-v1",
|
||||
"no_training_or_candidate": true,
|
||||
"phase": "4AD",
|
||||
"prior_experiment": "experiments/phase4ac-lif-semantics",
|
||||
"prior_model": "models/male-cns-lif/lif-semantics-audit-v1",
|
||||
"root": "/data/digital-drosophila",
|
||||
"seed_margin_mv": 1.0,
|
||||
"seed_node": 1381
|
||||
},
|
||||
"delay_steps": 18,
|
||||
"dt_ms": 0.1,
|
||||
"edge_ids": [
|
||||
1336648,
|
||||
1336655,
|
||||
1337065,
|
||||
1467340,
|
||||
1467355,
|
||||
1467852,
|
||||
1559765,
|
||||
1559772,
|
||||
1560267,
|
||||
20992285,
|
||||
20992291,
|
||||
20992294,
|
||||
20992891
|
||||
],
|
||||
"external_arrivals": {
|
||||
"events": 0,
|
||||
"ordering": "after default_synapses.pre"
|
||||
},
|
||||
"internal_voltage_unit": "volt",
|
||||
"nodes": [
|
||||
1197,
|
||||
1381,
|
||||
1511,
|
||||
82312,
|
||||
133666
|
||||
],
|
||||
"parameter_checks": {
|
||||
"membrane_tau_ms": {
|
||||
"author": 20.0,
|
||||
"config": 20.0
|
||||
},
|
||||
"refractory_ms": {
|
||||
"author": 2.2,
|
||||
"config": 2.2
|
||||
},
|
||||
"reset_potential_mv": {
|
||||
"author": -52.0,
|
||||
"config": -52.0
|
||||
},
|
||||
"resting_potential_mv": {
|
||||
"author": -52.0,
|
||||
"config": -52.0
|
||||
},
|
||||
"synaptic_delay_ms": {
|
||||
"author": 1.8,
|
||||
"config": 1.8
|
||||
},
|
||||
"synaptic_tau_ms": {
|
||||
"author": 5.0,
|
||||
"config": 5.0
|
||||
},
|
||||
"threshold_mv": {
|
||||
"author": -45.0,
|
||||
"config": -45.0
|
||||
},
|
||||
"w_syn_mv_per_anatomical_synapse": {
|
||||
"author": 0.275,
|
||||
"config": 0.275
|
||||
}
|
||||
},
|
||||
"precision": "float64",
|
||||
"preferences": {
|
||||
"codegen.target": "numpy",
|
||||
"core.default_float_dtype": "float64",
|
||||
"legacy.refractory_timing": false
|
||||
},
|
||||
"refractory_steps": 22,
|
||||
"returned_voltage_unit": "mV",
|
||||
"seed": {
|
||||
"injections": 0,
|
||||
"margin_mv": 1.0,
|
||||
"requested_global_node": 1381
|
||||
},
|
||||
"steps": 10000,
|
||||
"weight_rule": "raw_count multiplied by unchanged author w_syn; no sign inference"
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"schedule": [
|
||||
"start",
|
||||
"groups",
|
||||
"thresholds",
|
||||
"synapses",
|
||||
"resets",
|
||||
"end"
|
||||
],
|
||||
"summary": " object | part of | Clock dt | when | order | active\n------------------------------------------------+---------------------------------+----------------------+-------------------+-------+-------\ndefault_neurons_stateupdater (StateUpdater) | default_neurons (NeuronGroup) | 100. us (every step) | groups | 0 | yes \noracle_seed_injection (NetworkOperation) | -- | 100. us (every step) | before_thresholds | 0 | yes \ndefault_neurons_spike_thresholder (Thresholder) | default_neurons (NeuronGroup) | 100. us (every step) | thresholds | 0 | yes \nspikemonitor (SpikeMonitor) | spikemonitor (SpikeMonitor) | 100. us (every step) | thresholds | 1 | yes \ndefault_synapses_pre (SynapticPathway) | default_synapses (Synapses) | 100. us (every step) | synapses | -1 | yes \ndefault_neurons_spike_resetter (Resetter) | default_neurons (NeuronGroup) | 100. us (every step) | resets | 0 | yes \noracle_end_state (StateMonitor) | oracle_end_state (StateMonitor) | 100. us (every step) | end | 0 | yes "
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"applied_mv": -44.0,
|
||||
"injections": 1,
|
||||
"margin_mv": 1.0,
|
||||
"requested_global_node": 1381,
|
||||
"spiked_at_zero": true
|
||||
}
|
||||
Reference in New Issue
Block a user