Validate isolated author LIF semantics without changing frozen models

This commit is contained in:
Digital Drosophila Archive
2026-09-30 07:23:09 +08:00
parent 5008cd85ca
commit 92241aea02
460 changed files with 46900 additions and 47 deletions
+22 -47
View File
@@ -1,55 +1,30 @@
# 当前研究状态 — Phase 4AC
# 当前研究状态 — Phase 4AD
最新结果:**COMPLETE-SEMANTICS-AUDIT / LEARNING-NOT-ACHIEVED**。
学习可用的总目标尚未达到,不把审计 PASS 当成学习 PASS。
初始化 README/registry 保留原字节,最新结论从本页进入。
已按用户授权建立独立分支 `codex/lif-author-semantics-lab`。
正式状态:**COMPLETE-ORACLE-VALIDATED-LAB-ONLY**。
学习仍未达到可用标准;不替换任何旧候选,不把实现检查PASS当作学习PASS。
- [中文机制结论及限制](docs/progress/phase4ac-interpretation.md)
- [完整小回路/单细胞结果](docs/progress/phase4ac-lif-semantics.md)
- [预先声明的诊断方案](models/male-cns-lif/lif-semantics-audit-v1/PROTOCOL.md)
- [新阶段校验清单](registry/phase4ac-lif-semantics/seal-verification.json)
- [上一轮末梢作用范围诊断](docs/progress/phase4ab-terminal-scope.md)
- [小回路与全脑背景的只读复核](docs/progress/feedback-context-review-20260930.md)
- [关键结果、限制与下一步](docs/progress/phase4ad-interpretation.md)
- [完整实验报告](docs/progress/phase4ad-author-semantics.md)
- [实验预声明](models/male-cns-lif/author-semantics-lab-v1/PROTOCOL.md)
- [新产物封存核验](registry/phase4ad-author-semantics/seal-verification.json)
- [此前全脑输入背景复核](docs/progress/feedback-context-review-20260930.md)
## 后续只读复核的重要限制
## 关键发现
所选五节点只贡献三个 ALLN 晚期正到达权重的 7.57%–8.99%;达到各自80%正输入需要49–52个来源。
因此孤立小回路可以自持,不意味着它是全脑唯一原因。回路外输入也可能受该回路反馈影响,不是已证明独立的外源驱动。
对旧数据的派生分解没有新模拟或训练;正输入比例不能当因果责任比例。
独立新模型分支尚待用户确认,不把持续目标自动当作改变冻结动力学的许可。
固定作者代码在Brian2 2.5.1实际运行。16项单元检查、10组真实回路/精度对照及其重复通过;58/58审计项通过。
恢复作者完整动力学后,五节点真实回路1秒放电从1,483降到610,但后500ms仍有306次。
因此不能认为“修g reset/不应期就解决学习问题”;持续循环仍存在,低活跃度不是晋级条件。
## 新增机制证据
下一步先做独立GPU实现的高入度/累加顺序与短时全图对照,再检验固定DoOR嗅觉输入是否保留区别;尚未开始conditioning。
输入请求、不应期拒绝和实际放电必须分开统计。后续学习必须执行真实无调制/冻结/随机奖励对照和等待期,而非复用标签。
只施加一次初始 spike,使用原有冻结动力学:
## 冻结与服务
| 真实小回路 | 1 s 内总 spike | 500–1,000 ms spike |
|---|---:|---:|
| 2 个 ALLN | 473 | 238 |
| 3 个 ALLN | 1,064 | 535 |
| 3 ALLN + VA6 PN + KC | 1,483 | 747 |
| 真实前向边对照 | 3 | 0 |
| 无初始刺激 | 0 | 0 |
原230,239项以及4AA/4AB/4AC与背景复核封存文件前后校验不变。
旧deterministic-v2五组全脑参考重新运行,事件、计数、最终电压和g精确一致。
base CSR、raw counts、W_syn、transmitter signs、APL参数、eligibility-v2、14,232-edge mask未修改。
只在独立实验环境安装作者版本依赖;未停用或修改ComfyUI。
没有游戏、RL、decoder、视觉输入或权重训练,没有生成新的learned candidate。
最小回路:body 11478 → 11620(235 contacts),11620 → 11478(283 contacts),两者为 lLN1_bc / ACh。
单次输入足以在隔离小回路中产生持续到观察期末的活动;不代表已证明全脑必要性,也不代表真实果蝇该回路必然如此。
## 原作者实现与本项目适配差异
固定作者代码在 spike 后清零 g,对不应期内 g 更新/输入设限,并有不同积分、阈值和刺激时序。
本项目冻结版本明确保留 g,继续衰减/接收输入。这是建模语义差异,不是本轮发现的 GPU 回归错误。
单细胞组件测试证明这些选择会改变响应,但真实连接强度的一次输入下,reset-only 并未改变 spike 数。
因此 **g reset 不得直接称为学习修复**,也不能仅据放电减少自动选择新模型。
## 验证与下一步
7 项单元测试、17×4 单细胞 fixture、5 个真实小回路 CPU/GPU 全状态/事件精确对照通过。
五组 deterministic-v2 全脑冻结参考 trial 精确一致。
原快照 230,239 项及 Phase 4AA / 4AB 模型与实验前后校验无变化。
新产物有独立 manifest/SHA-256;未训练、未生成 learned candidate。
ComfyUI 保持驻留,不停用、不卸载、不升级依赖。
后续需要明确授权的独立动力学模型分支:先验证原作者 oracle 和局部机制,再检查输入区别与学习功能。
仍要求独立 evaluation seeds、A 对 B 的特异性、MBON/downstream readout 和完整 conditioning controls。
不调整学习率/阈值或扩大 mask,不进入游戏、RL、decoder、视觉;不修改已冻结版本。
Git 仅同步代码、小报告、官方小型源代码及校验清单。大数据/完整 spike 输出仍在服务器,不等于完整异机备份。
代码、小报告、来源和校验清单进入Git;大数据及完整实验轨迹保留服务器,不等于完整异机备份。
@@ -0,0 +1,71 @@
# Phase 4AD 作者动力学语义实验室
状态:`COMPLETE-ORACLE-VALIDATED-LAB-ONLY`。
本轮仅有预声明的小回路与算子实验;没有整脑替代动力学运行、conditioning、学习成功或新学习候选。
检查以原始事件、状态轨迹和预注册误差界限重算。缺失、失败、非有限值或初始事件丢失均不能通过;放电减少或静默本身不构成成功。
核查通过 58/58 项;失败或不完整 0 项。
冻结历史完整性:通过。
源码与输入预注册一致性:通过。
| 回路 | 语义 | 精度 | 总spikes | late spikes |
|---|---|---|---:|---:|
| pair | frozen | float32 | 473 | 238 |
| pair | reset_g_only | float32 | 223 | 111 |
| pair | refractory_gate_only | float32 | 635 | 321 |
| pair | reset_and_refractory | float32 | 223 | 111 |
| trio | frozen | float32 | 1064 | 535 |
| trio | reset_g_only | float32 | 565 | 283 |
| trio | refractory_gate_only | float32 | 1100 | 552 |
| trio | reset_and_refractory | float32 | 469 | 235 |
| five | frozen | float32 | 1483 | 747 |
| five | reset_g_only | float32 | 868 | 433 |
| five | refractory_gate_only | float32 | 1510 | 763 |
| five | reset_and_refractory | float32 | 634 | 318 |
| feedforward | frozen | float32 | 3 | 0 |
| feedforward | reset_g_only | float32 | 3 | 0 |
| feedforward | refractory_gate_only | float32 | 3 | 0 |
| feedforward | reset_and_refractory | float32 | 3 | 0 |
| no_input | frozen | float32 | 0 | 0 |
| no_input | reset_g_only | float32 | 0 | 0 |
| no_input | refractory_gate_only | float32 | 0 | 0 |
| no_input | reset_and_refractory | float32 | 0 | 0 |
| pair | author_complete | float64 | 213 | 106 |
| pair | author_complete | float32 | 213 | 106 |
| trio | author_complete | float64 | 448 | 224 |
| trio | author_complete | float32 | 448 | 224 |
| five | author_complete | float64 | 610 | 306 |
| five | author_complete | float32 | 610 | 306 |
| feedforward | author_complete | float64 | 3 | 0 |
| feedforward | author_complete | float32 | 3 | 0 |
| no_input | author_complete | float64 | 0 | 0 |
| no_input | author_complete | float32 | 0 | 0 |
作者Brian2与独立NumPy比较:
| 实验 | 结果 | 事件一致 | 最大V/g误差 mV | 首次事件分歧step |
|---|---|---|---:|---:|
| author:pair:float64 | 通过 | True | 7.105427357601002e-14 | None |
| author:pair:float32 | 通过 | True | 2.41696834564209e-05 | None |
| author:trio:float64 | 通过 | True | 8.526512829121202e-14 | None |
| author:trio:float32 | 通过 | True | 4.25875186920166e-05 | None |
| author:five:float64 | 通过 | True | 3.836930773104541e-13 | None |
| author:five:float32 | 通过 | True | 0.0002123713493347168 | None |
| author:feedforward:float64 | 通过 | True | 3.765876499528531e-13 | None |
| author:feedforward:float32 | 通过 | True | 0.00020179152488708496 | None |
| author:no_input:float64 | 通过 | True | 7.105427357601002e-15 | None |
| author:no_input:float32 | 通过 | True | 1.0728836059570312e-06 | None |
float32与float64交叉比较仅记录精度影响,允许保留分歧,不能用于掩盖各自与独立oracle的失败。
- precision_cross_record:pair:事件一致=True,最大误差=3.733467101341148e-05 mV,首次事件分歧step=None。
- precision_cross_record:trio:事件一致=True,最大误差=3.733467101341148e-05 mV,首次事件分歧step=None。
- precision_cross_record:five:事件一致=True,最大误差=0.00019546693161487383 mV,首次事件分歧step=None。
- precision_cross_record:feedforward:事件一致=True,最大误差=0.0005722045887850413 mV,首次事件分歧step=None。
- precision_cross_record:no_input:事件一致=True,最大误差=0.0 mV,首次事件分歧step=None。
所有失败轨迹和错误文件原样保留;本简报没有选择获胜变体。
小回路缺少外部整脑输入与graded APL,不能证明整脑因果必要性、生物真实性或信息保持。初始诊断seed也不是作者的感官Poisson接口。
环境为Linux宿主,作者记录为Windows;Python补丁版本与环境差异见environment记录,不能称为二进制相同或原论文整脑复现。
后续整脑嗅觉比较仍须核查固定输入、实际送达事件、持续活动和信息保持;可用学习仍需至少5个训练seed、独立评估、MBON/downstream的A对中性B特异性及acquisition/reversal/retention/delayed-reward对照。
封存排除 .venv 与 __pycache__,保留环境安装报告;manifest列出payload哈希,checksums另含manifest,不存在自哈希循环。
+54
View File
@@ -0,0 +1,54 @@
# 独立模型分支首轮结果:实现正确,不等于学习修复
用户明确授权独立新模型分支测试动力学假设。分支为 `codex/lif-author-semantics-lab`,
模型目录 `models/male-cns-lif/author-semantics-lab-v1/`,实验目录 `experiments/phase4ad-author-semantics/`。
Phase 1–4AC 保持原样;没有替换已有候选、训练、调学习率、扩大mask或连接游戏。
## 已验证的结果
正式状态 `COMPLETE-ORACLE-VALIDATED-LAB-ONLY`,58/58审计项通过。
实际运行固定作者代码的 `create_model`,并与独立解析积分实现对照,而非仅比较两份自写程序。
8项算子/边界fixture各测试float64与float32;5个固定真实motif各测试两种精度,分别重复。
各精度内的spike事件、计数和不应期逐步一致,重复运行逐数组精确一致。
五个motif的float32与float64事件也一致,但不能外推到全脑高入度累加。
float64最大V/g差约3.84e-13 mV;float32独立实现相对Brian2最大差约2.12e-4 mV。
| 真实回路 | 旧冻结模型1秒总spike | 完整作者语义总spike | 作者语义后500ms spike |
|---|---:|---:|---:|
| 两个ALLN | 473 | 213 | 106 |
| 三个ALLN | 1,064 | 448 | 224 |
| 三ALLN + VA6 PN + KC | 1,483 | 610 | 306 |
| 前向真实边对照 | 3 | 3 | 0 |
| 无刺激 | 0 | 0 | 0 |
**持续循环没有因恢复作者语义而消失。** 放电减少不是学习成功,也没有据此挑选获胜参数。
单独限制不应期内g更新甚至提高了这些回路的放电;不能把单一算子改动当作通用修复。
小回路省略了大部分全脑输入和graded APL,不能证明全脑问题完全由这些连接引起。
此前全脑背景复核显示,三个ALLN的晚期正到达权重约91%以上来自所选五节点之外;这也不是因果责任百分比。
## 作者参考及边界
- 官方代码:`philshiu/Drosophila_brain_model`,commit `91bdd1e7dcf193f3e7ca5a8933497fcef63b7960`,MIT。
- [原作者论文](https://www.nature.com/articles/s41586-024-07763-9);[固定代码版本](https://github.com/philshiu/Drosophila_brain_model/tree/91bdd1e7dcf193f3e7ca5a8933497fcef63b7960)。
- Brian2 2.5.1,独立Linux环境;作者记录为Windows/Python3.10.11,此处Linux/Python3.10.12,不能称为二进制相同。
- 原始g单位为volt,是加性输入状态,不是电导;reset中的局部`w=0`不会清零真实Synapses权重。
- 原`poi`接口另做了零时长编译审计:向v加入68.75mV、150Hz、N=1,并将目标不应期置零。它不是本轮共同初始seed,也不是已验证的新嗅觉接口。
- 安装只发生在新实验`.venv`,保存下载URL与归档SHA-256;MarkupSafe1.1.1使用源归档,其他核心包使用wheel。未改旧科学环境或ComfyUI。
## 下一关
1. 独立GPU实现须补足高入度、正负抵消、逐边加法顺序、非零初始g、阈值临界值与延迟队列边界测试;禁止用`g+sum(w)`擅自代替作者逐边写入。
2. 在短时全图上对照事件及状态,再开展固定DoOR嗅觉CAL。保持既有输入请求,不顺手切换为作者的rfc=0输入接口;分别统计请求、因不应期拒绝与实际放电。
3. CAL通过后才能使用独立seed及新odor验证。不能靠低活跃度或held-out调参授予成功。
4. 真正conditioning须重新执行D(t)=0、frozen与随机奖励路径,并真正推进retention等待时间;旧脚本中复用基线/新建状态的检查不能替代这些端到端验证。
5. 全部学习结论仍以MBON/downstream的刺激特异性、acquisition/reversal/retention/delayed reward为准,至少5个training seeds与独立evaluation seeds。
## 完整性和保存
原快照230,239项及4AA、4AB、4AC、背景复核产物前后SHA-256无变化。
旧deterministic-v2五个全脑冻结trial重新执行,事件、计数、最终V/g逐数组相同。
4090回归峰值已分配显存285,994,496字节;这不是新动力学全脑性能benchmark。
新模型11个payload、新实验565个payload已独立封存,环境目录不纳入payload。
Git同步代码、小报告和校验清单;大数据及完整状态轨迹仍在服务器,不能称为完整异机备份。
详见[完整结果](phase4ad-author-semantics.md)、[封存核验](../../registry/phase4ad-author-semantics/seal-verification.json)。
@@ -0,0 +1,71 @@
# Phase 4AD — independently authorized author-semantics laboratory
Human authorization: "允许独立新模型分支测试动力学假设".
Goal remains usable stimulus-specific learning, not reducing spike count or passing an isolated fixture.
All Phase 1–4AC scientific artifacts, canonical CSR/raw counts, transmitter signs,
W_syn=0.275, APL calibration, eligibility-v2 and the 14,232-edge plastic mask are
read-only. No training, threshold/gain/eta search, decoder, game or visual work in
this prerequisite laboratory. Existing candidate names are not replaced.
## Fixed comparison before results
Use the exact five preselected 4AC motifs and the same initial single seed event,
not newly selected cells. Record all five outcomes, including persistent firing.
Preserve true edge IDs, counts and original global neuron_idx/body_id.
1. Reproduce frozen explicit float32 Euler/operator semantics exactly, using 4AC
archived event/state arrays as an independent oracle.
2. Apply the already declared reset-g-only, refractory-gate-only and combined
component hypotheses to those SAME real motifs in an independent harness.
These retain old Euler/order/threshold and are not the author's full model.
3. Execute the exact pinned author's `create_model` under isolated Brian2 2.5.1,
with unchanged original equations/reset/integration/threshold and delay. Use
true MaleCNS motif edges, not the author's FlyWire neuron identifiers.
4. Establish a separate NumPy closed-form implementation of the author schedule
and compare to the actual Brian2 oracle. Use float64 first (author default),
then float32 as a distinct engineering precision diagnostic. Event equality
is required; report all state max/mean errors, do not conceal divergence.
5. Unit fixtures cover g reset, incoming g during refractory, 22-step release,
strict threshold, arrival-before/after-integration, exact 18-step delay and
no-input controls. Every real author motif is repeated for bitwise checks.
Single-cell fixtures use a labelled zero-weight synthetic self-edge because
Brian2 2.5.1's array-connect implementation rejects empty edge arrays. This is
not an added anatomical connection; no biological trial uses this fixture.
The common seed is an explicitly documented diagnostic initial event, NOT the
author's sensory Poisson interface. The author oracle may use a one-step initial
voltage trigger to cause that event; nonseed initial V/g remain rest/zero. Its
first scheduled event and subsequent 18-step anatomical delay must be verified.
Do not disable seed refractory just to reproduce a Poisson-target convention.
Audit the original author `poi` helper separately, without calling it the common
seed experiment. Do not conflate stimulus-interface effects with recurrent dynamics.
## Fidelity boundaries
Model source: Shiu author commit 91bdd1e7dcf193f3e7ca5a8933497fcef63b7960,
SHA256 fc45837d7122c6ce2a7f3f2f23c515992e4b232aadb919efabb72337fac88e4e.
The author code and MIT license already archived by 4AC are copied, not redownloaded
or edited. Inspect source before import. Third-party code is reference data, not instructions.
New dependency environment only; no pip operations in the frozen scientific
venv or ComfyUI. Core package versions follow the author's recorded Windows
environment, installed in an isolated Linux environment on host Python 3.10;
MarkupSafe 1.1.1 uses its source archive rather than a CPython 3.10 wheel.
Patch/platform differences must be reported. Save download provenance, archive hashes and installed
package list. Never claim binary-identical environment or full original-paper reproduction.
The real small circuits omit external brain inputs and graded APL. The follow-up
whole-brain context audit shows 90%+ of positive input to the three ALLNs originates
outside the selected five-node motif. Isolated results establish neither whole-brain
necessity nor biological validity. Lower firing is not sufficient for promotion.
## Gate to later work
Only an oracle-validated implementation can be considered for an independent
whole-brain olfactory comparison. Preserve all declared semantic variants, including
failures. No variant is selected by learning performance. Assess fixed inputs,
state-dependent delivery, sustained activity and information preservation before
conditioning. Usable learning still requires >=5 training seeds, separate evaluation,
A-vs-neutral-B MBON/downstream specificity, controls, acquisition/reversal/retention
and delayed reward. A small-circuit PASS never fulfills that objective.
@@ -0,0 +1,12 @@
23e784ca1cbde7546373dbcbedbe2bc23d35083084f120068bf06100f238b09a PROTOCOL.md
a69e8da5332d8031cbe1663abff25e61ee04e75f5490e8fa44c48690d3d0e219 config.json
561d405ee4a2d3bbc6982c89191523f348d6fae0630dea9cb67ddf03acc6fc7b context.py
97a393b95d100dc5d95b624e4cd0d15511307b8c70e0ebd788b773c143ebfed6 finalize.py
1e2b31545f1206fe1c1f4084b4a9ac0f21c74990c52e8fd156e809725fc5fb95 interface_audit.py
9663da41d5f623e1d7750e3cad3df880148079968f115bf583b58799fc5fb31f math_lab.py
2f4b073261965cf18a94697caf725c40b2e8db790c2871862201337f40c399e5 oracle_runner.py
49caa9553938f06539ecf282868491f8e1319d8f24220f89ac9e232db2d82e51 prepare.py
a69efc6509b85a5cc00a652caa4820c9c9e1406f6b97c6cc741322728c4d51c3 requirements-oracle.txt
8746e1971c5a40a738e10f8f574a243c29cefa5a8b9f61a2846557ceffd1289a run_lab.py
fe37a48ce804e6c50f93404bfd3c23a7e54cd49061bbdfb4860315879648c73b verify_frozen.py
07a22bade4892adca3a4585656aa3ecce5219790b0dc8a851a12bfd7248d3769 manifest.json
@@ -0,0 +1,36 @@
{
"name": "author-semantics-lab-v1",
"phase": "4AD",
"root": "/data/digital-drosophila",
"experiment": "experiments/phase4ad-author-semantics",
"model_directory": "models/male-cns-lif/author-semantics-lab-v1",
"prior_experiment": "experiments/phase4ac-lif-semantics",
"prior_model": "models/male-cns-lif/lif-semantics-audit-v1",
"human_authorization": "允许独立新模型分支测试动力学假设",
"dt_ms": 0.1,
"duration_ms": 1000.0,
"seed_margin_mv": 1.0,
"late_start_ms": 500.0,
"model": {
"dt_ms": 0.1,
"membrane_tau_ms": 20.0,
"synaptic_tau_ms": 5.0,
"refractory_ms": 2.2,
"resting_potential_mv": -52.0,
"reset_potential_mv": -52.0,
"threshold_mv": -45.0,
"synaptic_delay_ms": 1.8,
"w_syn_mv_per_anatomical_synapse": 0.275
},
"seed_node": 1381,
"motifs": ["pair", "trio", "five", "feedforward", "no_input"],
"component_policies": ["frozen", "reset_g_only", "refractory_gate_only", "reset_and_refractory"],
"author_precisions": ["float64", "float32"],
"comparison": {
"float64_state_max_abs_tolerance_mv": 0.00000001,
"float32_state_max_abs_tolerance_mv": 0.001,
"exact_spike_events_required_for_oracle_validation": true,
"precision_cross_comparison_may_diverge_but_must_be_reported": true
},
"no_training_or_candidate": true
}
@@ -0,0 +1,27 @@
import hashlib
import json
from pathlib import Path
MODEL=Path(__file__).resolve().parent
CFG=json.loads((MODEL/'config.json').read_text(encoding='utf-8'))
ROOT=Path(CFG['root']);EXP=ROOT/CFG['experiment'];AC=ROOT/CFG['prior_experiment']
def digest(path):
h=hashlib.sha256()
with Path(path).open('rb') as f:
for b in iter(lambda:f.read(8<<20),b''):h.update(b)
return h.hexdigest()
def save(path,value):
path=Path(path);path.parent.mkdir(parents=True,exist_ok=True)
with path.open('x',encoding='utf-8') as f:json.dump(value,f,indent=2,ensure_ascii=False,allow_nan=False);f.write('\n')
def source_hashes():
return {p.name:digest(p) for p in sorted(MODEL.iterdir()) if p.is_file() and p.name not in ('manifest.json','checksums.sha256')}
def check_prereg():
pre=json.loads((EXP/'protocol/preregistered.json').read_text())
assert pre['source_hashes']==source_hashes(),'Source changed after preregistration'
for r in pre['input_hashes']:
assert digest(ROOT/r['path'])==r['sha256'],r['path']
return pre
@@ -0,0 +1,411 @@
"""Seal a descriptive laboratory audit, including incomplete and failed runs.
Run this with the frozen scientific environment, not the isolated Brian2 venv.
No simulation, parameter selection, candidate promotion or old-artifact write occurs.
"""
from datetime import datetime, timezone
import json
import math
from pathlib import Path
import sys
import traceback
import numpy as np
import pandas as pd
from context import CFG, EXP, MODEL, ROOT, check_prereg, digest, save, source_hashes
from prepare import frozen_integrity
UNIT_NAMES = ("zero", "weak_excitation", "inhibition", "refractory_boundary",
"equal_threshold", "above_threshold", "nonzero_g_reset", "delay_18")
EXCLUDED_PARTS = {".venv", "__pycache__"}
SEAL_NAMES = {"manifest.json", "checksums.sha256"}
def read_json(path):
with Path(path).open(encoding="utf-8") as stream:
return json.load(stream, parse_constant=lambda value: (_ for _ in ()).throw(
ValueError("Nonfinite JSON number: " + value)))
def exception_record(error):
return {"type": type(error).__name__, "message": str(error),
"traceback": traceback.format_exc()}
def attempt(records, name, function):
"""Never let an earlier failed arm hide subsequent available evidence."""
try:
detail = function()
if not isinstance(detail, dict) or type(detail.get("pass")) is not bool:
raise ValueError("Check must provide an explicit Boolean pass")
item = {"name": name, **detail}
except Exception as error:
item = {"name": name, "pass": False, "error": exception_record(error)}
records.append(item)
return item
def require(condition, message):
if not condition:
raise ValueError(message)
def load_trace(directory, expected_nodes, steps, cfg, seed_node, natural_events=False):
events = pd.read_csv(directory / "events.csv", dtype={"step": "int64", "neuron_idx": "int64"})
require(list(events.columns) == ["step", "neuron_idx"], "Unexpected event columns")
for key in ("step", "neuron_idx"):
values = events[key].to_numpy()
require(np.isfinite(values).all() and np.equal(values, np.floor(values)).all(),
"Nonfinite or nonintegral event field: " + key)
ticks = events.step.to_numpy(np.int64)
nodes = events.neuron_idx.to_numpy(np.int64)
require(bool(np.all((ticks >= 0) & (ticks < steps))), "Event outside trial")
require(bool(np.all(np.diff(ticks) >= 0)), "Events not time ordered")
require(not events.duplicated().any(), "Duplicate event at one neuron/timestep")
require(bool(np.isin(nodes, expected_nodes).all()), "Event identity outside motif")
with np.load(directory / "state.npz", allow_pickle=False) as stored:
state = {key: stored[key].copy() for key in stored.files}
require(np.array_equal(state["nodes"], expected_nodes), "State neuron order differs")
history = state["history"]
require(history.shape == (steps, 3, len(expected_nodes)), "Incomplete state history")
require(all(np.isfinite(value).all() for value in state.values()), "Nonfinite state")
actual_counts = np.array([np.count_nonzero(nodes == node) for node in expected_nodes])
require(np.array_equal(state["counts"], actual_counts), "Counts disagree with raw events")
for index, key in enumerate(("v", "g", "ref")):
require(np.array_equal(state[key], history[-1, index]),
"Final state disagrees with history: " + key)
if seed_node is None and not natural_events:
require(len(ticks) == 0, "No-input control emitted a spike")
elif seed_node is not None:
require(np.array_equal(nodes[ticks == 0], [seed_node]),
"Declared initial seed event missing or duplicated")
late = ticks >= round(cfg["late_start_ms"] / cfg["dt_ms"])
per_node = [{"neuron_idx": int(node), "spikes": int(actual_counts[index]),
"late_spikes": int(np.count_nonzero(late & (nodes == node))),
"last_ms": float(ticks[nodes == node][-1] * cfg["dt_ms"])
if actual_counts[index] else None}
for index, node in enumerate(expected_nodes)]
return {"step": ticks, "neuron_idx": nodes, **state}, per_node
def compare_raw(actual, expected, tolerance):
require(math.isfinite(tolerance) and tolerance >= 0, "Invalid preregistered tolerance")
a = np.asarray(actual["history"], np.float64)
b = np.asarray(expected["history"], np.float64)
require(a.shape == b.shape and a.size > 0, "Incomplete comparison trajectories")
require(np.isfinite(a).all() and np.isfinite(b).all(), "Nonfinite comparison trajectory")
error = np.abs(a[:, :2] - b[:, :2])
exact_events = bool(np.array_equal(actual["step"], expected["step"]) and
np.array_equal(actual["neuron_idx"], expected["neuron_idx"]))
first = None
if not exact_events:
for step in range(len(a)):
aa = actual["neuron_idx"][actual["step"] == step]
bb = expected["neuron_idx"][expected["step"] == step]
if not np.array_equal(aa, bb):
first = step
break
prefix = error if first is None else error[:first]
reference_exact = bool(np.array_equal(a[:, 2], b[:, 2]))
count_exact = bool(np.array_equal(actual["counts"], expected["counts"]))
maximum = float(error.max())
return {"exact_events": exact_events, "exact_counts": count_exact,
"ref_exact": reference_exact, "max_abs_mv": maximum,
"mean_abs_mv": float(error.mean()),
"same_event_prefix_max_abs_mv": float(prefix.max()) if prefix.size else None,
"first_event_divergence_step": first, "tolerance_mv": tolerance,
"pass_oracle": exact_events and count_exact and reference_exact and maximum <= tolerance}
def comparison_record_matches(raw, stored):
"""Only descriptive mean reduction may differ between scientific NumPy builds."""
if set(raw) != set(stored):
return False
return all(math.isclose(raw[key], stored[key], rel_tol=0, abs_tol=1e-12)
if key == "mean_abs_mv" else raw[key] == stored[key] for key in raw)
def motif_nodes(cfg, motif):
with np.load(ROOT / cfg["prior_experiment"] / "motifs" / (motif + "-state.npz"),
allow_pickle=False) as prior:
return prior["nodes"].copy()
def check_summary_rows(table, motif, policy, precision, per_node):
part = table[(table.motif == motif) & (table.policy == policy) &
(table.precision == precision)]
require(len(part) == len(per_node) and not part.neuron_idx.duplicated().any(),
"Missing/duplicate per-neuron summary rows")
require(set(part.neuron_idx) == {row["neuron_idx"] for row in per_node},
"Summary neuron identities differ")
indexed = part.set_index("neuron_idx")
for row in per_node:
current = indexed.loc[row["neuron_idx"]]
require(current.spikes == row["spikes"] and current.late_spikes == row["late_spikes"],
"Summary spike counts disagree with raw events")
last = current.last_ms
require(pd.isna(last) if row["last_ms"] is None else last == row["last_ms"],
"Summary last-spike time disagrees with raw events")
def seal(root):
require(not any((root / name).exists() for name in SEAL_NAMES),
"Refusing to overwrite an existing seal: " + str(root))
files = []
for path in sorted(root.rglob("*")):
relative = path.relative_to(root)
if EXCLUDED_PARTS.intersection(relative.parts):
continue
require(not path.is_symlink(), "Unsealed symlink not permitted: " + str(path))
if not path.is_file() or (len(relative.parts) == 1 and path.name in SEAL_NAMES):
continue
files.append({"path": relative.as_posix(), "bytes": path.stat().st_size,
"sha256": digest(path)})
require(bool(files), "Refusing empty artifact manifest")
manifest = {"schema": "sha256-artifact-manifest-v1", "root": str(root),
"created_utc": datetime.now(timezone.utc).isoformat(),
"excluded_directory_names": sorted(EXCLUDED_PARTS),
"self_hash_policy": "Manifest lists payload files; checksums also hashes manifest; neither hashes checksums.",
"files": files}
save(root / "manifest.json", manifest)
checksum_rows = files + [{"path": "manifest.json", "sha256": digest(root / "manifest.json")}]
with (root / "checksums.sha256").open("x", encoding="utf-8", newline="\n") as stream:
for row in checksum_rows:
stream.write(row["sha256"] + " " + row["path"] + "\n")
for row in checksum_rows:
require(digest(root / row["path"]) == row["sha256"],
"Artifact changed while sealing: " + row["path"])
def main():
outputs = [EXP / "audit/finalize-start.json", EXP / "audit/final-summary.json",
EXP / "regression/old-integrity-after.json", EXP / "regression/preregistration-after.json",
EXP / "REPORT.md"] + [root / name for root in (MODEL, EXP) for name in SEAL_NAMES]
require(not any(path.exists() for path in outputs), "Refusing reused finalization outputs")
save(EXP / "audit/finalize-start.json", {"timestamp_utc": datetime.now(timezone.utc).isoformat(),
"python": sys.version, "executable": sys.executable, "learning": False,
"whole_brain_alternative_run": False})
checks = []
prereg = attempt(checks, "preregistration", lambda: {"pass": True, "record": check_prereg()})
if prereg["pass"]:
cfg = prereg["record"]["config"]
else:
# Read the sealed declaration for descriptive recovery, never bless source drift.
try:
cfg = read_json(EXP / "protocol/preregistered.json")["config"]
except Exception:
cfg = CFG
integrity = attempt(checks, "old_frozen_integrity_after", lambda: {
"pass": True, "results": frozen_integrity()})
save(EXP / "regression/old-integrity-after.json", integrity)
def completed():
record = read_json(EXP / "audit/run-complete.json")
require(record.get("learning_achieved") is False and
record.get("whole_brain_alternative_run") is False, "Run scope inconsistent")
require(record.get("author_original_source_sha256") == digest(EXP / "external-resources/model.py"),
"Author source hash disagrees with run-complete record")
return {"pass": record.get("all_author_oracle_comparisons_pass") is True and
record.get("all_frozen_components_match_archive") is True, "record": record}
run_complete = attempt(checks, "run_complete", completed)
def frozen_five_check():
record = read_json(EXP / "regression/frozen-five.json")
trials = record.get("trials", [])
require(len(trials) == 5 and len({row["trial"] for row in trials}) == 5,
"Exactly five distinct frozen reference trials are required")
required = {"step", "neuron_idx", "counts", "v", "g"}
exact = all(set(row.get("exact", {})) == required and
all(value is True for value in row["exact"].values()) for row in trials)
return {"pass": record.get("pass_all") is True and exact, "record": record,
"scope": "Old frozen runtime regression only, not a new-model dynamics gate."}
frozen_five = attempt(checks, "frozen_five_gpu_references", frozen_five_check)
def interface_check():
record = read_json(EXP / "oracle/poi-interface/audit.json")
flags = record.get("checks", {})
require(isinstance(flags, dict) and bool(flags), "Empty Poisson interface audit")
require(record.get("author_sha256") == digest(EXP / "external-resources/model.py"),
"Poisson audit source hash differs")
require(record.get("simulation_duration_ms") == 0 and
record.get("stochastic_time_steps") == 0 and
record.get("random_realization_tested") is False and
record.get("common_seed_experiment") is False, "Poisson audit scope differs")
for name, expected in record.get("input_hashes", {}).items():
require(digest(EXP / "oracle/poi-interface" / name) == expected,
"Poisson fixture input changed: " + name)
return {"pass": record.get("gate") is True and all(value is True for value in flags.values()),
"record": record, "scope": "Compile-time interface audit; no Poisson realization."}
interface = attempt(checks, "author_poi_compile_only", interface_check)
outcomes = []
components = []
steps = round(cfg["duration_ms"] / cfg["dt_ms"])
for motif in cfg["motifs"]:
for policy in cfg["component_policies"]:
def component_check(motif=motif, policy=policy):
nodes = motif_nodes(cfg, motif)
raw, per_node = load_trace(EXP / "components" / (motif + "-" + policy), nodes,
steps, cfg, None if motif == "no_input" else cfg["seed_node"])
outcomes.append({"motif": motif, "policy": policy, "precision": "float32",
"neurons": per_node, "activity_is_not_a_validation_gate": True})
table = pd.read_csv(EXP / "components/summary.csv", float_precision="round_trip")
check_summary_rows(table, motif, policy, "float32", per_node)
if policy == "frozen":
prior_dir = ROOT / cfg["prior_experiment"] / "motifs"
old_events = pd.read_parquet(prior_dir / (motif + "-events.parquet"))
require(np.array_equal(raw["step"], old_events.step) and
np.array_equal(raw["neuron_idx"], old_events.neuron_idx),
"Frozen events disagree with 4AC")
with np.load(prior_dir / (motif + "-state.npz"), allow_pickle=False) as old:
require(all(np.array_equal(old[key], raw[key]) for key in old.files),
"Frozen states disagree with 4AC")
return {"pass": True, "raw_and_summary_consistent": True,
"interpretation": "Artifact/finite/seed checks only; activity is descriptive."}
components.append(attempt(checks, "component:" + motif + ":" + policy, component_check))
unit_results = []
for precision in cfg["author_precisions"]:
for fixture in UNIT_NAMES:
def unit_check(precision=precision, fixture=fixture):
stem = fixture
record = read_json(EXP / "regression" / ("unit-" + stem + "-" + precision + ".json"))
require(record.get("fixture") == fixture and record.get("precision") == precision,
"Unit identity mismatch")
unit_cfg = dict(cfg, duration_ms=20.0)
seeded = fixture in ("refractory_boundary", "above_threshold")
directory = EXP / "oracle" / ("unit-" + stem + "-" + precision)
nodes = np.array([-2, -1]) if fixture == "delay_18" else np.array([-1])
seed = -2 if fixture == "delay_18" else (-1 if seeded else None)
actual, _ = load_trace(directory / "brian-output", nodes, 200, unit_cfg, seed,
natural_events=fixture == "nonzero_g_reset")
independent, _ = load_trace(directory / "independent-output", nodes, 200, unit_cfg, seed,
natural_events=fixture == "nonzero_g_reset")
raw = compare_raw(actual, independent, float(cfg["comparison"][precision + "_state_max_abs_tolerance_mv"]))
stored = read_json(directory / "comparison.json")
require(comparison_record_matches(raw, stored) and
comparison_record_matches(raw, record["comparison"]),
"Unit comparison differs from raw trajectories")
flags = record.get("checks")
require(isinstance(flags, dict) and bool(flags), "Empty unit checks cannot pass")
return {"pass": raw["pass_oracle"] and all(value is True for value in flags.values()),
"checks": flags, "raw_comparison": raw}
unit_results.append(attempt(checks, "unit:" + fixture + ":" + precision, unit_check))
author_results = []
precision_cross = []
for motif in cfg["motifs"]:
by_precision = {}
for precision in cfg["author_precisions"]:
def author_check(motif=motif, precision=precision):
nodes = motif_nodes(cfg, motif)
directory = EXP / "oracle" / (motif + "-" + precision)
seed = None if motif == "no_input" else cfg["seed_node"]
actual, per_node = load_trace(directory / "brian-output", nodes, steps, cfg, seed)
independent, _ = load_trace(directory / "independent-output", nodes, steps, cfg, seed)
by_precision[precision] = actual
outcomes.append({"motif": motif, "policy": "author_complete", "precision": precision,
"neurons": per_node, "activity_is_not_a_validation_gate": True})
raw = compare_raw(actual, independent, float(cfg["comparison"][precision + "_state_max_abs_tolerance_mv"]))
stored = read_json(directory / "comparison.json")
require(comparison_record_matches(raw, stored), "Author comparison differs from raw trajectories")
repeated, _ = load_trace(EXP / "oracle" / (motif + "-" + precision + "-repeat") /
"brian-output", nodes, steps, cfg, seed)
repeat_flags = read_json(EXP / "regression" / (motif + "-" + precision + "-repeat.json"))
require(set(repeat_flags) == set(actual) - {"nodes"}, "Incomplete repeat comparison fields")
repeat_raw = {key: bool(np.array_equal(actual[key], repeated[key])) for key in repeat_flags}
require(repeat_raw == repeat_flags, "Repeat flags disagree with raw arrays")
table = pd.read_csv(EXP / "audit/all-motif-results.csv", float_precision="round_trip")
check_summary_rows(table, motif, "author_complete", precision, per_node)
return {"pass": raw["pass_oracle"] and all(repeat_raw.values()),
"raw_comparison": raw, "repeat_exact": repeat_raw}
author_results.append(attempt(checks, "author:" + motif + ":" + precision, author_check))
def cross_check(motif=motif):
raw = compare_raw(by_precision["float32"], by_precision["float64"],
float(cfg["comparison"]["float32_state_max_abs_tolerance_mv"]))
stored = read_json(EXP / "regression" / (motif + "-precision-cross-comparison.json"))
require(comparison_record_matches(raw, stored), "Precision cross comparison differs from raw trajectories")
return {"pass": True, "comparison": raw,
"interpretation": "Reporting consistency only; cross-precision divergence is allowed and retained."}
precision_cross.append(attempt(checks, "precision_cross_record:" + motif, cross_check))
retained_errors = []
for path in sorted(EXP.rglob("error.json")):
if EXCLUDED_PARTS.intersection(path.relative_to(EXP).parts):
continue
try:
error = read_json(path)
except Exception as exception:
error = exception_record(exception)
retained_errors.append({"path": path.relative_to(EXP).as_posix(), "error": error})
checks.append({"name": "no_recorded_oracle_errors", "pass": not retained_errors,
"errors": retained_errors})
final_prereg = attempt(checks, "preregistration_at_seal", lambda: {"pass": True, "record": check_prereg()})
save(EXP / "regression/preregistration-after.json", {
"initial": prereg, "at_seal": final_prereg, "observed_source_hashes": source_hashes()})
passed = bool(checks) and all(item["pass"] for item in checks)
summary = {"phase": cfg.get("phase", "4AD"),
"status": "COMPLETE-ORACLE-VALIDATED-LAB-ONLY" if passed else "INCOMPLETE-OR-FAILED-LAB-VALIDATION",
"laboratory_validation_pass": passed, "checks": checks,
"component_checks": components, "unit_checks": unit_results,
"frozen_five_gpu_check": frozen_five, "author_poi_interface_check": interface,
"author_oracle_checks": author_results, "precision_cross_checks": precision_cross,
"motif_outcomes": outcomes, "run_complete_record": run_complete,
"whole_brain_alternative_run": False, "conditioning_run": False,
"learning_achieved": False, "candidate_generated": False, "selected_variant": None,
"goal_remains_unachieved": True,
"limits": ["No whole-brain or learning experiment in this protocol.",
"No activity-based variant selection; silence is not a success gate.",
"Isolated motifs omit external network input and graded APL.",
"Author equations on MaleCNS motifs do not reproduce the original paper's full brain or sensory interface.",
"Linux host and Python patch differences prevent a binary-identical author-environment claim."]}
save(EXP / "audit/final-summary.json", summary)
failures = [item for item in checks if not item["pass"]]
lines = ["# Phase 4AD 作者动力学语义实验室", "", "状态:`" + summary["status"] + "`。", "",
"本轮仅有预声明的小回路与算子实验;没有整脑替代动力学运行、conditioning、学习成功或新学习候选。",
"检查以原始事件、状态轨迹和预注册误差界限重算。缺失、失败、非有限值或初始事件丢失均不能通过;放电减少或静默本身不构成成功。", "",
f"核查通过 {sum(item['pass'] for item in checks)}/{len(checks)} 项;失败或不完整 {len(failures)} 项。",
"冻结历史完整性:" + ("通过。" if integrity["pass"] else "失败或未完成,详见保存的错误。"),
"源码与输入预注册一致性:" + ("通过。" if prereg["pass"] and final_prereg["pass"] else "失败或未完成;不得授予验证成功。"), "",
"| 回路 | 语义 | 精度 | 总spikes | late spikes |", "|---|---|---|---:|---:|"]
for row in outcomes:
lines.append("| {} | {} | {} | {} | {} |".format(row["motif"], row["policy"], row["precision"],
sum(item["spikes"] for item in row["neurons"]), sum(item["late_spikes"] for item in row["neurons"])))
if not outcomes:
lines.append("| 无完整可读取结果 | 未执行或缺失 | — | — | — |")
lines.extend(["", "作者Brian2与独立NumPy比较:", "",
"| 实验 | 结果 | 事件一致 | 最大V/g误差 mV | 首次事件分歧step |", "|---|---|---|---:|---:|"])
for item in author_results:
raw = item.get("raw_comparison", {})
lines.append("| {} | {} | {} | {} | {} |".format(item["name"], "通过" if item["pass"] else "失败/缺失",
raw.get("exact_events", "未知"), raw.get("max_abs_mv", "未知"),
raw.get("first_event_divergence_step", "无或未取得")))
lines.extend(["", "float32与float64交叉比较仅记录精度影响,允许保留分歧,不能用于掩盖各自与独立oracle的失败。"])
for item in precision_cross:
raw = item.get("comparison")
if raw:
lines.append(f"- {item['name']}:事件一致={raw['exact_events']},最大误差={raw['max_abs_mv']} mV,首次事件分歧step={raw['first_event_divergence_step']}。")
if failures:
lines.extend(["", "失败与未完成项:", ""])
for item in failures:
detail = item.get("error", {}).get("message") or "原始条件未全部满足;完整字段见 final-summary.json。"
lines.append("- `" + item["name"] + "`:" + str(detail).replace("\n", " "))
lines.extend(["", "所有失败轨迹和错误文件原样保留;本简报没有选择获胜变体。",
"小回路缺少外部整脑输入与graded APL,不能证明整脑因果必要性、生物真实性或信息保持。初始诊断seed也不是作者的感官Poisson接口。",
"环境为Linux宿主,作者记录为Windows;Python补丁版本与环境差异见environment记录,不能称为二进制相同或原论文整脑复现。",
"后续整脑嗅觉比较仍须核查固定输入、实际送达事件、持续活动和信息保持;可用学习仍需至少5个训练seed、独立评估、MBON/downstream的A对中性B特异性及acquisition/reversal/retention/delayed-reward对照。",
"封存排除 .venv 与 __pycache__,保留环境安装报告;manifest列出payload哈希,checksums另含manifest,不存在自哈希循环。", ""])
with (EXP / "REPORT.md").open("x", encoding="utf-8") as stream:
stream.write("\n".join(lines))
seal(MODEL)
seal(EXP)
print(json.dumps({"status": summary["status"], "laboratory_validation_pass": passed,
"failed_checks": len(failures), "learning_achieved": False,
"whole_brain_alternative_run": False, "sealed": [str(MODEL), str(EXP)]},
ensure_ascii=False), flush=True)
return 0 if passed else 1
if __name__ == "__main__":
raise SystemExit(main())
@@ -0,0 +1,149 @@
"""Compile-only audit of the pinned author's sensory Poisson interface.
This is separate from the common single-seed diagnostic. Zero simulation time
is advanced, so this audit does not draw or validate any Poisson realization.
"""
from __future__ import annotations
import hashlib
import types
import numpy as np
import pandas as pd
from context import CFG, EXP, digest, save
from oracle_runner import AUTHOR_COMMIT, AUTHOR_SHA256, _code_records, _environment
def audit_author_poi() -> dict:
"""Create the original model and poi helper, compile at t=0, and save evidence."""
author_path = EXP / "external-resources" / "model.py"
author_bytes = author_path.read_bytes()
source_hash = hashlib.sha256(author_bytes).hexdigest()
if source_hash != AUTHOR_SHA256:
raise ValueError("The Poisson audit requires the exact pinned author source")
output = EXP / "oracle" / "poi-interface"
output.mkdir(parents=True, exist_ok=False)
environment = _environment()
save(output / "environment.json", environment)
if environment["packages"]["brian2"]["actual"] != "2.5.1":
raise RuntimeError("The Poisson interface audit requires Brian2 2.5.1")
import brian2 as b2
preferences = {name: b2.prefs[name] for name in (
"codegen.target", "core.default_float_dtype", "legacy.refractory_timing")}
old_dt = b2.defaultclock.dt
try:
b2.start_scope()
b2.prefs["codegen.target"] = "numpy"
b2.prefs["core.default_float_dtype"] = np.float64
b2.prefs["legacy.refractory_timing"] = False
b2.defaultclock.dt = float(CFG["dt_ms"]) * b2.ms
author = types.ModuleType("phase4ad_poi_author_" + source_hash[:12])
author.__file__ = str(author_path)
# Execute exactly the reviewed bytes; create no bytecode beside the source.
exec(compile(author_bytes, str(author_path), "exec"), author.__dict__)
parameters = dict(author.default_params)
nodes = np.array([-2, -1], dtype=np.int32)
completeness = pd.DataFrame(
{"local_index": np.array([0, 1], dtype=np.int32)},
index=pd.Index(nodes, name="synthetic_global_neuron_idx"))
connections = pd.DataFrame({
"Presynaptic_Index": np.array([0], dtype=np.int32),
"Postsynaptic_Index": np.array([1], dtype=np.int32),
"Excitatory x Connectivity": np.array([1], dtype=np.int64),
"raw_count": np.array([1], dtype=np.int64),
"edge_id": np.array([-1], dtype=np.int64),
"source_neuron_idx": nodes[:1], "target_neuron_idx": nodes[1:],
})
comp_path = output / "completeness.csv"
con_path = output / "connectivity.parquet"
completeness.to_csv(comp_path)
connections.to_parquet(con_path, index=False, engine="pyarrow")
neu, syn, spikes = author.create_model(comp_path, con_path, parameters)
rfc_before = np.asarray(neu.rfc[:] / b2.ms, dtype=np.float64).copy()
# One excited target plus one untouched cell makes the helper's scope
# observable. The optional second-rate class is not exercised here.
inputs, same_neu = author.poi(neu, [0], [], parameters)
if same_neu is not neu:
raise AssertionError("The author poi helper returned a different neuron group")
rfc_after = np.asarray(neu.rfc[:] / b2.ms, dtype=np.float64).copy()
before_v = np.asarray(neu.v_[:], dtype=np.float64).copy()
before_g = np.asarray(neu.g_[:], dtype=np.float64).copy()
before_w = np.asarray(syn.w_[:], dtype=np.float64).copy()
network = b2.Network(neu, syn, spikes, *inputs)
save(output / "schedule.json", {
"schedule": list(network.schedule),
"summary": str(network.scheduling_summary()),
})
network.run(0 * b2.ms, namespace={})
save(output / "generated-code.json", _code_records(network))
input_records = []
for item in inputs:
# PoissonInput 2.5.1 retains its on-the-fly subgroup as _group;
# N/rate/weight/target_var are its public read-only properties.
target = item._group
input_records.append({
"name": item.name, "type": type(item).__name__,
"target_group": target.name,
"target_local_start": int(target.start),
"target_local_stop": int(target.stop),
"target_global_nodes": nodes[int(target.start):int(target.stop)].tolist(),
"target_var": item.target_var, "N": int(item.N),
"rate_hz": float(item.rate / b2.Hz),
"weight_mv": float(item.weight / b2.mV),
"weight_volt": float(item.weight / b2.volt),
"when": item.when, "order": int(item.order),
"dt_ms": float(item.clock.dt / b2.ms),
"abstract_code": str(item.abstract_code),
"generated_code": [str(code.code) for code in item.code_objects],
})
expected_rfc = float(parameters["t_rfc"] / b2.ms)
expected_weight = float(parameters["w_syn"] * parameters["f_poi"] / b2.mV)
expected_rate = float(parameters["r_poi"] / b2.Hz)
checks = {
"exact_author_source": digest(author_path) == source_hash,
"one_poisson_input": len(input_records) == 1,
"initial_refractory_is_original": bool(np.array_equal(rfc_before, [expected_rfc, expected_rfc])),
"only_excited_target_loses_refractory": bool(np.array_equal(rfc_after, [0., expected_rfc])),
"actual_voltage_interface": all(r["target_var"] == "v" for r in input_records),
"actual_N_one": all(r["N"] == 1 for r in input_records),
"actual_rate_150_hz": bool(expected_rate == 150. and all(r["rate_hz"] == expected_rate for r in input_records)),
"actual_weight_68_75_mv": bool(np.isclose(expected_weight, 68.75, rtol=0, atol=1e-12)
and all(np.isclose(r["weight_mv"], expected_weight, rtol=0, atol=1e-12) for r in input_records)),
"actual_synapses_slot_order_zero": all(r["when"] == "synapses" and r["order"] == 0 for r in input_records),
"zero_elapsed_time": float(network.t / b2.ms) == 0.,
"no_recorded_spikes": len(spikes.i[:]) == 0,
"compile_preserves_voltage": bool(np.array_equal(before_v, np.asarray(neu.v_[:]))),
"compile_preserves_g": bool(np.array_equal(before_g, np.asarray(neu.g_[:]))),
"compile_preserves_weights": bool(np.array_equal(before_w, np.asarray(syn.w_[:]))),
"compile_preserves_refractory_configuration": bool(np.array_equal(rfc_after, np.asarray(neu.rfc[:] / b2.ms))),
}
result = {
"gate": bool(all(checks.values())), "checks": checks,
"author_commit": AUTHOR_COMMIT, "author_sha256": source_hash,
"fixture": "two synthetic nodes, one raw_count=1 connection",
"nodes": nodes.tolist(), "exc_local_indices": [0], "exc2_local_indices": [],
"rfc_before_ms": rfc_before.tolist(), "rfc_after_ms": rfc_after.tolist(),
"poisson_inputs": input_records,
"synaptic_weight_mv": np.asarray(syn.w[:] / b2.mV, dtype=np.float64).tolist(),
"input_hashes": {"completeness.csv": digest(comp_path), "connectivity.parquet": digest(con_path)},
"simulation_duration_ms": 0., "stochastic_time_steps": 0,
"random_realization_tested": False, "common_seed_experiment": False,
"interpretation": "Original poi adds 68.75 mV to voltage at 150 Hz with N=1 in the synapses slot and sets its target rfc to zero. This interface is not the common initial seed experiment.",
"scope": "Compile-time interface audit only; no stochastic trial, learning, or whole-brain simulation. The optional exc2 helper branch is not exercised.",
}
save(output / "audit.json", result)
if not result["gate"]:
raise AssertionError("Author Poisson interface gate failed: " + str(checks))
return result
except Exception as error:
save(output / "error.json", {"type": type(error).__name__, "message": str(error)})
raise
finally:
for name, value in preferences.items():
b2.prefs[name] = value
b2.defaultclock.dt = old_dt
@@ -0,0 +1,67 @@
{
"schema": "sha256-artifact-manifest-v1",
"root": "/data/digital-drosophila/models/male-cns-lif/author-semantics-lab-v1",
"created_utc": "2026-09-29T23:19:04.144370+00:00",
"excluded_directory_names": [
".venv",
"__pycache__"
],
"self_hash_policy": "Manifest lists payload files; checksums also hashes manifest; neither hashes checksums.",
"files": [
{
"path": "PROTOCOL.md",
"bytes": 4577,
"sha256": "23e784ca1cbde7546373dbcbedbe2bc23d35083084f120068bf06100f238b09a"
},
{
"path": "config.json",
"bytes": 1332,
"sha256": "a69e8da5332d8031cbe1663abff25e61ee04e75f5490e8fa44c48690d3d0e219"
},
{
"path": "context.py",
"bytes": 1057,
"sha256": "561d405ee4a2d3bbc6982c89191523f348d6fae0630dea9cb67ddf03acc6fc7b"
},
{
"path": "finalize.py",
"bytes": 25910,
"sha256": "97a393b95d100dc5d95b624e4cd0d15511307b8c70e0ebd788b773c143ebfed6"
},
{
"path": "interface_audit.py",
"bytes": 8415,
"sha256": "1e2b31545f1206fe1c1f4084b4a9ac0f21c74990c52e8fd156e809725fc5fb95"
},
{
"path": "math_lab.py",
"bytes": 4533,
"sha256": "9663da41d5f623e1d7750e3cad3df880148079968f115bf583b58799fc5fb31f"
},
{
"path": "oracle_runner.py",
"bytes": 18548,
"sha256": "2f4b073261965cf18a94697caf725c40b2e8db790c2871862201337f40c399e5"
},
{
"path": "prepare.py",
"bytes": 3453,
"sha256": "49caa9553938f06539ecf282868491f8e1319d8f24220f89ac9e232db2d82e51"
},
{
"path": "requirements-oracle.txt",
"bytes": 453,
"sha256": "a69efc6509b85a5cc00a652caa4820c9c9e1406f6b97c6cc741322728c4d51c3"
},
{
"path": "run_lab.py",
"bytes": 10795,
"sha256": "8746e1971c5a40a738e10f8f574a243c29cefa5a8b9f61a2846557ceffd1289a"
},
{
"path": "verify_frozen.py",
"bytes": 2613,
"sha256": "fe37a48ce804e6c50f93404bfd3c23a7e54cd49061bbdfb4860315879648c73b"
}
]
}
@@ -0,0 +1,70 @@
"""Independent event-scheduled author equation and preserved frozen component arms."""
import sys
from pathlib import Path
import numpy as np
sys.path.insert(0,'/data/digital-drosophila/models/male-cns-lif/lif-semantics-audit-v1')
from math_reference import params, state
def component(nodes,edges,weights,config,policy,seed_node):
p=params(config['model']);n=len(nodes);steps=round(config['duration_ms']/config['dt_ms'])
ix={int(x):i for i,x in enumerate(nodes)}
src=np.array([ix[int(x)] for x in edges.source_neuron_idx],np.int32)
dst=np.array([ix[int(x)] for x in edges.target_neuron_idx],np.int32)
v=np.full(n,p['rest'],np.float32);g=np.zeros(n,np.float32);ref=np.zeros(n,np.int32)
qlen=p['delay_steps']+1;q=np.zeros((qlen,n),np.float32)
history=np.empty((steps,3,n),np.float32);counts=np.zeros(n,np.int32);ts=[];ns=[]
for t in range(steps):
v,g,ref,fire=state(v,g,ref,q[t%qlen],p,policy);q[t%qlen]=0
if t==0 and seed_node is not None:
k=ix[seed_node];assert not fire[k] and ref[k]==0
fire[k]=True;v[k]=p['reset'];ref[k]=p['ref_steps']
if policy in ('reset_g_only','reset_and_refractory'):g[k]=np.float32(0)
counts+=fire;active=np.flatnonzero(fire);ts.extend([t]*len(active));ns.extend(nodes[active].tolist())
selected=np.flatnonzero(fire[src]);selected=selected[np.argsort(dst[selected],kind='stable')]
for target in np.unique(dst[selected]):
acc=np.float32(0)
for e in selected[dst[selected]==target]:acc=np.float32(acc+weights[e])
slot=(t+p['delay_steps'])%qlen;q[slot,target]=np.float32(q[slot,target]+acc)
history[t]=v,g,ref
return dict(step=np.array(ts,np.int32),neuron_idx=np.array(ns,np.int32),counts=counts,v=v,g=g,ref=ref,history=history,queue=q)
def author_numpy(nodes,edges,config,precision,seed_node,external_arrivals=None):
"""Analytic integration in SI volts; sequential arrival writes follow spike detection."""
f=np.dtype(precision).type;m=config['model'];n=len(nodes);dt=config['dt_ms']
steps=round(config['duration_ms']/dt);rs=round(m['refractory_ms']/dt);ds=round(m['synaptic_delay_ms']/dt)
ix={int(x):i for i,x in enumerate(nodes)}
src=np.array([ix[int(x)] for x in edges.source_neuron_idx],np.int32)
dst=np.array([ix[int(x)] for x in edges.target_neuron_idx],np.int32)
weights=np.asarray(edges.raw_count.to_numpy(np.float64)*(m['w_syn_mv_per_anatomical_synapse']*.001),dtype=precision)
rest=m['resting_potential_mv']*.001;reset=m['reset_potential_mv']*.001;threshold=m['threshold_mv']*.001
v=np.full(n,rest,dtype=precision);g=np.zeros(n,dtype=precision)
last=np.full(n,-1000000,np.int64);counts=np.zeros(n,np.int32)
em=np.exp(-dt/m['membrane_tau_ms']);es=np.exp(-dt/m['synaptic_tau_ms'])
drive=m['synaptic_tau_ms']/(m['membrane_tau_ms']-m['synaptic_tau_ms'])*(em-es)
history=np.empty((steps,3,n),np.float64);queue=[[] for _ in range(ds+1)];ts=[];ns=[]
external=np.zeros((steps,n),dtype=precision) if external_arrivals is None else np.asarray(np.asarray(external_arrivals,np.float64)*.001,dtype=precision)
assert external.shape==(steps,n)
for t in range(steps):
available=(t-last)>=rs
# Use previous g for the coupled exact differential update, then cast to variable dtype.
oldg=g.copy()
v[available]=np.asarray(rest+em*(v[available]-rest)+drive*oldg[available],dtype=precision)
g[available]=np.asarray(es*oldg[available],dtype=precision)
if t==0 and seed_node is not None:v[ix[seed_node]]=f(threshold+config['seed_margin_mv']*.001)
fire=available&(v>threshold);last[fire]=t;counts+=fire
active=np.flatnonzero(fire);ts.extend([t]*len(active));ns.extend(nodes[active].tolist())
accept=available&~fire
due=queue[t%(ds+1)];queue[t%(ds+1)]=[]
for e in due:
if accept[dst[e]]:g[dst[e]]=f(g[dst[e]]+weights[e])
for j in np.flatnonzero(external[t]):
if accept[j]:g[j]=f(g[j]+external[t,j])
queue[(t+ds)%(ds+1)].extend(np.flatnonzero(fire[src]).tolist())
v[fire]=f(reset);g[fire]=f(0)
ref=np.maximum(rs-(t-last),0).astype(np.int32)
history[t]=np.asarray(v,np.float64)*1000,np.asarray(g,np.float64)*1000,ref
return dict(step=np.array(ts,np.int32),neuron_idx=np.array(ns,np.int32),counts=counts,
v=np.asarray(v,np.float64)*1000,g=np.asarray(g,np.float64)*1000,ref=ref,history=history,weights=np.asarray(weights,np.float64)*1000)
@@ -0,0 +1,346 @@
"""Run the pinned author's create_model in a dedicated, serial Brian2 process.
This module never edits the author source or its parameters. The caller supplies
an exclusive output directory and the already validated, signed connectivity
multipliers in ``raw_count``. Global IDs are not FlyWire IDs and are mapped only
for this small-circuit diagnostic. Brian stores voltages in SI volts internally;
the returned state and weights are converted to mV in the selected dtype.
"""
from __future__ import annotations
import hashlib
import importlib.metadata
import json
import platform
import sys
import types
from pathlib import Path
import numpy as np
import pandas as pd
AUTHOR_SHA256 = "fc45837d7122c6ce2a7f3f2f23c515992e4b232aadb919efabb72337fac88e4e"
AUTHOR_COMMIT = "91bdd1e7dcf193f3e7ca5a8933497fcef63b7960"
PACKAGE_PINS = {
"brian2": "2.5.1", "numpy": "1.22.3", "pandas": "1.4.3",
"scipy": "1.8.1", "pyarrow": "11.0.0", "joblib": "1.2.0",
"cython": "0.29.33", "jinja2": "2.11.3", "markupsafe": "1.1.1",
"sympy": "1.12", "mpmath": "1.3.0", "pyparsing": "3.0.9",
"packaging": "23.1", "setuptools": "67.8.0",
"python-dateutil": "2.8.2", "pytz": "2023.3", "six": "1.16.0",
"wheel": "0.38.4",
}
def _json(path: Path, value) -> None:
with path.open("x", encoding="utf-8") as output:
json.dump(value, output, indent=2, sort_keys=True, allow_nan=False)
output.write("\n")
def _steps(value: float, dt: float, label: str, *, positive=False) -> int:
ratio = float(value) / dt
if not np.isfinite(ratio) or ratio < 0:
raise ValueError(f"{label} must be finite and nonnegative")
result = int(round(ratio))
if not np.isclose(ratio, result, rtol=0, atol=1e-9):
raise ValueError(f"{label} must be an integer number of dt steps")
if result > np.iinfo(np.int32).max or (positive and result == 0):
raise ValueError(f"{label} is outside the supported step range")
return result
def _int_vector(values, label: str, dtype=np.int64) -> np.ndarray:
source = np.asarray(values)
if source.ndim != 1 or source.dtype.kind not in "iu":
raise ValueError(f"{label} must be a one-dimensional integer array")
limits = np.iinfo(dtype)
if np.any(source < limits.min) or np.any(source > limits.max):
raise ValueError(f"{label} is outside {np.dtype(dtype).name} range")
return source.astype(dtype, copy=True)
def _environment() -> dict:
packages = {}
for name, expected in PACKAGE_PINS.items():
try:
actual = importlib.metadata.version(name)
except importlib.metadata.PackageNotFoundError:
actual = None
packages[name] = {"expected": expected, "actual": actual,
"matches": actual == expected}
return {
"python": platform.python_version(), "author_python": "3.10.11",
"python_patch_matches": platform.python_version() == "3.10.11",
"python_executable": sys.executable, "platform": platform.platform(),
"author_platform": "Windows", "packages": packages,
"all_package_pins_match": all(p["matches"] for p in packages.values()),
"binary_identical_author_environment_claimed": False,
}
def _code_text(value):
if isinstance(value, dict):
return {str(key): _code_text(item) for key, item in value.items()}
return str(value)
def _code_records(network) -> list:
records = []
for obj in network.sorted_objects:
record = {"name": obj.name, "type": type(obj).__name__,
"when": obj.when, "order": int(obj.order),
"active": bool(obj.active)}
for key in ("abstract_code", "user_code"):
if hasattr(obj, key):
record[key] = _code_text(getattr(obj, key))
record["code_objects"] = [
{"name": code.name, "type": type(code).__name__,
"generated_code": _code_text(code.code)}
for code in getattr(obj, "code_objects", ())
]
records.append(record)
return records
def run_brian(author_path: Path, io_dir: Path, nodes: np.ndarray,
edges: pd.DataFrame, config: dict, precision: str,
seed_node: int | None, external_arrivals=None) -> dict:
"""Execute an unchanged author model and return canonical end-of-tick arrays.
``external_arrivals`` is either None or a (T, N) array in mV. Every nonzero
entry gets its own SpikeGeneratorGroup source and zero-delay conditional
synaptic write, ordered after the anatomical synapses. It is not direct
Python assignment to g. ``seed_margin_mv`` may be zero for a strict-threshold
fixture; positive margins must remain representably above the threshold.
This function controls process-global Brian preferences and is not thread
safe. Use only the isolated oracle environment, serially or in subprocesses.
A failed run keeps its exclusive inputs and an error record for diagnosis.
"""
if precision not in ("float64", "float32"):
raise ValueError("precision must be float64 or float32")
dtype = np.dtype(precision)
nodes = _int_vector(nodes, "nodes", np.int32)
if not len(nodes) or np.any(np.diff(nodes.astype(np.int64)) <= 0):
raise ValueError("nodes must be nonempty, sorted, and unique")
required = ["edge_id", "source_neuron_idx", "target_neuron_idx", "raw_count"]
if not set(required).issubset(edges.columns):
raise ValueError(f"edges require columns {required}")
edge_ids = _int_vector(edges.edge_id, "edge_id")
if np.any(np.diff(edge_ids) <= 0):
raise ValueError("edge_id order must be canonical, increasing, and unique")
sources = _int_vector(edges.source_neuron_idx, "source_neuron_idx", np.int32)
targets = _int_vector(edges.target_neuron_idx, "target_neuron_idx", np.int32)
multipliers = _int_vector(edges.raw_count, "raw_count")
if not np.isin(sources, nodes).all() or not np.isin(targets, nodes).all():
raise ValueError("all edge endpoints must occur in nodes")
lookup = {int(node): i for i, node in enumerate(nodes)}
if seed_node is not None and int(seed_node) not in lookup:
raise ValueError("seed_node must occur in nodes")
dt_ms = float(config["dt_ms"])
if not np.isfinite(dt_ms) or dt_ms <= 0:
raise ValueError("dt_ms must be finite and positive")
total_steps = _steps(config["duration_ms"], dt_ms, "duration_ms", positive=True)
model = config["model"]
refractory_steps = _steps(model["refractory_ms"], dt_ms, "refractory_ms")
delay_steps = _steps(model["synaptic_delay_ms"], dt_ms, "synaptic_delay_ms")
margin_mv = float(config["seed_margin_mv"])
if not np.isfinite(margin_mv) or margin_mv < 0:
raise ValueError("seed_margin_mv must be finite and nonnegative")
if "dt_ms" in model and float(model["dt_ms"]) != dt_ms:
raise ValueError("top-level and model dt_ms disagree")
arrivals = None
if external_arrivals is not None:
arrivals = np.asarray(external_arrivals, dtype=np.float64)
if arrivals.shape != (total_steps, len(nodes)) or not np.isfinite(arrivals).all():
raise ValueError("external_arrivals must be finite with shape (T, N)")
author_path = Path(author_path).resolve(strict=True)
author_bytes = author_path.read_bytes()
author_hash = hashlib.sha256(author_bytes).hexdigest()
if author_hash != AUTHOR_SHA256:
raise ValueError(f"Author source hash mismatch: {author_hash}")
io_dir = Path(io_dir).resolve()
io_dir.mkdir(parents=True, exist_ok=False)
environment = _environment()
_json(io_dir / "environment.json", environment)
if environment["packages"]["brian2"]["actual"] != "2.5.1":
raise RuntimeError("The author oracle requires exactly Brian2 2.5.1")
import brian2 as b2
saved_preferences = {
"codegen.target": b2.prefs["codegen.target"],
"core.default_float_dtype": b2.prefs["core.default_float_dtype"],
"legacy.refractory_timing": b2.prefs["legacy.refractory_timing"],
}
saved_dt = b2.defaultclock.dt
try:
b2.start_scope()
b2.prefs["codegen.target"] = "numpy"
b2.prefs["core.default_float_dtype"] = dtype.type
b2.prefs["legacy.refractory_timing"] = False
b2.defaultclock.dt = dt_ms * b2.ms
# Compile the checked bytes themselves: no source rewrite or __pycache__
# is possible, and a subsequent file change cannot alter imported code.
author = types.ModuleType("phase4ad_pinned_author_" + author_hash[:12])
author.__file__ = str(author_path)
exec(compile(author_bytes, str(author_path), "exec"), author.__dict__)
parameters = dict(author.default_params)
checks = {}
for config_key, author_key, unit in (
("membrane_tau_ms", "t_mbr", b2.ms),
("synaptic_tau_ms", "tau", b2.ms),
("refractory_ms", "t_rfc", b2.ms),
("synaptic_delay_ms", "t_dly", b2.ms),
("resting_potential_mv", "v_0", b2.mV),
("reset_potential_mv", "v_rst", b2.mV),
("threshold_mv", "v_th", b2.mV),
("w_syn_mv_per_anatomical_synapse", "w_syn", b2.mV),
):
expected = float(model[config_key])
actual = float(parameters[author_key] / unit)
if not np.isfinite(expected) or not np.isclose(actual, expected, rtol=0, atol=1e-12):
raise ValueError(f"config {config_key}={expected} differs from author {actual}")
checks[config_key] = {"config": expected, "author": actual}
completeness = pd.DataFrame({"local_index": np.arange(len(nodes), dtype=np.int32)},
index=pd.Index(nodes, name="global_neuron_idx"))
connections = pd.DataFrame({
"Presynaptic_Index": [lookup[int(x)] for x in sources],
"Postsynaptic_Index": [lookup[int(x)] for x in targets],
"Excitatory x Connectivity": multipliers,
"edge_id": edge_ids,
"source_neuron_idx": sources, "target_neuron_idx": targets,
}).astype({"Presynaptic_Index": "int32", "Postsynaptic_Index": "int32"})
comp_path = io_dir / "completeness.csv"
con_path = io_dir / "connectivity.parquet"
completeness.to_csv(comp_path)
connections.to_parquet(con_path, index=False, engine="pyarrow")
neu, syn, spikes = author.create_model(comp_path, con_path, parameters)
if np.dtype(neu.variables["v"].dtype) != dtype or np.dtype(syn.variables["w"].dtype) != dtype:
raise AssertionError("Brian did not allocate the requested floating-point dtype")
np.testing.assert_array_equal(np.asarray(syn.i[:]), connections.Presynaptic_Index)
np.testing.assert_array_equal(np.asarray(syn.j[:]), connections.Postsynaptic_Index)
objects = [neu, syn, spikes]
seed_state = {"requested_global_node": None if seed_node is None else int(seed_node),
"margin_mv": margin_mv, "injections": 0}
if seed_node is not None:
seed_local = lookup[int(seed_node)]
def inject_seed():
if seed_state["injections"] == 0:
if float(b2.defaultclock.t / b2.ms) != 0:
raise AssertionError("Seed injection must occur at tick zero")
neu.v[seed_local] = parameters["v_th"] + margin_mv * b2.mV
applied = float(neu.v[seed_local] / b2.mV)
if margin_mv > 0 and not applied > float(parameters["v_th"] / b2.mV):
raise ValueError("The positive seed margin rounded away in the selected dtype")
seed_state["applied_mv"] = applied
seed_state["injections"] = 1
objects.append(b2.NetworkOperation(inject_seed, clock=neu.clock,
when="before_thresholds", order=0,
name="oracle_seed_injection"))
external_metadata = {"events": 0, "ordering": "after default_synapses.pre"}
if arrivals is not None:
event_ticks, event_targets = np.nonzero(arrivals)
event_values = arrivals[event_ticks, event_targets]
external_metadata["events"] = int(len(event_ticks))
if len(event_ticks):
event_ids = np.arange(len(event_ticks), dtype=np.int32)
external_source = b2.SpikeGeneratorGroup(
len(event_ticks), indices=event_ids,
times=event_ticks.astype(np.float64) * dt_ms * b2.ms,
sorted=True, clock=neu.clock, name="zz_external_sources")
external_syn = b2.Synapses(
external_source, neu, model="w : volt", on_pre="g_post += w",
delay=0 * b2.ms, name="zz_external_arrivals")
external_syn.connect(i=event_ids, j=event_targets)
external_syn.w = event_values * b2.mV
external_syn.pre.order = int(syn.pre.order) + 1
if external_syn.pre.when != syn.pre.when:
raise AssertionError("External and anatomical pathways must share a schedule slot")
objects.extend([external_source, external_syn])
external_metadata["pathway_order"] = int(external_syn.pre.order)
external_metadata["actual_weights_mv"] = np.asarray(external_syn.w[:] / b2.mV, dtype=dtype).tolist()
pd.DataFrame({"tick": event_ticks, "neuron_idx": nodes[event_targets],
"requested_mv": event_values}).to_csv(io_dir / "external-arrivals.csv", index=False)
trace = b2.StateMonitor(neu, ["v", "g", "lastspike", "not_refractory"],
record=True, when="end", name="oracle_end_state")
objects.append(trace)
network = b2.Network(*objects)
_json(io_dir / "run-spec.json", {
"author_sha256": author_hash, "author_commit": AUTHOR_COMMIT,
"precision": precision, "config": config, "parameter_checks": checks,
"dt_ms": dt_ms, "steps": total_steps, "refractory_steps": refractory_steps,
"delay_steps": delay_steps, "nodes": nodes.tolist(), "edge_ids": edge_ids.tolist(),
"seed": seed_state.copy(), "external_arrivals": external_metadata,
"preferences": {"codegen.target": "numpy", "legacy.refractory_timing": False,
"core.default_float_dtype": precision},
"weight_rule": "raw_count multiplied by unchanged author w_syn; no sign inference",
"internal_voltage_unit": "volt", "returned_voltage_unit": "mV",
})
_json(io_dir / "schedule.json", {"schedule": list(network.schedule),
"summary": str(network.scheduling_summary())})
network.run(float(config["duration_ms"]) * b2.ms, namespace={})
_json(io_dir / "generated-code.json", _code_records(network))
ticks_float = np.asarray(spikes.t[:] / b2.ms, dtype=np.float64) / dt_ms
ticks = np.rint(ticks_float).astype(np.int32)
if not np.allclose(ticks_float, ticks, rtol=0, atol=1e-6):
raise AssertionError("Spike timestamps do not lie on the configured integer clock")
event_nodes = nodes[np.asarray(spikes.i[:], dtype=np.int32)]
order = np.lexsort((event_nodes, ticks))
ticks, event_nodes = ticks[order], event_nodes[order]
counts = np.asarray(spikes.count[:], dtype=np.int32).copy()
if int(counts.sum()) != len(ticks):
raise AssertionError("SpikeMonitor counts disagree with event records")
trace_ticks = np.asarray(trace.t[:] / b2.ms, dtype=np.float64) / dt_ms
if trace_ticks.shape != (total_steps,) or not np.allclose(
trace_ticks, np.arange(total_steps), rtol=0, atol=1e-6):
raise AssertionError("End-state trace has the wrong tick range")
voltage = np.asarray(trace.v / b2.mV, dtype=dtype).T.copy()
conductance = np.asarray(trace.g / b2.mV, dtype=dtype).T.copy()
last_spike_ms = np.asarray(trace.lastspike / b2.ms, dtype=np.float64).T
seen = np.isfinite(last_spike_ms) & (last_spike_ms >= 0)
# Brian's never-spiked sentinel can be far outside int32. Convert only
# real nonnegative timestamps, then compute an end-of-tick countdown.
last_ticks = np.zeros(last_spike_ms.shape, dtype=np.int64)
last_ticks[seen] = np.rint(last_spike_ms[seen] / dt_ms).astype(np.int64)
elapsed = np.arange(total_steps, dtype=np.int64)[:, None] - last_ticks
ref = np.where(seen, np.maximum(refractory_steps - elapsed, 0), 0).astype(np.int32)
available = np.asarray(trace.not_refractory, dtype=bool).T
if not np.array_equal(available, ref == 0):
raise AssertionError("Recorded refractory flag disagrees with the integer countdown")
history = np.stack([voltage, conductance, ref.astype(dtype)], axis=1)
if not np.isfinite(history).all():
raise AssertionError("Nonfinite author state")
if seed_node is not None:
seed_state["spiked_at_zero"] = bool(np.any((ticks == 0) & (event_nodes == seed_node)))
if seed_state["injections"] != 1 or (margin_mv > 0 and not seed_state["spiked_at_zero"]):
raise AssertionError("The common initial seed event was not produced exactly once")
_json(io_dir / "seed.json", seed_state)
weights = np.asarray(syn.w[:] / b2.mV, dtype=dtype).copy()
_json(io_dir / "actual-weights.json", {
"edge_id": edge_ids.tolist(), "weights_mv": weights.tolist(),
"weights_volt": np.asarray(syn.w_[:], dtype=np.float64).tolist(),
})
if hashlib.sha256(author_path.read_bytes()).hexdigest() != author_hash:
raise AssertionError("Author source changed during execution")
return {"step": ticks, "neuron_idx": event_nodes, "counts": counts,
"v": voltage[-1].copy(), "g": conductance[-1].copy(),
"ref": ref[-1].copy(), "history": history, "weights": weights}
except Exception as error:
_json(io_dir / "error.json", {"type": type(error).__name__, "message": str(error)})
raise
finally:
for name, value in saved_preferences.items():
b2.prefs[name] = value
b2.defaultclock.dt = saved_dt
@@ -0,0 +1,56 @@
"""Predeclare and verify old inputs before executing any alternative dynamics."""
import ast
from datetime import datetime, timezone
import importlib.metadata
import json
import platform
from pathlib import Path
import shutil
import subprocess
import sys
from context import CFG,ROOT,EXP,MODEL,AC,digest,save,source_hashes
def frozen_integrity():
sys.path.insert(0,str(ROOT/CFG['prior_model']))
import audit_semantics as old
result=old.integrity()
for p in (ROOT/CFG['prior_model'],AC,ROOT/'registry/feedback-context-review-20260930'):
result[str(p.relative_to(ROOT))]=old.manifest_check(p,digest)
assert all(x['pass'] for x in result.values())
return result
def main():
assert (MODEL/'oracle_runner.py').is_file()
assert not (EXP/'protocol').exists(),'Refusing reused experiment protocol'
for d in ('protocol','external-resources','inputs','components','oracle','regression','audit','performance'):(EXP/d).mkdir()
source=AC/'external-resources/model.py'
assert digest(source)=='fc45837d7122c6ce2a7f3f2f23c515992e4b232aadb919efabb72337fac88e4e'
tree=ast.parse(source.read_text())
assert all(isinstance(x,(ast.Import,ast.ImportFrom,ast.Assign,ast.FunctionDef,ast.Expr)) for x in tree.body)
inputs=[source,AC/'external-resources/LICENSE',AC/'external-resources/environment_full.yml',
AC/'audit/selected-real-edges.csv',AC/'audit/selected-metadata.parquet',ROOT/CFG['prior_model']/'math_reference.py']
for name in CFG['motifs']:
inputs.extend([AC/'motifs'/f'{name}-edges.csv',AC/'motifs'/f'{name}-events.parquet',AC/'motifs'/f'{name}-state.npz'])
save(EXP/'protocol/preregistered.json',dict(config=CFG,timestamp_utc=datetime.now(timezone.utc).isoformat(),
source_hashes=source_hashes(),input_hashes=[dict(path=str(p.relative_to(ROOT)),sha256=digest(p),bytes=p.stat().st_size) for p in inputs],
parent_commit=subprocess.check_output(['git','-C',str(ROOT),'rev-parse','HEAD'],text=True).strip(),
pre_model_execution=True))
save(EXP/'regression/old-integrity-before.json',frozen_integrity())
for name in ('model.py','LICENSE','environment_full.yml'):
dst=EXP/'external-resources'/name
with (AC/'external-resources'/name).open('rb') as src,dst.open('xb') as out:shutil.copyfileobj(src,out)
assert digest(dst)==digest(AC/'external-resources'/name)
versions={n:importlib.metadata.version(n) for n in ('numpy','pandas','pyarrow','torch','scipy')}
save(EXP/'environment/frozen-scientific-environment.json',dict(python=sys.version,executable=sys.executable,
platform=platform.platform(),package_versions=versions))
save(EXP/'environment/bootstrap-notes.json',dict(isolated_venv_only=True,existing_environments_modified=False,
initial_install_failure='New venv pip22.0.2 lacks --report; upgraded ONLY new venv pip to author-pinned23.0.1 before installing',
MarkupSafe='Author-pinned1.1.1 used PyPI source distribution and legacy setup.py because no CPython3.10 wheel; other requested core packages used wheels',
author_environment='Windows conda CPython3.10.11',actual_environment='Linux CPython3.10.12; not binary-identical',
package_download_provenance='install-report.json contains HTTPS PyPI archive URLs and SHA256 for packages'))
print('PREPARED: old integrity PASS; independent model hypotheses preregistered',flush=True)
if __name__=='__main__':main()
@@ -0,0 +1,20 @@
# Package versions in the pinned author's environment_full.yml, Linux wheels.
# The host Python patch is recorded separately; this is not the author's Windows binary environment.
brian2==2.5.1
numpy==1.22.3
pandas==1.4.3
scipy==1.8.1
pyarrow==11.0.0
joblib==1.2.0
cython==0.29.33
jinja2==2.11.3
markupsafe==1.1.1
sympy==1.12
mpmath==1.3.0
pyparsing==3.0.9
packaging==23.1
setuptools==67.8.0
python-dateutil==2.8.2
pytz==2023.3
six==1.16.0
wheel==0.38.4
@@ -0,0 +1,158 @@
"""Run fixed component arms and independent author oracle, preserving divergences."""
import importlib.metadata
import json
from pathlib import Path
import platform
import sys
import subprocess
import time
import numpy as np
import pandas as pd
from context import CFG,ROOT,EXP,MODEL,AC,digest,save,check_prereg
from math_lab import component,author_numpy
from oracle_runner import run_brian,PACKAGE_PINS
def save_result(where,result,nodes):
where.mkdir(parents=True,exist_ok=False)
pd.DataFrame(dict(step=result['step'],neuron_idx=result['neuron_idx'])).to_csv(where/'events.csv',index=False)
np.savez_compressed(where/'state.npz',nodes=nodes,**{k:v for k,v in result.items() if k not in ('step','neuron_idx')})
def compare(actual,expected,precision):
event=bool(np.array_equal(actual['step'],expected['step']) and np.array_equal(actual['neuron_idx'],expected['neuron_idx']))
a=np.asarray(actual['history'],np.float64);b=np.asarray(expected['history'],np.float64)
assert a.shape==b.shape
errs=np.abs(a[:,:2]-b[:,:2])
# Describe numerical prefix separately from post-event-divergence trajectories.
first=None
for t in range(len(a)):
aa=actual['neuron_idx'][actual['step']==t];bb=expected['neuron_idx'][expected['step']==t]
if not np.array_equal(aa,bb):first=t;break
prefix=errs[:first] if first is not None else errs
tol=CFG['comparison'][precision+'_state_max_abs_tolerance_mv']
return dict(exact_events=event,exact_counts=bool(np.array_equal(actual['counts'],expected['counts'])),
ref_exact=bool(np.array_equal(a[:,2],b[:,2])),max_abs_mv=float(errs.max()),mean_abs_mv=float(errs.mean()),
same_event_prefix_max_abs_mv=float(prefix.max()) if prefix.size else None,
first_event_divergence_step=first,tolerance_mv=tol,
pass_oracle=bool(event and errs.max()<=tol and np.array_equal(a[:,2],b[:,2])))
def oracle_trial(name,nodes,edges,cfg,precision,seed,external=None):
io=EXP/'oracle'/(name+'-'+precision)
result=run_brian(EXP/'external-resources/model.py',io,nodes,edges,cfg,precision,seed,external)
independent=author_numpy(nodes,edges,cfg,precision,seed,external)
comparison=compare(result,independent,precision)
save(io/'comparison.json',comparison)
save_result(io/'brian-output',result,nodes);save_result(io/'independent-output',independent,nodes)
assert np.isfinite(result['history']).all() and np.isfinite(independent['history']).all()
return result,comparison
def unit_fixtures():
rows=[];nodes=np.array([-1],np.int32)
# Brian2 2.5.1 calls max/min on connect arrays and rejects zero-length arrays.
# An explicitly synthetic zero-weight self-edge is inert, not an anatomical edge.
inert=pd.DataFrame(dict(edge_id=[-1],source_neuron_idx=[-1],target_neuron_idx=[-1],raw_count=[0]),dtype='int64')
for precision in CFG['author_precisions']:
# Synthetic fixture indices are negative and are not MaleCNS body IDs.
c=dict(CFG,duration_ms=20.0)
cases={}
a=np.zeros((200,1));cases['zero']=(a,None,1.0)
a=np.zeros((200,1));a[0,0]=1.;cases['weak_excitation']=(a,None,1.0)
a=np.zeros((200,1));a[0,0]=-1.;cases['inhibition']=(a,None,1.0)
a=np.zeros((200,1));a[[0,21,22,23],0]=.1;cases['refractory_boundary']=(a,-1,1.0)
a=np.zeros((200,1));cases['equal_threshold']=(a,-1,0.0)
a=np.zeros((200,1));cases['above_threshold']=(a,-1,1.0)
a=np.zeros((200,1));a[0,0]=2000.;cases['nonzero_g_reset']=(a,None,1.0)
for name,(arr,seed,margin) in cases.items():
cfg=dict(c,seed_margin_mv=margin)
r,cmp=oracle_trial('unit-'+name,nodes,inert,cfg,precision,seed,arr)
h=r['history'];events=r['step'];checks={}
if name=='zero':checks={'no_events':len(events)==0,'g_zero':bool(np.all(h[:,1]==0)),
'rest_stationary':bool(np.max(np.abs(h[:,0]-CFG['model']['resting_potential_mv']))<1e-3)}
elif name in ('weak_excitation','inhibition'):
checks={'no_events':len(events)==0,'arrival_at_zero':bool(h[0,1,0]>0 if name=='weak_excitation' else h[0,1,0]<0),
'integration_next_step':bool(h[1,0,0]>h[0,0,0] if name=='weak_excitation' else h[1,0,0]<h[0,0,0])}
elif name=='refractory_boundary':checks={'one_seed':np.array_equal(events,[0]),'reject_through_21':bool(np.all(h[:22,1]==0)),
'accept_at_22':bool(h[22,1,0]>0),'release_at_22':bool(h[21,2,0]==1 and h[22,2,0]==0),'reset_g_at_zero':h[0,1,0]==0}
elif name=='equal_threshold':checks={'strict_threshold_no_event':len(events)==0}
elif name=='nonzero_g_reset':checks={'natural_spike_at_1':np.array_equal(events,[1]),
'nonzero_g_before_spike':bool(h[0,1,0]>1999),'zero_g_after_spike':bool(np.all(h[1:,1,0]==0))}
else:checks={'single_seed':np.array_equal(events,[0]),'reset_g':bool(h[0,1,0]==0)}
row=dict(fixture=name,precision=precision,checks={k:bool(v) for k,v in checks.items()},comparison=cmp)
rows.append(row);save(EXP/'regression'/('unit-'+name+'-'+precision+'.json'),row)
print(json.dumps(dict(unit=name,precision=precision,checks=all(checks.values()),oracle=cmp)),flush=True)
delay_nodes=np.array([-2,-1],np.int32)
weak_edge=pd.DataFrame(dict(edge_id=[-1],source_neuron_idx=[-2],target_neuron_idx=[-1],raw_count=[1]),dtype='int64')
r,cmp=oracle_trial('unit-delay_18',delay_nodes,weak_edge,c,precision,-2)
h=r['history'];checks=dict(one_seed=np.array_equal(r['step'],[0]),
zero_before_arrival=bool(np.all(h[:18,1,1]==0)),arrival_at_18=bool(h[18,1,1]>0),
first_voltage_effect_at_19=bool(h[19,0,1]>h[18,0,1]))
row=dict(fixture='delay_18',precision=precision,checks=checks,comparison=cmp)
rows.append(row);save(EXP/'regression'/('unit-delay_18-'+precision+'.json'),row)
save(EXP/'regression/unit-fixtures.json',rows)
# Unit oracle failures prevent real author-motif execution; preserve all failed traces.
assert all(all(r['checks'].values()) and r['comparison']['pass_oracle'] for r in rows),'Author operator unit gate failed'
def main():
check_prereg();assert not (EXP/'audit/run-start.json').exists(),'Refusing overwritten run'
assert all(importlib.metadata.version(n)==v for n,v in PACKAGE_PINS.items()),'Dependency-pin mismatch'
save(EXP/'environment/installed-packages.json',json.loads(subprocess.check_output([sys.executable,'-m','pip','list','--format=json'],text=True)))
save(EXP/'audit/run-start.json',dict(python=sys.version,platform=platform.platform(),
packages={n:importlib.metadata.version(n) for n in ('brian2','numpy','pandas','scipy','pyarrow','sympy','cython')},
codegen='numpy',learning=False,user_authorized_new_model_hypotheses=True))
t0=time.perf_counter();rows=[];validations=[]
for name in CFG['motifs']:
edges=pd.read_csv(AC/'motifs'/f'{name}-edges.csv').sort_values('edge_id')
old=np.load(AC/'motifs'/f'{name}-state.npz');nodes=old['nodes'];seed=None if name=='no_input' else CFG['seed_node']
weights=edges.raw_count.to_numpy(np.float32)*np.float32(CFG['model']['w_syn_mv_per_anatomical_synapse'])
for policy in CFG['component_policies']:
r=component(nodes,edges,weights,CFG,policy,seed)
assert np.isfinite(r['history']).all()
if policy=='frozen':
ev=pd.read_parquet(AC/'motifs'/f'{name}-events.parquet')
eq={k:bool(np.array_equal(old[k],r[k])) for k in old.files if k!='nodes'}
eq['events']=bool(np.array_equal(ev.step,r['step']) and np.array_equal(ev.neuron_idx,r['neuron_idx']))
assert all(eq.values()),eq
validations.append(dict(motif=name,frozen_vs_4AC_exact=eq))
save_result(EXP/'components'/(name+'-'+policy),r,nodes)
late=r['step']>=round(CFG['late_start_ms']/CFG['dt_ms'])
for node in nodes:
select=r['neuron_idx']==node
rows.append(dict(motif=name,policy=policy,precision='float32',neuron_idx=int(node),spikes=int(select.sum()),
late_spikes=int((select&late).sum()),last_ms=float(r['step'][select][-1]*CFG['dt_ms']) if select.any() else None))
pd.DataFrame(rows).to_csv(EXP/'components/summary.csv',index=False)
save(EXP/'regression/frozen-components.json',validations)
unit_fixtures()
from interface_audit import audit_author_poi
audit_author_poi()
ors=[]
for name in CFG['motifs']:
edges=pd.read_csv(AC/'motifs'/f'{name}-edges.csv').sort_values('edge_id')
nodes=np.load(AC/'motifs'/f'{name}-state.npz')['nodes'];seed=None if name=='no_input' else CFG['seed_node'];by_precision={}
for precision in CFG['author_precisions']:
r,cmp=oracle_trial(name,nodes,edges,CFG,precision,seed);by_precision[precision]=r
repeat=run_brian(EXP/'external-resources/model.py',EXP/'oracle'/(name+'-'+precision+'-repeat'),nodes,edges,CFG,precision,seed)
exact_repeat={k:bool(np.array_equal(r[k],repeat[k])) for k in r}
save_result(EXP/'oracle'/(name+'-'+precision+'-repeat')/'brian-output',repeat,nodes)
save(EXP/'regression'/(name+'-'+precision+'-repeat.json'),exact_repeat)
assert all(exact_repeat.values()),exact_repeat
late=r['step']>=round(CFG['late_start_ms']/CFG['dt_ms'])
for node in nodes:
chosen=r['neuron_idx']==node
rows.append(dict(motif=name,policy='author_complete',precision=precision,neuron_idx=int(node),
spikes=int(chosen.sum()),late_spikes=int((chosen&late).sum()),last_ms=float(r['step'][chosen][-1]*CFG['dt_ms']) if chosen.any() else None))
ors.append(dict(motif=name,precision=precision,comparison=cmp))
print(json.dumps(dict(motif=name,precision=precision,events=len(r['step']),late=int(late.sum()),oracle=cmp)),flush=True)
save(EXP/'regression'/(name+'-precision-cross-comparison.json'),compare(by_precision['float32'],by_precision['float64'],'float32'))
pd.DataFrame(rows).to_csv(EXP/'audit/all-motif-results.csv',index=False)
save(EXP/'regression/author-motifs.json',ors)
save(EXP/'performance/summary.json',dict(wall_seconds=time.perf_counter()-t0,backend='CPU NumPy + Brian2',not_runtime_benchmark=True))
save(EXP/'audit/run-complete.json',dict(all_author_oracle_comparisons_pass=all(x['comparison']['pass_oracle'] for x in ors),
all_frozen_components_match_archive=True,learning_achieved=False,whole_brain_alternative_run=False,
author_original_source_sha256=digest(EXP/'external-resources/model.py')))
if __name__=='__main__':main()
@@ -0,0 +1,47 @@
"""Unchanged deterministic-v2 five-trial regression; old outputs are read only."""
import os
import sys
import time
import numpy as np
import pandas as pd
import yaml
from context import ROOT,EXP,CFG,save,check_prereg
def main():
check_prereg()
assert not (EXP/'regression/frozen-five.json').exists()
runtime=ROOT/'models/male-cns-lif/runtime-v2-deterministic-candidate'
# Discover the exact prior-audit runtime path from its immutable config.
prior=yaml.safe_load((ROOT/CFG['prior_model']/'config.yaml').read_text())
runtime=ROOT/prior['runtime'];pc=yaml.safe_load((runtime/'phase4p.yaml').read_text())
sys.path.insert(0,str(ROOT/'models/male-cns-lif/terminal-scope-diagnostic-v1'))
from diagnostic import queues
queues()
os.environ['CUDA_VISIBLE_DEVICES']=pc['device']['visible_gpu_uuid']
os.environ['CUDA_HOME']='/usr/local/cuda';os.environ['MAX_JOBS']='2';os.environ['TORCH_CUDA_ARCH_LIST']='8.9'
os.environ['PATH']=str(ROOT/'models/male-cns-lif/.venv/bin')+':/usr/local/cuda/bin:'+os.environ['PATH']
sys.path.insert(0,str(ROOT/'models/male-cns-lif'));sys.path.insert(0,str(runtime))
import torch,phase4p
free,total=torch.cuda.mem_get_info();assert free>2*1024**3
torch.cuda.reset_peak_memory_stats();t0=time.perf_counter()
rt=phase4p.CanonicalRuntime(pc,runtime,EXP)
rows=[]
for spec in pc['reference_trials']:
queues();base=ROOT/'experiments/phase4p-deterministic-runtime/phase4c-v2/reference'/spec['name']
ev=pd.read_parquet(base/'spike-events.parquet')
expected=dict(step=ev.step.to_numpy(),neuron_idx=ev.neuron_idx.to_numpy(),
counts=np.load(base/'per-neuron-spike-counts.int32.npy'),
v=np.load(base/'final-voltage.float32.npy'),g=np.load(base/'final-g.float32.npy'))
r=rt.run(np.flatnonzero(rt.pops[spec['population']]),spec['rate_hz'],spec['seed'],spec['duration_ms'])
eq={k:bool(np.array_equal(r[k],v)) for k,v in expected.items()}
row=dict(trial=spec['name'],exact=eq,wall_seconds=r['metrics']['wall_seconds'])
rows.append(row);save(EXP/'regression'/('frozen-'+spec['name']+'.json'),row)
print(row,flush=True)
save(EXP/'regression/frozen-five.json',dict(pass_all=all(all(x['exact'].values()) for x in rows),trials=rows,
oracle='frozen deterministic-v2, NOT author Brian2',wall_seconds=time.perf_counter()-t0,
peak_allocated_vram=int(torch.cuda.max_memory_allocated()),gpu=torch.cuda.get_device_name(),comfyui_modified=False))
assert all(all(x['exact'].values()) for x in rows)
if __name__=='__main__':main()
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,71 @@
# Phase 4AD 作者动力学语义实验室
状态:`COMPLETE-ORACLE-VALIDATED-LAB-ONLY`。
本轮仅有预声明的小回路与算子实验;没有整脑替代动力学运行、conditioning、学习成功或新学习候选。
检查以原始事件、状态轨迹和预注册误差界限重算。缺失、失败、非有限值或初始事件丢失均不能通过;放电减少或静默本身不构成成功。
核查通过 58/58 项;失败或不完整 0 项。
冻结历史完整性:通过。
源码与输入预注册一致性:通过。
| 回路 | 语义 | 精度 | 总spikes | late spikes |
|---|---|---|---:|---:|
| pair | frozen | float32 | 473 | 238 |
| pair | reset_g_only | float32 | 223 | 111 |
| pair | refractory_gate_only | float32 | 635 | 321 |
| pair | reset_and_refractory | float32 | 223 | 111 |
| trio | frozen | float32 | 1064 | 535 |
| trio | reset_g_only | float32 | 565 | 283 |
| trio | refractory_gate_only | float32 | 1100 | 552 |
| trio | reset_and_refractory | float32 | 469 | 235 |
| five | frozen | float32 | 1483 | 747 |
| five | reset_g_only | float32 | 868 | 433 |
| five | refractory_gate_only | float32 | 1510 | 763 |
| five | reset_and_refractory | float32 | 634 | 318 |
| feedforward | frozen | float32 | 3 | 0 |
| feedforward | reset_g_only | float32 | 3 | 0 |
| feedforward | refractory_gate_only | float32 | 3 | 0 |
| feedforward | reset_and_refractory | float32 | 3 | 0 |
| no_input | frozen | float32 | 0 | 0 |
| no_input | reset_g_only | float32 | 0 | 0 |
| no_input | refractory_gate_only | float32 | 0 | 0 |
| no_input | reset_and_refractory | float32 | 0 | 0 |
| pair | author_complete | float64 | 213 | 106 |
| pair | author_complete | float32 | 213 | 106 |
| trio | author_complete | float64 | 448 | 224 |
| trio | author_complete | float32 | 448 | 224 |
| five | author_complete | float64 | 610 | 306 |
| five | author_complete | float32 | 610 | 306 |
| feedforward | author_complete | float64 | 3 | 0 |
| feedforward | author_complete | float32 | 3 | 0 |
| no_input | author_complete | float64 | 0 | 0 |
| no_input | author_complete | float32 | 0 | 0 |
作者Brian2与独立NumPy比较:
| 实验 | 结果 | 事件一致 | 最大V/g误差 mV | 首次事件分歧step |
|---|---|---|---:|---:|
| author:pair:float64 | 通过 | True | 7.105427357601002e-14 | None |
| author:pair:float32 | 通过 | True | 2.41696834564209e-05 | None |
| author:trio:float64 | 通过 | True | 8.526512829121202e-14 | None |
| author:trio:float32 | 通过 | True | 4.25875186920166e-05 | None |
| author:five:float64 | 通过 | True | 3.836930773104541e-13 | None |
| author:five:float32 | 通过 | True | 0.0002123713493347168 | None |
| author:feedforward:float64 | 通过 | True | 3.765876499528531e-13 | None |
| author:feedforward:float32 | 通过 | True | 0.00020179152488708496 | None |
| author:no_input:float64 | 通过 | True | 7.105427357601002e-15 | None |
| author:no_input:float32 | 通过 | True | 1.0728836059570312e-06 | None |
float32与float64交叉比较仅记录精度影响,允许保留分歧,不能用于掩盖各自与独立oracle的失败。
- precision_cross_record:pair:事件一致=True,最大误差=3.733467101341148e-05 mV,首次事件分歧step=None。
- precision_cross_record:trio:事件一致=True,最大误差=3.733467101341148e-05 mV,首次事件分歧step=None。
- precision_cross_record:five:事件一致=True,最大误差=0.00019546693161487383 mV,首次事件分歧step=None。
- precision_cross_record:feedforward:事件一致=True,最大误差=0.0005722045887850413 mV,首次事件分歧step=None。
- precision_cross_record:no_input:事件一致=True,最大误差=0.0 mV,首次事件分歧step=None。
所有失败轨迹和错误文件原样保留;本简报没有选择获胜变体。
小回路缺少外部整脑输入与graded APL,不能证明整脑因果必要性、生物真实性或信息保持。初始诊断seed也不是作者的感官Poisson接口。
环境为Linux宿主,作者记录为Windows;Python补丁版本与环境差异见environment记录,不能称为二进制相同或原论文整脑复现。
后续整脑嗅觉比较仍须核查固定输入、实际送达事件、持续活动和信息保持;可用学习仍需至少5个训练seed、独立评估、MBON/downstream的A对中性B特异性及acquisition/reversal/retention/delayed-reward对照。
封存排除 .venv 与 __pycache__,保留环境安装报告;manifest列出payload哈希,checksums另含manifest,不存在自哈希循环。
@@ -0,0 +1,121 @@
motif,policy,precision,neuron_idx,spikes,late_spikes,last_ms
pair,frozen,float32,1381,237,119,999.3000000000001
pair,frozen,float32,1511,236,119,997.5
pair,reset_g_only,float32,1381,112,56,999.0
pair,reset_g_only,float32,1511,111,55,994.9000000000001
pair,refractory_gate_only,float32,1381,318,161,999.1
pair,refractory_gate_only,float32,1511,317,160,997.5
pair,reset_and_refractory,float32,1381,112,56,999.0
pair,reset_and_refractory,float32,1511,111,55,994.9000000000001
trio,frozen,float32,1197,355,179,999.3000000000001
trio,frozen,float32,1381,355,178,997.8000000000001
trio,frozen,float32,1511,354,178,997.4000000000001
trio,reset_g_only,float32,1197,188,94,995.4000000000001
trio,reset_g_only,float32,1381,189,95,998.7
trio,reset_g_only,float32,1511,188,94,996.1
trio,refractory_gate_only,float32,1197,369,185,998.3000000000001
trio,refractory_gate_only,float32,1381,367,184,999.1
trio,refractory_gate_only,float32,1511,364,183,997.2
trio,reset_and_refractory,float32,1197,156,78,995.3000000000001
trio,reset_and_refractory,float32,1381,157,79,999.6
trio,reset_and_refractory,float32,1511,156,78,997.5
five,frozen,float32,1197,370,185,998.8000000000001
five,frozen,float32,1381,369,185,997.4000000000001
five,frozen,float32,1511,367,186,999.5
five,frozen,float32,82312,80,41,990.3000000000001
five,frozen,float32,133666,297,150,999.5
five,reset_g_only,float32,1197,249,125,996.2
five,reset_g_only,float32,1381,211,104,999.2
five,reset_g_only,float32,1511,209,104,996.5
five,reset_g_only,float32,82312,33,17,994.9000000000001
five,reset_g_only,float32,133666,166,83,996.7
five,refractory_gate_only,float32,1197,372,188,998.0
five,refractory_gate_only,float32,1381,375,191,998.6
five,refractory_gate_only,float32,1511,371,187,997.5
five,refractory_gate_only,float32,82312,85,43,991.9000000000001
five,refractory_gate_only,float32,133666,307,154,997.7
five,reset_and_refractory,float32,1197,165,82,995.7
five,reset_and_refractory,float32,1381,166,83,999.8000000000001
five,reset_and_refractory,float32,1511,165,83,997.5
five,reset_and_refractory,float32,82312,15,8,972.7
five,reset_and_refractory,float32,133666,123,62,993.0
feedforward,frozen,float32,1197,1,0,10.0
feedforward,frozen,float32,1381,1,0,0.0
feedforward,frozen,float32,1511,1,0,4.9
feedforward,frozen,float32,82312,0,0,
feedforward,frozen,float32,133666,0,0,
feedforward,reset_g_only,float32,1197,1,0,10.0
feedforward,reset_g_only,float32,1381,1,0,0.0
feedforward,reset_g_only,float32,1511,1,0,4.9
feedforward,reset_g_only,float32,82312,0,0,
feedforward,reset_g_only,float32,133666,0,0,
feedforward,refractory_gate_only,float32,1197,1,0,10.0
feedforward,refractory_gate_only,float32,1381,1,0,0.0
feedforward,refractory_gate_only,float32,1511,1,0,4.9
feedforward,refractory_gate_only,float32,82312,0,0,
feedforward,refractory_gate_only,float32,133666,0,0,
feedforward,reset_and_refractory,float32,1197,1,0,10.0
feedforward,reset_and_refractory,float32,1381,1,0,0.0
feedforward,reset_and_refractory,float32,1511,1,0,4.9
feedforward,reset_and_refractory,float32,82312,0,0,
feedforward,reset_and_refractory,float32,133666,0,0,
no_input,frozen,float32,1197,0,0,
no_input,frozen,float32,1381,0,0,
no_input,frozen,float32,1511,0,0,
no_input,frozen,float32,82312,0,0,
no_input,frozen,float32,133666,0,0,
no_input,reset_g_only,float32,1197,0,0,
no_input,reset_g_only,float32,1381,0,0,
no_input,reset_g_only,float32,1511,0,0,
no_input,reset_g_only,float32,82312,0,0,
no_input,reset_g_only,float32,133666,0,0,
no_input,refractory_gate_only,float32,1197,0,0,
no_input,refractory_gate_only,float32,1381,0,0,
no_input,refractory_gate_only,float32,1511,0,0,
no_input,refractory_gate_only,float32,82312,0,0,
no_input,refractory_gate_only,float32,133666,0,0,
no_input,reset_and_refractory,float32,1197,0,0,
no_input,reset_and_refractory,float32,1381,0,0,
no_input,reset_and_refractory,float32,1511,0,0,
no_input,reset_and_refractory,float32,82312,0,0,
no_input,reset_and_refractory,float32,133666,0,0,
pair,author_complete,float64,1381,107,53,996.4000000000001
pair,author_complete,float64,1511,106,53,992.1
pair,author_complete,float32,1381,107,53,996.4000000000001
pair,author_complete,float32,1511,106,53,992.1
trio,author_complete,float64,1197,149,74,994.8000000000001
trio,author_complete,float64,1381,150,75,999.3000000000001
trio,author_complete,float64,1511,149,75,997.0
trio,author_complete,float32,1197,149,74,994.8000000000001
trio,author_complete,float32,1381,150,75,999.3000000000001
trio,author_complete,float32,1511,149,75,997.0
five,author_complete,float64,1197,159,79,995.2
five,author_complete,float64,1381,160,80,999.5
five,author_complete,float64,1511,159,80,997.4000000000001
five,author_complete,float64,82312,13,7,992.4000000000001
five,author_complete,float64,133666,119,60,996.0
five,author_complete,float32,1197,159,79,995.2
five,author_complete,float32,1381,160,80,999.5
five,author_complete,float32,1511,159,80,997.4000000000001
five,author_complete,float32,82312,13,7,992.4000000000001
five,author_complete,float32,133666,119,60,996.0
feedforward,author_complete,float64,1197,1,0,10.4
feedforward,author_complete,float64,1381,1,0,0.0
feedforward,author_complete,float64,1511,1,0,5.1000000000000005
feedforward,author_complete,float64,82312,0,0,
feedforward,author_complete,float64,133666,0,0,
feedforward,author_complete,float32,1197,1,0,10.4
feedforward,author_complete,float32,1381,1,0,0.0
feedforward,author_complete,float32,1511,1,0,5.1000000000000005
feedforward,author_complete,float32,82312,0,0,
feedforward,author_complete,float32,133666,0,0,
no_input,author_complete,float64,1197,0,0,
no_input,author_complete,float64,1381,0,0,
no_input,author_complete,float64,1511,0,0,
no_input,author_complete,float64,82312,0,0,
no_input,author_complete,float64,133666,0,0,
no_input,author_complete,float32,1197,0,0,
no_input,author_complete,float32,1381,0,0,
no_input,author_complete,float32,1511,0,0,
no_input,author_complete,float32,82312,0,0,
no_input,author_complete,float32,133666,0,0,
1 motif policy precision neuron_idx spikes late_spikes last_ms
2 pair frozen float32 1381 237 119 999.3000000000001
3 pair frozen float32 1511 236 119 997.5
4 pair reset_g_only float32 1381 112 56 999.0
5 pair reset_g_only float32 1511 111 55 994.9000000000001
6 pair refractory_gate_only float32 1381 318 161 999.1
7 pair refractory_gate_only float32 1511 317 160 997.5
8 pair reset_and_refractory float32 1381 112 56 999.0
9 pair reset_and_refractory float32 1511 111 55 994.9000000000001
10 trio frozen float32 1197 355 179 999.3000000000001
11 trio frozen float32 1381 355 178 997.8000000000001
12 trio frozen float32 1511 354 178 997.4000000000001
13 trio reset_g_only float32 1197 188 94 995.4000000000001
14 trio reset_g_only float32 1381 189 95 998.7
15 trio reset_g_only float32 1511 188 94 996.1
16 trio refractory_gate_only float32 1197 369 185 998.3000000000001
17 trio refractory_gate_only float32 1381 367 184 999.1
18 trio refractory_gate_only float32 1511 364 183 997.2
19 trio reset_and_refractory float32 1197 156 78 995.3000000000001
20 trio reset_and_refractory float32 1381 157 79 999.6
21 trio reset_and_refractory float32 1511 156 78 997.5
22 five frozen float32 1197 370 185 998.8000000000001
23 five frozen float32 1381 369 185 997.4000000000001
24 five frozen float32 1511 367 186 999.5
25 five frozen float32 82312 80 41 990.3000000000001
26 five frozen float32 133666 297 150 999.5
27 five reset_g_only float32 1197 249 125 996.2
28 five reset_g_only float32 1381 211 104 999.2
29 five reset_g_only float32 1511 209 104 996.5
30 five reset_g_only float32 82312 33 17 994.9000000000001
31 five reset_g_only float32 133666 166 83 996.7
32 five refractory_gate_only float32 1197 372 188 998.0
33 five refractory_gate_only float32 1381 375 191 998.6
34 five refractory_gate_only float32 1511 371 187 997.5
35 five refractory_gate_only float32 82312 85 43 991.9000000000001
36 five refractory_gate_only float32 133666 307 154 997.7
37 five reset_and_refractory float32 1197 165 82 995.7
38 five reset_and_refractory float32 1381 166 83 999.8000000000001
39 five reset_and_refractory float32 1511 165 83 997.5
40 five reset_and_refractory float32 82312 15 8 972.7
41 five reset_and_refractory float32 133666 123 62 993.0
42 feedforward frozen float32 1197 1 0 10.0
43 feedforward frozen float32 1381 1 0 0.0
44 feedforward frozen float32 1511 1 0 4.9
45 feedforward frozen float32 82312 0 0
46 feedforward frozen float32 133666 0 0
47 feedforward reset_g_only float32 1197 1 0 10.0
48 feedforward reset_g_only float32 1381 1 0 0.0
49 feedforward reset_g_only float32 1511 1 0 4.9
50 feedforward reset_g_only float32 82312 0 0
51 feedforward reset_g_only float32 133666 0 0
52 feedforward refractory_gate_only float32 1197 1 0 10.0
53 feedforward refractory_gate_only float32 1381 1 0 0.0
54 feedforward refractory_gate_only float32 1511 1 0 4.9
55 feedforward refractory_gate_only float32 82312 0 0
56 feedforward refractory_gate_only float32 133666 0 0
57 feedforward reset_and_refractory float32 1197 1 0 10.0
58 feedforward reset_and_refractory float32 1381 1 0 0.0
59 feedforward reset_and_refractory float32 1511 1 0 4.9
60 feedforward reset_and_refractory float32 82312 0 0
61 feedforward reset_and_refractory float32 133666 0 0
62 no_input frozen float32 1197 0 0
63 no_input frozen float32 1381 0 0
64 no_input frozen float32 1511 0 0
65 no_input frozen float32 82312 0 0
66 no_input frozen float32 133666 0 0
67 no_input reset_g_only float32 1197 0 0
68 no_input reset_g_only float32 1381 0 0
69 no_input reset_g_only float32 1511 0 0
70 no_input reset_g_only float32 82312 0 0
71 no_input reset_g_only float32 133666 0 0
72 no_input refractory_gate_only float32 1197 0 0
73 no_input refractory_gate_only float32 1381 0 0
74 no_input refractory_gate_only float32 1511 0 0
75 no_input refractory_gate_only float32 82312 0 0
76 no_input refractory_gate_only float32 133666 0 0
77 no_input reset_and_refractory float32 1197 0 0
78 no_input reset_and_refractory float32 1381 0 0
79 no_input reset_and_refractory float32 1511 0 0
80 no_input reset_and_refractory float32 82312 0 0
81 no_input reset_and_refractory float32 133666 0 0
82 pair author_complete float64 1381 107 53 996.4000000000001
83 pair author_complete float64 1511 106 53 992.1
84 pair author_complete float32 1381 107 53 996.4000000000001
85 pair author_complete float32 1511 106 53 992.1
86 trio author_complete float64 1197 149 74 994.8000000000001
87 trio author_complete float64 1381 150 75 999.3000000000001
88 trio author_complete float64 1511 149 75 997.0
89 trio author_complete float32 1197 149 74 994.8000000000001
90 trio author_complete float32 1381 150 75 999.3000000000001
91 trio author_complete float32 1511 149 75 997.0
92 five author_complete float64 1197 159 79 995.2
93 five author_complete float64 1381 160 80 999.5
94 five author_complete float64 1511 159 80 997.4000000000001
95 five author_complete float64 82312 13 7 992.4000000000001
96 five author_complete float64 133666 119 60 996.0
97 five author_complete float32 1197 159 79 995.2
98 five author_complete float32 1381 160 80 999.5
99 five author_complete float32 1511 159 80 997.4000000000001
100 five author_complete float32 82312 13 7 992.4000000000001
101 five author_complete float32 133666 119 60 996.0
102 feedforward author_complete float64 1197 1 0 10.4
103 feedforward author_complete float64 1381 1 0 0.0
104 feedforward author_complete float64 1511 1 0 5.1000000000000005
105 feedforward author_complete float64 82312 0 0
106 feedforward author_complete float64 133666 0 0
107 feedforward author_complete float32 1197 1 0 10.4
108 feedforward author_complete float32 1381 1 0 0.0
109 feedforward author_complete float32 1511 1 0 5.1000000000000005
110 feedforward author_complete float32 82312 0 0
111 feedforward author_complete float32 133666 0 0
112 no_input author_complete float64 1197 0 0
113 no_input author_complete float64 1381 0 0
114 no_input author_complete float64 1511 0 0
115 no_input author_complete float64 82312 0 0
116 no_input author_complete float64 133666 0 0
117 no_input author_complete float32 1197 0 0
118 no_input author_complete float32 1381 0 0
119 no_input author_complete float32 1511 0 0
120 no_input author_complete float32 82312 0 0
121 no_input author_complete float32 133666 0 0
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,7 @@
{
"timestamp_utc": "2026-09-29T23:18:24.492697+00:00",
"python": "3.10.12 (main, Aug 31 2026, 10:18:17) [GCC 11.4.0]",
"executable": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
"learning": false,
"whole_brain_alternative_run": false
}
@@ -0,0 +1,7 @@
{
"all_author_oracle_comparisons_pass": true,
"all_frozen_components_match_archive": true,
"learning_achieved": false,
"whole_brain_alternative_run": false,
"author_original_source_sha256": "fc45837d7122c6ce2a7f3f2f23c515992e4b232aadb919efabb72337fac88e4e"
}
@@ -0,0 +1,16 @@
{
"python": "3.10.12 (main, Aug 31 2026, 10:18:17) [GCC 11.4.0]",
"platform": "Linux-5.15.0-194-generic-x86_64-with-glibc2.35",
"packages": {
"brian2": "2.5.1",
"numpy": "1.22.3",
"pandas": "1.4.3",
"scipy": "1.8.1",
"pyarrow": "11.0.0",
"sympy": "1.12",
"cython": "0.29.33"
},
"codegen": "numpy",
"learning": false,
"user_authorized_new_model_hypotheses": true
}
@@ -0,0 +1,566 @@
98eeae824607e83d0b35483a7d5ac586aebe68044e2457188040086e62e78b42 REPORT.md
0b653f7362ec7b506766e78b78efaa82914df201844cdc71f6d70556d46204b5 audit/all-motif-results.csv
2037a37dcf74e28831676ca1583d07272dd2546540a95096db6623f2eafe1a87 audit/final-summary.json
b4fbf4a99a33b67af1329609591f7b553e41e99d760a0cf0e6f04fd1b3b33454 audit/finalize-start.json
3d5333dede7b368a94de91e206cd35cdf7e89614ac528fb00126178386a2d8b7 audit/run-complete.json
9480e2e1c299aeb6b6136eb7c1fdb0a733da5eadce3e32d674c3f89c1abd50c1 audit/run-start.json
7535cfeec9d160eb597a2a09930cd8d1a55a7c0f561f1b5907f68eb53e1453dd components/feedforward-frozen/events.csv
6a24c8d2ad476e2250af49172be12de9d43346bc84f043b19d012fa0c53d2fba components/feedforward-frozen/state.npz
7535cfeec9d160eb597a2a09930cd8d1a55a7c0f561f1b5907f68eb53e1453dd components/feedforward-refractory_gate_only/events.csv
7b9f9d9c4da0a6019c89da75365c995d641bd6f1ffd4741befcb28fa1ae5c8b2 components/feedforward-refractory_gate_only/state.npz
7535cfeec9d160eb597a2a09930cd8d1a55a7c0f561f1b5907f68eb53e1453dd components/feedforward-reset_and_refractory/events.csv
62b256fe806d17a345168593466f31410cc318099a812102cd38bd78735b9427 components/feedforward-reset_and_refractory/state.npz
7535cfeec9d160eb597a2a09930cd8d1a55a7c0f561f1b5907f68eb53e1453dd components/feedforward-reset_g_only/events.csv
62b256fe806d17a345168593466f31410cc318099a812102cd38bd78735b9427 components/feedforward-reset_g_only/state.npz
5cf5375573658738a15ef51adc56f283c212e00b20668c3015b8f7542a483240 components/five-frozen/events.csv
15095ada05014741f6b6576c2d12d1a8f1ae482ae6f012d5e2be346c796baf4b components/five-frozen/state.npz
e31b6aa017bdd4bef6725aedb6c1ac40bd9f52e4e59d5fe1a1e11b31ef6825dd components/five-refractory_gate_only/events.csv
949ba5fdae4b3bb3a3d86a9cadc2967ff313272668b00af6cf5734c6fb0eff67 components/five-refractory_gate_only/state.npz
5e9104d52c7573c6a22fbe823d500f53e86d41f04e929f177e92f0eebc1c1e46 components/five-reset_and_refractory/events.csv
8c123230afb9a7a648dc2e5f726c03f4efd1adbe4dfa10409a668496ba2e4c92 components/five-reset_and_refractory/state.npz
dfc35561b3c565297e5cf0c88db7438cf5787dac0f0c0cda21d17c2423d99233 components/five-reset_g_only/events.csv
41da696d2f01e833d6c9f8450f34f45e54c85cf47ef778414c1a3dd4db2d5ddd components/five-reset_g_only/state.npz
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 components/no_input-frozen/events.csv
a74134da72381d0dbff10bb5143691add6081487dede488a939bb0a4dbf5c20e components/no_input-frozen/state.npz
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 components/no_input-refractory_gate_only/events.csv
a74134da72381d0dbff10bb5143691add6081487dede488a939bb0a4dbf5c20e components/no_input-refractory_gate_only/state.npz
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 components/no_input-reset_and_refractory/events.csv
a74134da72381d0dbff10bb5143691add6081487dede488a939bb0a4dbf5c20e components/no_input-reset_and_refractory/state.npz
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 components/no_input-reset_g_only/events.csv
a74134da72381d0dbff10bb5143691add6081487dede488a939bb0a4dbf5c20e components/no_input-reset_g_only/state.npz
85269a9465c20d11da108514d8541d8be7c2e105915bbb312205af4cb79b6b4c components/pair-frozen/events.csv
924774344956dd5a530c3d00c8103fe4d1b584837d5e91f05b60094540a78897 components/pair-frozen/state.npz
227d89de52ad6a1cf890a194bd5f560865eb551332ad85947532841fa37e13d3 components/pair-refractory_gate_only/events.csv
16a00fbdb18bf782c511df1cc3cce617ea1fada9f713b647c604f4a5861c8876 components/pair-refractory_gate_only/state.npz
9d9a0ccc139e8edef78fb6e34d1f2de2514a6b3f8902454356afbc8cd6f5fdc8 components/pair-reset_and_refractory/events.csv
f195ee84569db48e70924a805caa11f72bdab2065401d5b50c5adff5896564dc components/pair-reset_and_refractory/state.npz
9d9a0ccc139e8edef78fb6e34d1f2de2514a6b3f8902454356afbc8cd6f5fdc8 components/pair-reset_g_only/events.csv
f195ee84569db48e70924a805caa11f72bdab2065401d5b50c5adff5896564dc components/pair-reset_g_only/state.npz
b20d807010ac88a7bef7165196c58715bfb94aa852db9f62bd4bf07e2760d52f components/summary.csv
4ea00ec307cf37524126d5e91c5916cb393b3eebd3b76fdb1aad8619de131c02 components/trio-frozen/events.csv
46c8a495ee1358a6173a2eebebe9ce2d6481b27f10e0c56cf9602c7969cd8702 components/trio-frozen/state.npz
3784ade444b9d85739c3e795b20b40ac5c16b294caa4d1a59be13388e31b8332 components/trio-refractory_gate_only/events.csv
2278ec172f905f6e6beef62beda868b2171bae07f60b5a1c270693aa5357028c components/trio-refractory_gate_only/state.npz
50a9639d41cfdb8a2e53c132276223656118b80ececaaa18d1a0951cb4147e58 components/trio-reset_and_refractory/events.csv
754164fa014a08999f56d6ea73830bf6fe92600b9e99b8c9d497ec935b9fd2ed components/trio-reset_and_refractory/state.npz
f55c81f358a41a9bad9836d2a2de4964072b914d6d9cef32f225eadf941a94b7 components/trio-reset_g_only/events.csv
a646d329fc8526d59f836fd0c51e970b65866c85b3e167c68bcce87e16e128e4 components/trio-reset_g_only/state.npz
aa7d319154306833890ca93542252f78996e96b080e55a9337d7f2da222a7445 environment/bootstrap-notes.json
5acd7aa5a1825e5c053e9f4166f58cd9ec04129ed88f00afcdab2aa6ca204ca5 environment/frozen-scientific-environment.json
e2e9301ade63e6ca44635f5b28271a4368b8e2393b1bd935e57e173f685c6f9c environment/install-report.json
0175910c6265813bfd8cf7e2dcaed5a7decabb85072894a04b2c642a222ac298 environment/installed-packages.json
3621f6d6476189190e2960fa43f11b275ba4eca848fdac50a1ba2925de6223e8 external-resources/LICENSE
402fcef4968c99397b0e908b3323ab9e6ef86af5583e46e6427f96f3d1091adf external-resources/environment_full.yml
fc45837d7122c6ce2a7f3f2f23c515992e4b232aadb919efabb72337fac88e4e external-resources/model.py
6d915bc355cb804bce5146e1e9b8b68d7e94703024a718baaba54239f131b266 gpu-reference/extension-build/.ninja_deps
cf068429fad6783a4f8fd56e8280f76f870abebc0bc4d3796df2895e75e50c3c gpu-reference/extension-build/.ninja_log
c570f72b9a2f486e104ed3bf5b1b9f2ccc729ecab02046cd62389d629fb4f48f gpu-reference/extension-build/build.ninja
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gpu-reference/extension-build/lock
57f59f634cc8e3b03f4674a3ddb11ec933ab124feb0b9fa89d08fe26e60fcb7e gpu-reference/extension-build/male_cns_lif_deterministic_v2_ext.so
38680c6d618e1d4f26cf361a018de024ba148cf2c90bbfdde65fb8167643f5ba gpu-reference/extension-build/phase4p_ext.cuda.o
27d284f6a369221a931251b5a03ce133cc8231a97942567d4efafbfb45483811 gpu-reference/extension-build/phase4p_ext.o
ca5c82cc34d586d84bb93f4ebdbfba0d1d91578a61d79c271225a44cd5b76376 gpu-reference/extension.json
fce02b56f14b171ff3e5e38de15c700a6281d405a9802b859065f04292c61d2c oracle/feedforward-float32/actual-weights.json
953b4c2f26e2846de67b40b22a19c2f59b29ff6fb56339925a01f110c6c1705e oracle/feedforward-float32/brian-output/events.csv
e1f07d0a74694edf97b75da62c8fc35371cd65c85828f90c418385498eccab7a oracle/feedforward-float32/brian-output/state.npz
f29dddd95d78ae0906b6902d6acd82454ca0cc3d652374728f5b8125849b23a5 oracle/feedforward-float32/comparison.json
301ae4572c658aa307fc998e009377e9c82467d97d66aa1ac4b3f518385ec5a5 oracle/feedforward-float32/completeness.csv
627406997fa994afffa6c4df18cc584c43f4161b389a6669c2ceb64e5ae9dcd1 oracle/feedforward-float32/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/feedforward-float32/environment.json
c65430d57ed21024c267316d854123ccc14cde79f7acb9ba9c34b1ce4e20665f oracle/feedforward-float32/generated-code.json
953b4c2f26e2846de67b40b22a19c2f59b29ff6fb56339925a01f110c6c1705e oracle/feedforward-float32/independent-output/events.csv
1a6f4be5a8418a74ea559bf96e587795c41fe987e147d49c28ac5759633e6c70 oracle/feedforward-float32/independent-output/state.npz
7528f0de24d434d08024d011adae364ac60e0211e2d0b176d655bd015c22e0c8 oracle/feedforward-float32/run-spec.json
d3183a588eff0f4824dd5680af6401e35370fa7e74268ae0700ba5522e6d278d oracle/feedforward-float32/schedule.json
335b295513fed2a617775adf590894234644c8bdf7268851434737d94e146208 oracle/feedforward-float32/seed.json
fce02b56f14b171ff3e5e38de15c700a6281d405a9802b859065f04292c61d2c oracle/feedforward-float32-repeat/actual-weights.json
953b4c2f26e2846de67b40b22a19c2f59b29ff6fb56339925a01f110c6c1705e oracle/feedforward-float32-repeat/brian-output/events.csv
e1f07d0a74694edf97b75da62c8fc35371cd65c85828f90c418385498eccab7a oracle/feedforward-float32-repeat/brian-output/state.npz
301ae4572c658aa307fc998e009377e9c82467d97d66aa1ac4b3f518385ec5a5 oracle/feedforward-float32-repeat/completeness.csv
627406997fa994afffa6c4df18cc584c43f4161b389a6669c2ceb64e5ae9dcd1 oracle/feedforward-float32-repeat/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/feedforward-float32-repeat/environment.json
77e30078f96559ccfddb3b75bd3aaf3c76a137c0c045aa986c0348518ed1ac9f oracle/feedforward-float32-repeat/generated-code.json
7528f0de24d434d08024d011adae364ac60e0211e2d0b176d655bd015c22e0c8 oracle/feedforward-float32-repeat/run-spec.json
d3183a588eff0f4824dd5680af6401e35370fa7e74268ae0700ba5522e6d278d oracle/feedforward-float32-repeat/schedule.json
335b295513fed2a617775adf590894234644c8bdf7268851434737d94e146208 oracle/feedforward-float32-repeat/seed.json
5ae7652487b5fb80bb88586fe94344d8bc83ec046189e9385338d0bfd2323457 oracle/feedforward-float64/actual-weights.json
953b4c2f26e2846de67b40b22a19c2f59b29ff6fb56339925a01f110c6c1705e oracle/feedforward-float64/brian-output/events.csv
968e7990aa8a734a63ee61fef198ad6ae8372f6c676722c67e52c3708a428f71 oracle/feedforward-float64/brian-output/state.npz
317ab6c723ce928c1f019b85a833134400254991e49a9845a8f051b854963020 oracle/feedforward-float64/comparison.json
301ae4572c658aa307fc998e009377e9c82467d97d66aa1ac4b3f518385ec5a5 oracle/feedforward-float64/completeness.csv
627406997fa994afffa6c4df18cc584c43f4161b389a6669c2ceb64e5ae9dcd1 oracle/feedforward-float64/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/feedforward-float64/environment.json
b8fcc2d1cb77b83b28fdbf6af1097556fdae8cc73508a5f1c6a58efa3ed4573c oracle/feedforward-float64/generated-code.json
953b4c2f26e2846de67b40b22a19c2f59b29ff6fb56339925a01f110c6c1705e oracle/feedforward-float64/independent-output/events.csv
2e3c2dd8d569277706a471f8a7b0bee8af4d58f7c728b85df38addae526bcaa5 oracle/feedforward-float64/independent-output/state.npz
f374b342910fab0110369cb5b9b2daf53e40e4c50b881a027fcafb5a5d00d532 oracle/feedforward-float64/run-spec.json
d3183a588eff0f4824dd5680af6401e35370fa7e74268ae0700ba5522e6d278d oracle/feedforward-float64/schedule.json
ea838909a3dcfabd586cf4181eb6788ed791472fc5f64556fc5e88004906d242 oracle/feedforward-float64/seed.json
5ae7652487b5fb80bb88586fe94344d8bc83ec046189e9385338d0bfd2323457 oracle/feedforward-float64-repeat/actual-weights.json
953b4c2f26e2846de67b40b22a19c2f59b29ff6fb56339925a01f110c6c1705e oracle/feedforward-float64-repeat/brian-output/events.csv
968e7990aa8a734a63ee61fef198ad6ae8372f6c676722c67e52c3708a428f71 oracle/feedforward-float64-repeat/brian-output/state.npz
301ae4572c658aa307fc998e009377e9c82467d97d66aa1ac4b3f518385ec5a5 oracle/feedforward-float64-repeat/completeness.csv
627406997fa994afffa6c4df18cc584c43f4161b389a6669c2ceb64e5ae9dcd1 oracle/feedforward-float64-repeat/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/feedforward-float64-repeat/environment.json
f7e9a9b47c364eb2ffe7691be257c6b06aa3f80f1f3eb4658e75b54636278efd oracle/feedforward-float64-repeat/generated-code.json
f374b342910fab0110369cb5b9b2daf53e40e4c50b881a027fcafb5a5d00d532 oracle/feedforward-float64-repeat/run-spec.json
d3183a588eff0f4824dd5680af6401e35370fa7e74268ae0700ba5522e6d278d oracle/feedforward-float64-repeat/schedule.json
ea838909a3dcfabd586cf4181eb6788ed791472fc5f64556fc5e88004906d242 oracle/feedforward-float64-repeat/seed.json
87c7305d5b8ffcd9f117485921900ace6ad76e9629e44bd5fde5d0fcad9ff4da oracle/five-float32/actual-weights.json
80b2ac9efc7aa1db0ed7e8922f8e9d464c4a2417248be1435454316c47f00ee2 oracle/five-float32/brian-output/events.csv
55580de4130341e93379ebd2ea8065dfa9b86a1d64df6010f3908457c5f98818 oracle/five-float32/brian-output/state.npz
a66d6a4fbcc48be5208800e6b6ad0fa69c1604b242821bb74e562c77a5e67d3f oracle/five-float32/comparison.json
301ae4572c658aa307fc998e009377e9c82467d97d66aa1ac4b3f518385ec5a5 oracle/five-float32/completeness.csv
43ea5a3c6c53315e9265863a6f05b3e6d8e9b9f299aef665e8bbe9c46f9eb2ce oracle/five-float32/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/five-float32/environment.json
b80159b10b6e2822bdb83230d2a6f56213836992d15e3facd3c9f10789a9aaf6 oracle/five-float32/generated-code.json
80b2ac9efc7aa1db0ed7e8922f8e9d464c4a2417248be1435454316c47f00ee2 oracle/five-float32/independent-output/events.csv
027def19ce4441508a7736ee1185469c6714c8eb3cb1e2b37e189da7c6bec597 oracle/five-float32/independent-output/state.npz
303346fc360a675c71c0598e3a99bf5a6a6f5bc2aafbe4889668333c4183357c oracle/five-float32/run-spec.json
d3183a588eff0f4824dd5680af6401e35370fa7e74268ae0700ba5522e6d278d oracle/five-float32/schedule.json
335b295513fed2a617775adf590894234644c8bdf7268851434737d94e146208 oracle/five-float32/seed.json
87c7305d5b8ffcd9f117485921900ace6ad76e9629e44bd5fde5d0fcad9ff4da oracle/five-float32-repeat/actual-weights.json
80b2ac9efc7aa1db0ed7e8922f8e9d464c4a2417248be1435454316c47f00ee2 oracle/five-float32-repeat/brian-output/events.csv
55580de4130341e93379ebd2ea8065dfa9b86a1d64df6010f3908457c5f98818 oracle/five-float32-repeat/brian-output/state.npz
301ae4572c658aa307fc998e009377e9c82467d97d66aa1ac4b3f518385ec5a5 oracle/five-float32-repeat/completeness.csv
43ea5a3c6c53315e9265863a6f05b3e6d8e9b9f299aef665e8bbe9c46f9eb2ce oracle/five-float32-repeat/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/five-float32-repeat/environment.json
b3e1a32ea67bcbb51205dbdb80c88d127e42328b965102c695820877b9857e43 oracle/five-float32-repeat/generated-code.json
303346fc360a675c71c0598e3a99bf5a6a6f5bc2aafbe4889668333c4183357c oracle/five-float32-repeat/run-spec.json
d3183a588eff0f4824dd5680af6401e35370fa7e74268ae0700ba5522e6d278d oracle/five-float32-repeat/schedule.json
335b295513fed2a617775adf590894234644c8bdf7268851434737d94e146208 oracle/five-float32-repeat/seed.json
7cf304b269ed2c25edb9040b91c2ed10d1f335b6be59b819f5f23ede2ae6757c oracle/five-float64/actual-weights.json
80b2ac9efc7aa1db0ed7e8922f8e9d464c4a2417248be1435454316c47f00ee2 oracle/five-float64/brian-output/events.csv
a59c994e53f70fb895b1009b9b074e32aa0aa51b9419848e96e54aa71cdd046d oracle/five-float64/brian-output/state.npz
b6b9e1736743bb4f282ecd354e83e027f506ee4583e7cb7c070b9ba60d99253a oracle/five-float64/comparison.json
301ae4572c658aa307fc998e009377e9c82467d97d66aa1ac4b3f518385ec5a5 oracle/five-float64/completeness.csv
43ea5a3c6c53315e9265863a6f05b3e6d8e9b9f299aef665e8bbe9c46f9eb2ce oracle/five-float64/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/five-float64/environment.json
fc6c228a1f24c65b5172799dfaa2568cdb615db639226022e10cced292099fe2 oracle/five-float64/generated-code.json
80b2ac9efc7aa1db0ed7e8922f8e9d464c4a2417248be1435454316c47f00ee2 oracle/five-float64/independent-output/events.csv
938e04a8a4594297405f5f2bd28b4bd3f7c7bdb45172c4000c239bf867e95d6e oracle/five-float64/independent-output/state.npz
101e0cf3fb3fb2ce75e8f0cb6526285f66026317a5e550716363c1d1ff928265 oracle/five-float64/run-spec.json
d3183a588eff0f4824dd5680af6401e35370fa7e74268ae0700ba5522e6d278d oracle/five-float64/schedule.json
ea838909a3dcfabd586cf4181eb6788ed791472fc5f64556fc5e88004906d242 oracle/five-float64/seed.json
7cf304b269ed2c25edb9040b91c2ed10d1f335b6be59b819f5f23ede2ae6757c oracle/five-float64-repeat/actual-weights.json
80b2ac9efc7aa1db0ed7e8922f8e9d464c4a2417248be1435454316c47f00ee2 oracle/five-float64-repeat/brian-output/events.csv
a59c994e53f70fb895b1009b9b074e32aa0aa51b9419848e96e54aa71cdd046d oracle/five-float64-repeat/brian-output/state.npz
301ae4572c658aa307fc998e009377e9c82467d97d66aa1ac4b3f518385ec5a5 oracle/five-float64-repeat/completeness.csv
43ea5a3c6c53315e9265863a6f05b3e6d8e9b9f299aef665e8bbe9c46f9eb2ce oracle/five-float64-repeat/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/five-float64-repeat/environment.json
a0f43549be169ed0ab0b8193779e79f45b140a43ca19e73062d3617ab98e6abb oracle/five-float64-repeat/generated-code.json
101e0cf3fb3fb2ce75e8f0cb6526285f66026317a5e550716363c1d1ff928265 oracle/five-float64-repeat/run-spec.json
d3183a588eff0f4824dd5680af6401e35370fa7e74268ae0700ba5522e6d278d oracle/five-float64-repeat/schedule.json
ea838909a3dcfabd586cf4181eb6788ed791472fc5f64556fc5e88004906d242 oracle/five-float64-repeat/seed.json
87c7305d5b8ffcd9f117485921900ace6ad76e9629e44bd5fde5d0fcad9ff4da oracle/no_input-float32/actual-weights.json
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 oracle/no_input-float32/brian-output/events.csv
14c95cbc13ff15e775adb758dc57b7cf0658def99dc554facff8f4f4030c3630 oracle/no_input-float32/brian-output/state.npz
e7ac75d3c7853ec3526b7dc1bdd7f94ccba58b4392c2a704ac4bc25b34130ce5 oracle/no_input-float32/comparison.json
301ae4572c658aa307fc998e009377e9c82467d97d66aa1ac4b3f518385ec5a5 oracle/no_input-float32/completeness.csv
43ea5a3c6c53315e9265863a6f05b3e6d8e9b9f299aef665e8bbe9c46f9eb2ce oracle/no_input-float32/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/no_input-float32/environment.json
51391a395fd7e4608f1b17621601e3ffbe251a18f719623e5d5267ffd070deab oracle/no_input-float32/generated-code.json
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 oracle/no_input-float32/independent-output/events.csv
59f38c3dea1c88fcc492614dffc36cdc8771b6cb1904d82e2834262026808a15 oracle/no_input-float32/independent-output/state.npz
c23e196bc4701ec1c085fe9d6eb81167bfa3300181de8390bc6d6be22374e5d9 oracle/no_input-float32/run-spec.json
a0ae45ec1bd5e9ad66296742ebb857263b1bde14ca260bbba260b570d359dcd5 oracle/no_input-float32/schedule.json
77d0534413e66efb896580996b934bc368c90e1fa65d19c0dd6e5e36d8eda830 oracle/no_input-float32/seed.json
87c7305d5b8ffcd9f117485921900ace6ad76e9629e44bd5fde5d0fcad9ff4da oracle/no_input-float32-repeat/actual-weights.json
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 oracle/no_input-float32-repeat/brian-output/events.csv
14c95cbc13ff15e775adb758dc57b7cf0658def99dc554facff8f4f4030c3630 oracle/no_input-float32-repeat/brian-output/state.npz
301ae4572c658aa307fc998e009377e9c82467d97d66aa1ac4b3f518385ec5a5 oracle/no_input-float32-repeat/completeness.csv
43ea5a3c6c53315e9265863a6f05b3e6d8e9b9f299aef665e8bbe9c46f9eb2ce oracle/no_input-float32-repeat/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/no_input-float32-repeat/environment.json
bee4c08cf69cb20302b0a4dea5ea76fe44bc6ae32ac869cd4c415a8719efb6b3 oracle/no_input-float32-repeat/generated-code.json
c23e196bc4701ec1c085fe9d6eb81167bfa3300181de8390bc6d6be22374e5d9 oracle/no_input-float32-repeat/run-spec.json
a0ae45ec1bd5e9ad66296742ebb857263b1bde14ca260bbba260b570d359dcd5 oracle/no_input-float32-repeat/schedule.json
77d0534413e66efb896580996b934bc368c90e1fa65d19c0dd6e5e36d8eda830 oracle/no_input-float32-repeat/seed.json
7cf304b269ed2c25edb9040b91c2ed10d1f335b6be59b819f5f23ede2ae6757c oracle/no_input-float64/actual-weights.json
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 oracle/no_input-float64/brian-output/events.csv
e9ca16e82b3fa11b6ce38f258d15a3c5d2666c4b8ac2c05e481ae2c6462666c1 oracle/no_input-float64/brian-output/state.npz
34382539f3576746462c29b584d5c3efbcc827f434e5c55d399c58e0fe5212f7 oracle/no_input-float64/comparison.json
301ae4572c658aa307fc998e009377e9c82467d97d66aa1ac4b3f518385ec5a5 oracle/no_input-float64/completeness.csv
43ea5a3c6c53315e9265863a6f05b3e6d8e9b9f299aef665e8bbe9c46f9eb2ce oracle/no_input-float64/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/no_input-float64/environment.json
70ea4ff3fd649f4303c189e58980b7c0aa628694c3cedfcb37aa2ccae1d6c079 oracle/no_input-float64/generated-code.json
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 oracle/no_input-float64/independent-output/events.csv
27070591642beb87f800b700c4b6fe7ea474a2e5a9b1b3ed82cd6de0e854d501 oracle/no_input-float64/independent-output/state.npz
9de22a53132abac0de19554f76a0737cb81b62bea257813962b75dbd633b8978 oracle/no_input-float64/run-spec.json
a0ae45ec1bd5e9ad66296742ebb857263b1bde14ca260bbba260b570d359dcd5 oracle/no_input-float64/schedule.json
77d0534413e66efb896580996b934bc368c90e1fa65d19c0dd6e5e36d8eda830 oracle/no_input-float64/seed.json
7cf304b269ed2c25edb9040b91c2ed10d1f335b6be59b819f5f23ede2ae6757c oracle/no_input-float64-repeat/actual-weights.json
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 oracle/no_input-float64-repeat/brian-output/events.csv
e9ca16e82b3fa11b6ce38f258d15a3c5d2666c4b8ac2c05e481ae2c6462666c1 oracle/no_input-float64-repeat/brian-output/state.npz
301ae4572c658aa307fc998e009377e9c82467d97d66aa1ac4b3f518385ec5a5 oracle/no_input-float64-repeat/completeness.csv
43ea5a3c6c53315e9265863a6f05b3e6d8e9b9f299aef665e8bbe9c46f9eb2ce oracle/no_input-float64-repeat/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/no_input-float64-repeat/environment.json
3db565a7f030aafed20764a918587a86fab4ba509c223e58027bc2e12b5bb8a5 oracle/no_input-float64-repeat/generated-code.json
9de22a53132abac0de19554f76a0737cb81b62bea257813962b75dbd633b8978 oracle/no_input-float64-repeat/run-spec.json
a0ae45ec1bd5e9ad66296742ebb857263b1bde14ca260bbba260b570d359dcd5 oracle/no_input-float64-repeat/schedule.json
77d0534413e66efb896580996b934bc368c90e1fa65d19c0dd6e5e36d8eda830 oracle/no_input-float64-repeat/seed.json
3056ff61f015cfa9572b32d18aeebf0e79a877c6c37a1b429c90e385bba08d07 oracle/pair-float32/actual-weights.json
0c40dff2cecdd85cb64a03156c3ca7b538ba2046756844ab84b26db830d0e7bd oracle/pair-float32/brian-output/events.csv
e559d89af8d1ca4774fa5f53446381a4b9b55d88e52ea3b3baaaf68d2de3fce7 oracle/pair-float32/brian-output/state.npz
3e53a79835ecc9e5306577e20a7952a36844407750be7455d2ccd53a49823ee5 oracle/pair-float32/comparison.json
5af02939034e66e7a8e7c361555203906d69bbba0042b1ab549041db1626f02b oracle/pair-float32/completeness.csv
1072f50d478d1890de7602c48f6a7f1b89e11a665a173e7a705a5fab3b3f8771 oracle/pair-float32/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/pair-float32/environment.json
8c1278d8e1e4b028900e0353f7f9800300dad618be28e028714c7c1889a64099 oracle/pair-float32/generated-code.json
0c40dff2cecdd85cb64a03156c3ca7b538ba2046756844ab84b26db830d0e7bd oracle/pair-float32/independent-output/events.csv
fcaee342515e8a92a46ee1df7b63a83f38fa950a77bc12d173930f91136dbcba oracle/pair-float32/independent-output/state.npz
be400c1c9248322775cb9bb2c23a8ab4b4bb536f220c955806f194718191b6de oracle/pair-float32/run-spec.json
d3183a588eff0f4824dd5680af6401e35370fa7e74268ae0700ba5522e6d278d oracle/pair-float32/schedule.json
335b295513fed2a617775adf590894234644c8bdf7268851434737d94e146208 oracle/pair-float32/seed.json
3056ff61f015cfa9572b32d18aeebf0e79a877c6c37a1b429c90e385bba08d07 oracle/pair-float32-repeat/actual-weights.json
0c40dff2cecdd85cb64a03156c3ca7b538ba2046756844ab84b26db830d0e7bd oracle/pair-float32-repeat/brian-output/events.csv
e559d89af8d1ca4774fa5f53446381a4b9b55d88e52ea3b3baaaf68d2de3fce7 oracle/pair-float32-repeat/brian-output/state.npz
5af02939034e66e7a8e7c361555203906d69bbba0042b1ab549041db1626f02b oracle/pair-float32-repeat/completeness.csv
1072f50d478d1890de7602c48f6a7f1b89e11a665a173e7a705a5fab3b3f8771 oracle/pair-float32-repeat/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/pair-float32-repeat/environment.json
110a0b1d596da82dfad41024ac1b00ab636b0e5e927a7108782af257b21ae3c2 oracle/pair-float32-repeat/generated-code.json
be400c1c9248322775cb9bb2c23a8ab4b4bb536f220c955806f194718191b6de oracle/pair-float32-repeat/run-spec.json
d3183a588eff0f4824dd5680af6401e35370fa7e74268ae0700ba5522e6d278d oracle/pair-float32-repeat/schedule.json
335b295513fed2a617775adf590894234644c8bdf7268851434737d94e146208 oracle/pair-float32-repeat/seed.json
8a3f9d74c53e9cf8eb01c82be313c29b5f82efe15e2a23aba463f6de3a36a791 oracle/pair-float64/actual-weights.json
0c40dff2cecdd85cb64a03156c3ca7b538ba2046756844ab84b26db830d0e7bd oracle/pair-float64/brian-output/events.csv
df0486fc1a7865b85d88dfcb41170233dac2063af28246b6c5043903a4a817ca oracle/pair-float64/brian-output/state.npz
15a03555e6cd6f5df21587c3ce23a75c7ec6a112bc20153e53a8286a1801060e oracle/pair-float64/comparison.json
5af02939034e66e7a8e7c361555203906d69bbba0042b1ab549041db1626f02b oracle/pair-float64/completeness.csv
1072f50d478d1890de7602c48f6a7f1b89e11a665a173e7a705a5fab3b3f8771 oracle/pair-float64/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/pair-float64/environment.json
8c1278d8e1e4b028900e0353f7f9800300dad618be28e028714c7c1889a64099 oracle/pair-float64/generated-code.json
0c40dff2cecdd85cb64a03156c3ca7b538ba2046756844ab84b26db830d0e7bd oracle/pair-float64/independent-output/events.csv
b3e98ff351b1a3290371de6e95628ed4026c34bf59720ba4b63d04fdcb879e48 oracle/pair-float64/independent-output/state.npz
a54ed0bc7bafe0d45f951255cdda987a5e4e2433a98cac45c1c3b4f9141d7c65 oracle/pair-float64/run-spec.json
d3183a588eff0f4824dd5680af6401e35370fa7e74268ae0700ba5522e6d278d oracle/pair-float64/schedule.json
ea838909a3dcfabd586cf4181eb6788ed791472fc5f64556fc5e88004906d242 oracle/pair-float64/seed.json
8a3f9d74c53e9cf8eb01c82be313c29b5f82efe15e2a23aba463f6de3a36a791 oracle/pair-float64-repeat/actual-weights.json
0c40dff2cecdd85cb64a03156c3ca7b538ba2046756844ab84b26db830d0e7bd oracle/pair-float64-repeat/brian-output/events.csv
df0486fc1a7865b85d88dfcb41170233dac2063af28246b6c5043903a4a817ca oracle/pair-float64-repeat/brian-output/state.npz
5af02939034e66e7a8e7c361555203906d69bbba0042b1ab549041db1626f02b oracle/pair-float64-repeat/completeness.csv
1072f50d478d1890de7602c48f6a7f1b89e11a665a173e7a705a5fab3b3f8771 oracle/pair-float64-repeat/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/pair-float64-repeat/environment.json
86fd33e9730c1d4675224eaff6ecc4feaf9808e58f51c93e7df252c821998736 oracle/pair-float64-repeat/generated-code.json
a54ed0bc7bafe0d45f951255cdda987a5e4e2433a98cac45c1c3b4f9141d7c65 oracle/pair-float64-repeat/run-spec.json
d3183a588eff0f4824dd5680af6401e35370fa7e74268ae0700ba5522e6d278d oracle/pair-float64-repeat/schedule.json
ea838909a3dcfabd586cf4181eb6788ed791472fc5f64556fc5e88004906d242 oracle/pair-float64-repeat/seed.json
4a8bf9f0e2c4954cea97b7c6eebebf422196641047c31935017d81268ab576f5 oracle/poi-interface/audit.json
06e601b217fdbc48eee57eac01cc9a9fa649ec2a1810a2e212efcd3e4b632303 oracle/poi-interface/completeness.csv
34f12d50889ccf2e637d913a0f3c4104d49032a6a67f9c3fbcd52e68ce95d701 oracle/poi-interface/connectivity.parquet
1e7bcd97221db01bba542320601325572330ffe2a867607d3105d0417c2850ae oracle/poi-interface/environment.json
eb11dd4b866c1fb80ec414b55335e1263fc041cddc46d098d523c6fd52c297ef oracle/poi-interface/generated-code.json
eac8d994e23c5fbb5fff6b537f24d759b0000793d9fd7938669e45b1242b0410 oracle/poi-interface/schedule.json
d1fe988c385189af8d4ea1879eb7f863115a35f881a06f3d4c61b6cb2357eb6d oracle/trio-float32/actual-weights.json
7ae48f3fb283fda9f19b47215e23b6f8fe7b2f0265e400b5620acf98fed9c053 oracle/trio-float32/brian-output/events.csv
5cfe47ae0e456407c1c26a04c6a29b2daaa5fa2a264a4275b12d674dcd5ca027 oracle/trio-float32/brian-output/state.npz
29510d4a5da61d412f4a5b852c793744983bc9b5a761fd3d175e8b7d5178777d oracle/trio-float32/comparison.json
e8795d5efb2eebefaae419c6df6d18d3cea3c390d9df7987f55823f5a860169e oracle/trio-float32/completeness.csv
22570cdceb09128d4bde46fd75897af776f7d91d89b8581d13133f55779f1e91 oracle/trio-float32/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/trio-float32/environment.json
795226925d44b77912780f62a0881256e964a80baf362dfcf3173643ca417bbe oracle/trio-float32/generated-code.json
7ae48f3fb283fda9f19b47215e23b6f8fe7b2f0265e400b5620acf98fed9c053 oracle/trio-float32/independent-output/events.csv
60645b816f9ba7f5ff6a5ab91bff6c070546d07ef2f0565b1f7cff77b5d47145 oracle/trio-float32/independent-output/state.npz
391b9abfa2f300cc624185f4fe87bea1ed9417921c40ce4f71e7a9ed19777662 oracle/trio-float32/run-spec.json
d3183a588eff0f4824dd5680af6401e35370fa7e74268ae0700ba5522e6d278d oracle/trio-float32/schedule.json
335b295513fed2a617775adf590894234644c8bdf7268851434737d94e146208 oracle/trio-float32/seed.json
d1fe988c385189af8d4ea1879eb7f863115a35f881a06f3d4c61b6cb2357eb6d oracle/trio-float32-repeat/actual-weights.json
7ae48f3fb283fda9f19b47215e23b6f8fe7b2f0265e400b5620acf98fed9c053 oracle/trio-float32-repeat/brian-output/events.csv
5cfe47ae0e456407c1c26a04c6a29b2daaa5fa2a264a4275b12d674dcd5ca027 oracle/trio-float32-repeat/brian-output/state.npz
e8795d5efb2eebefaae419c6df6d18d3cea3c390d9df7987f55823f5a860169e oracle/trio-float32-repeat/completeness.csv
22570cdceb09128d4bde46fd75897af776f7d91d89b8581d13133f55779f1e91 oracle/trio-float32-repeat/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/trio-float32-repeat/environment.json
fc6c228a1f24c65b5172799dfaa2568cdb615db639226022e10cced292099fe2 oracle/trio-float32-repeat/generated-code.json
391b9abfa2f300cc624185f4fe87bea1ed9417921c40ce4f71e7a9ed19777662 oracle/trio-float32-repeat/run-spec.json
d3183a588eff0f4824dd5680af6401e35370fa7e74268ae0700ba5522e6d278d oracle/trio-float32-repeat/schedule.json
335b295513fed2a617775adf590894234644c8bdf7268851434737d94e146208 oracle/trio-float32-repeat/seed.json
21ab46d0419138b16b0407d31b4acde4a25f7016beb9e65a0c3a358707ee8565 oracle/trio-float64/actual-weights.json
7ae48f3fb283fda9f19b47215e23b6f8fe7b2f0265e400b5620acf98fed9c053 oracle/trio-float64/brian-output/events.csv
fc2be53c305f1b7d08934aa4a8550bc125bbf5a42a31cab7cb21f74e253d45b0 oracle/trio-float64/brian-output/state.npz
a7c9b2a63b57539e5ac0eefcc2943558b617f67afa3841873e95ca2e44d7db0b oracle/trio-float64/comparison.json
e8795d5efb2eebefaae419c6df6d18d3cea3c390d9df7987f55823f5a860169e oracle/trio-float64/completeness.csv
22570cdceb09128d4bde46fd75897af776f7d91d89b8581d13133f55779f1e91 oracle/trio-float64/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/trio-float64/environment.json
9b0f5455ef57b378efa1099b79d8285fe8f6d41a480ada58e57c2748b8cba02f oracle/trio-float64/generated-code.json
7ae48f3fb283fda9f19b47215e23b6f8fe7b2f0265e400b5620acf98fed9c053 oracle/trio-float64/independent-output/events.csv
83cf9d1a3e9e73b5f2a95a52cbc005a56ccb893e4990c4bc06f7c9393577788c oracle/trio-float64/independent-output/state.npz
2d3c683e78db15aa7ee8aea0ac79ed51f44dacc8618b3419bb591811060d2cf1 oracle/trio-float64/run-spec.json
d3183a588eff0f4824dd5680af6401e35370fa7e74268ae0700ba5522e6d278d oracle/trio-float64/schedule.json
ea838909a3dcfabd586cf4181eb6788ed791472fc5f64556fc5e88004906d242 oracle/trio-float64/seed.json
21ab46d0419138b16b0407d31b4acde4a25f7016beb9e65a0c3a358707ee8565 oracle/trio-float64-repeat/actual-weights.json
7ae48f3fb283fda9f19b47215e23b6f8fe7b2f0265e400b5620acf98fed9c053 oracle/trio-float64-repeat/brian-output/events.csv
fc2be53c305f1b7d08934aa4a8550bc125bbf5a42a31cab7cb21f74e253d45b0 oracle/trio-float64-repeat/brian-output/state.npz
e8795d5efb2eebefaae419c6df6d18d3cea3c390d9df7987f55823f5a860169e oracle/trio-float64-repeat/completeness.csv
22570cdceb09128d4bde46fd75897af776f7d91d89b8581d13133f55779f1e91 oracle/trio-float64-repeat/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/trio-float64-repeat/environment.json
795226925d44b77912780f62a0881256e964a80baf362dfcf3173643ca417bbe oracle/trio-float64-repeat/generated-code.json
2d3c683e78db15aa7ee8aea0ac79ed51f44dacc8618b3419bb591811060d2cf1 oracle/trio-float64-repeat/run-spec.json
d3183a588eff0f4824dd5680af6401e35370fa7e74268ae0700ba5522e6d278d oracle/trio-float64-repeat/schedule.json
ea838909a3dcfabd586cf4181eb6788ed791472fc5f64556fc5e88004906d242 oracle/trio-float64-repeat/seed.json
db73a9c3923de0e57985b46613bf87bf599fcdd11541bb9576bc239838c8062b oracle/unit-above_threshold-float32/actual-weights.json
cfad3e3ae7578e64365753675ead4358495da79ee379d78e192172b50a688023 oracle/unit-above_threshold-float32/brian-output/events.csv
367bda1dee3a6bd6c9e04afab7ef93f835cabd9329f7eb7d5b51adab2e5e07d9 oracle/unit-above_threshold-float32/brian-output/state.npz
e7ac75d3c7853ec3526b7dc1bdd7f94ccba58b4392c2a704ac4bc25b34130ce5 oracle/unit-above_threshold-float32/comparison.json
6798ede76e783a56766ebb676a851519cce260486155c8ea3a9c306903d95466 oracle/unit-above_threshold-float32/completeness.csv
27046e66bff85457b7945c5646ae0ac6f94d59065846dee47cfe90aacaee9ec1 oracle/unit-above_threshold-float32/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/unit-above_threshold-float32/environment.json
c5982c3d7ddbb031347cb389692bd9e78b4d851732d4192ca8d9db1f5ce31128 oracle/unit-above_threshold-float32/external-arrivals.csv
8c1278d8e1e4b028900e0353f7f9800300dad618be28e028714c7c1889a64099 oracle/unit-above_threshold-float32/generated-code.json
cfad3e3ae7578e64365753675ead4358495da79ee379d78e192172b50a688023 oracle/unit-above_threshold-float32/independent-output/events.csv
255a185d372d457eaf15e2512db78751f0d994fd6a3969bd3b5e3095ef6628bb oracle/unit-above_threshold-float32/independent-output/state.npz
05cc155e6979dea2f1aad7cf64fad64e2cb2f8e6b3578d6bc1948b27c8bda779 oracle/unit-above_threshold-float32/run-spec.json
d3183a588eff0f4824dd5680af6401e35370fa7e74268ae0700ba5522e6d278d oracle/unit-above_threshold-float32/schedule.json
a6f4b88a4b799a7ac2b91764d632dbf3e05b16535a9c5ab64ad59092902db88e oracle/unit-above_threshold-float32/seed.json
db73a9c3923de0e57985b46613bf87bf599fcdd11541bb9576bc239838c8062b oracle/unit-above_threshold-float64/actual-weights.json
cfad3e3ae7578e64365753675ead4358495da79ee379d78e192172b50a688023 oracle/unit-above_threshold-float64/brian-output/events.csv
d2796957a5a007cf0fb8a491565fca7017109ca792207bf88e7885a2d139da8e oracle/unit-above_threshold-float64/brian-output/state.npz
34382539f3576746462c29b584d5c3efbcc827f434e5c55d399c58e0fe5212f7 oracle/unit-above_threshold-float64/comparison.json
6798ede76e783a56766ebb676a851519cce260486155c8ea3a9c306903d95466 oracle/unit-above_threshold-float64/completeness.csv
27046e66bff85457b7945c5646ae0ac6f94d59065846dee47cfe90aacaee9ec1 oracle/unit-above_threshold-float64/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/unit-above_threshold-float64/environment.json
c5982c3d7ddbb031347cb389692bd9e78b4d851732d4192ca8d9db1f5ce31128 oracle/unit-above_threshold-float64/external-arrivals.csv
260ff4764dbbad4c87966c46d61f804b146c9c3b98ab50db2bd135aa33086050 oracle/unit-above_threshold-float64/generated-code.json
cfad3e3ae7578e64365753675ead4358495da79ee379d78e192172b50a688023 oracle/unit-above_threshold-float64/independent-output/events.csv
aadd0c427beb534c78f62d64459ad2403981654d4c6df18d3d0538c0a867a010 oracle/unit-above_threshold-float64/independent-output/state.npz
caabe9c7956d99f38f6cdc7f08bc81501186998221f4f9fb6c2d77fa68e9398b oracle/unit-above_threshold-float64/run-spec.json
d3183a588eff0f4824dd5680af6401e35370fa7e74268ae0700ba5522e6d278d oracle/unit-above_threshold-float64/schedule.json
05b71129e058b3685e2913a4ea737a387b407b09f521670ec4b00d19c9e3eac5 oracle/unit-above_threshold-float64/seed.json
c9b7702f929fe1e2a3d5bdaa673994de0db223fff4e09b52e7c5759c2b972e32 oracle/unit-delay_18-float32/actual-weights.json
10b1b3eda316d86e0df6180a7e00c914528fcb0949728895ba25605d11e409b3 oracle/unit-delay_18-float32/brian-output/events.csv
bf6177ae609e33c81f46afb499da962aa82ea493b172377d690e5842e42a9017 oracle/unit-delay_18-float32/brian-output/state.npz
37f394b3a181d7f99431910bba73c4b11d83379bb33525e5f93aad4903121c3f oracle/unit-delay_18-float32/comparison.json
843dba272f8f33a966eb902023ed2851be0f0316ea02245d48b613f72b38785b oracle/unit-delay_18-float32/completeness.csv
e69f1527a0dcdb8de465ae38a9264124ac14e96277daab69c178f6ef5e987555 oracle/unit-delay_18-float32/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/unit-delay_18-float32/environment.json
1628ba80041d8f31231e9c809ab0fcb48062bb957ec98d3f8b5d4b0e6bb78137 oracle/unit-delay_18-float32/generated-code.json
10b1b3eda316d86e0df6180a7e00c914528fcb0949728895ba25605d11e409b3 oracle/unit-delay_18-float32/independent-output/events.csv
46abab9351e62c525c17fef31edbefc400e8322362188ea1c9d9c20fcf1d0f30 oracle/unit-delay_18-float32/independent-output/state.npz
250f049da54ebe5be709647d7f5eff2bb16faf9931980bfbfdc45de75612953b oracle/unit-delay_18-float32/run-spec.json
d3183a588eff0f4824dd5680af6401e35370fa7e74268ae0700ba5522e6d278d oracle/unit-delay_18-float32/schedule.json
242b26859a24e2fcc60597f50c28f4a52f08edfd42c38100c5964576cbc37ccc oracle/unit-delay_18-float32/seed.json
213ee768839567d5f119ae77d914541359f91a5a206ab6c7bf1a8293a29cc816 oracle/unit-delay_18-float64/actual-weights.json
10b1b3eda316d86e0df6180a7e00c914528fcb0949728895ba25605d11e409b3 oracle/unit-delay_18-float64/brian-output/events.csv
5f112e5aae8ee0e74347d508397ad2d4f7ec2ad149f4c00ea65ecf41c632d1cb oracle/unit-delay_18-float64/brian-output/state.npz
1a4ff3495394f915ef545e4e76101b0bd51a31bc93a3b566c6ba0f8273ba51ba oracle/unit-delay_18-float64/comparison.json
843dba272f8f33a966eb902023ed2851be0f0316ea02245d48b613f72b38785b oracle/unit-delay_18-float64/completeness.csv
e69f1527a0dcdb8de465ae38a9264124ac14e96277daab69c178f6ef5e987555 oracle/unit-delay_18-float64/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/unit-delay_18-float64/environment.json
b754c9b23e259086e1b17bf3a2179a7f22acecec2eaf39b82bc48df31178dc08 oracle/unit-delay_18-float64/generated-code.json
10b1b3eda316d86e0df6180a7e00c914528fcb0949728895ba25605d11e409b3 oracle/unit-delay_18-float64/independent-output/events.csv
0e2389bb9a8c4f1a5be9f5cda11bcdb977839d608cacd7eff0249a0af3e8e180 oracle/unit-delay_18-float64/independent-output/state.npz
bab3876796fe01fd3c21a252d18de06bd1e2c3d9db8ceab600b28c7f5f6580ae oracle/unit-delay_18-float64/run-spec.json
d3183a588eff0f4824dd5680af6401e35370fa7e74268ae0700ba5522e6d278d oracle/unit-delay_18-float64/schedule.json
5084ab20be7af7ed30622b8e72f679fb89d3de638ce8f4af4c7c0c24a1d45a29 oracle/unit-delay_18-float64/seed.json
db73a9c3923de0e57985b46613bf87bf599fcdd11541bb9576bc239838c8062b oracle/unit-equal_threshold-float32/actual-weights.json
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 oracle/unit-equal_threshold-float32/brian-output/events.csv
e0b133b9473e529e9a6d29c5cd236f9b9f4a88dc17b11317386d829d7d3b83ac oracle/unit-equal_threshold-float32/brian-output/state.npz
950e79516e1d611cc30336d2ec02ef99c9511fce58dfe1eb4edc92aedddff8f7 oracle/unit-equal_threshold-float32/comparison.json
6798ede76e783a56766ebb676a851519cce260486155c8ea3a9c306903d95466 oracle/unit-equal_threshold-float32/completeness.csv
27046e66bff85457b7945c5646ae0ac6f94d59065846dee47cfe90aacaee9ec1 oracle/unit-equal_threshold-float32/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/unit-equal_threshold-float32/environment.json
c5982c3d7ddbb031347cb389692bd9e78b4d851732d4192ca8d9db1f5ce31128 oracle/unit-equal_threshold-float32/external-arrivals.csv
86fd33e9730c1d4675224eaff6ecc4feaf9808e58f51c93e7df252c821998736 oracle/unit-equal_threshold-float32/generated-code.json
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 oracle/unit-equal_threshold-float32/independent-output/events.csv
e0511cd2618ec1229697e25a46cc0f69c31522317f02188c6fde3ccdfb21b8b4 oracle/unit-equal_threshold-float32/independent-output/state.npz
fac5e0aa0191b2c1588aab61ae63bd33506f9e1388025be1147eece5c1a7201e oracle/unit-equal_threshold-float32/run-spec.json
d3183a588eff0f4824dd5680af6401e35370fa7e74268ae0700ba5522e6d278d oracle/unit-equal_threshold-float32/schedule.json
478668928b9024183568ba20f423f1f81eb9da3a2ad3427ce9bd55ed27779602 oracle/unit-equal_threshold-float32/seed.json
db73a9c3923de0e57985b46613bf87bf599fcdd11541bb9576bc239838c8062b oracle/unit-equal_threshold-float64/actual-weights.json
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 oracle/unit-equal_threshold-float64/brian-output/events.csv
20d649e7f7cc7bc9b231ff0d5cd86474d71bb45ad1965d1fcc6cd44fe9b10fcc oracle/unit-equal_threshold-float64/brian-output/state.npz
92164ae71a1399241866df040a559c7c1a9b8fca9327bcb009665a6bf8eeef4a oracle/unit-equal_threshold-float64/comparison.json
6798ede76e783a56766ebb676a851519cce260486155c8ea3a9c306903d95466 oracle/unit-equal_threshold-float64/completeness.csv
27046e66bff85457b7945c5646ae0ac6f94d59065846dee47cfe90aacaee9ec1 oracle/unit-equal_threshold-float64/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/unit-equal_threshold-float64/environment.json
c5982c3d7ddbb031347cb389692bd9e78b4d851732d4192ca8d9db1f5ce31128 oracle/unit-equal_threshold-float64/external-arrivals.csv
b754c9b23e259086e1b17bf3a2179a7f22acecec2eaf39b82bc48df31178dc08 oracle/unit-equal_threshold-float64/generated-code.json
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 oracle/unit-equal_threshold-float64/independent-output/events.csv
39bb07a9f2a71652ead9cb5cd1d82626b367d9f77f28a2890f29813d6abd531c oracle/unit-equal_threshold-float64/independent-output/state.npz
048c7994f12ce279353916c6e0770aa942c4d265953a73f2fbdcfc823899c68d oracle/unit-equal_threshold-float64/run-spec.json
d3183a588eff0f4824dd5680af6401e35370fa7e74268ae0700ba5522e6d278d oracle/unit-equal_threshold-float64/schedule.json
2fce02c931341034076747847551dd7c463a5afbca82f53aac1ea5262da25546 oracle/unit-equal_threshold-float64/seed.json
db73a9c3923de0e57985b46613bf87bf599fcdd11541bb9576bc239838c8062b oracle/unit-inhibition-float32/actual-weights.json
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 oracle/unit-inhibition-float32/brian-output/events.csv
e17bb1325b04dd6a39587a15f5be9de3a898369643de9d8ac0d8cb8f50fa0655 oracle/unit-inhibition-float32/brian-output/state.npz
00dc58085703002b0c7828f8626b7a4c0a67ccb780e9934b1a6027278e160147 oracle/unit-inhibition-float32/comparison.json
6798ede76e783a56766ebb676a851519cce260486155c8ea3a9c306903d95466 oracle/unit-inhibition-float32/completeness.csv
27046e66bff85457b7945c5646ae0ac6f94d59065846dee47cfe90aacaee9ec1 oracle/unit-inhibition-float32/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/unit-inhibition-float32/environment.json
cdb3b47045c3e08a5e7f91d835e9b974267e8c39aa5c0b6f01848d02fddc9121 oracle/unit-inhibition-float32/external-arrivals.csv
24049d57fb087bbf6a32304d9a5a21ad9015d7c07dd5a42f94d5856e24648910 oracle/unit-inhibition-float32/generated-code.json
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 oracle/unit-inhibition-float32/independent-output/events.csv
7606a26a9237ce3a3a1b93549e9a9e9489c4bd0f209fdcfaadad20bdfd71b025 oracle/unit-inhibition-float32/independent-output/state.npz
2be318173be5d8ab53909c92b7a10158dd792342f23706755bacd93b99d6304c oracle/unit-inhibition-float32/run-spec.json
fed340d7ab41bbb7a1a18d125c8a2fb0129c1eeea1967ade86725f1e7753d116 oracle/unit-inhibition-float32/schedule.json
77d0534413e66efb896580996b934bc368c90e1fa65d19c0dd6e5e36d8eda830 oracle/unit-inhibition-float32/seed.json
db73a9c3923de0e57985b46613bf87bf599fcdd11541bb9576bc239838c8062b oracle/unit-inhibition-float64/actual-weights.json
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 oracle/unit-inhibition-float64/brian-output/events.csv
bb92d8189c4899d878f3ba14981a0d3e5d9e533ed193a4ac46d7ae96b5b8ed2b oracle/unit-inhibition-float64/brian-output/state.npz
9b5906fd6915f910df0c46bd171cb693bc3be927321585f298ce5bf41c675dd1 oracle/unit-inhibition-float64/comparison.json
6798ede76e783a56766ebb676a851519cce260486155c8ea3a9c306903d95466 oracle/unit-inhibition-float64/completeness.csv
27046e66bff85457b7945c5646ae0ac6f94d59065846dee47cfe90aacaee9ec1 oracle/unit-inhibition-float64/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/unit-inhibition-float64/environment.json
cdb3b47045c3e08a5e7f91d835e9b974267e8c39aa5c0b6f01848d02fddc9121 oracle/unit-inhibition-float64/external-arrivals.csv
f7353d7fd8f7c017924959f0db57b3a7101b72b65f0bcb4fe8ba5bf02f7c8cb3 oracle/unit-inhibition-float64/generated-code.json
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 oracle/unit-inhibition-float64/independent-output/events.csv
0ba4c1b5727aa46dc66855cc9d61bfce3f19c2af046ff41b4e1fd3594565a455 oracle/unit-inhibition-float64/independent-output/state.npz
1618df58c1883b6a34f4f247fa2a4dac41d29391f405efb8813d49d49ae9aab9 oracle/unit-inhibition-float64/run-spec.json
fed340d7ab41bbb7a1a18d125c8a2fb0129c1eeea1967ade86725f1e7753d116 oracle/unit-inhibition-float64/schedule.json
77d0534413e66efb896580996b934bc368c90e1fa65d19c0dd6e5e36d8eda830 oracle/unit-inhibition-float64/seed.json
db73a9c3923de0e57985b46613bf87bf599fcdd11541bb9576bc239838c8062b oracle/unit-nonzero_g_reset-float32/actual-weights.json
d8885a4d083fff2f22fad52be2eaf08adc23e25015dafded0fedc16cf36a4cb1 oracle/unit-nonzero_g_reset-float32/brian-output/events.csv
b1397ec47218beb84a911a3df7461c2b5a34ae827b0321e9420f7840bc2dd946 oracle/unit-nonzero_g_reset-float32/brian-output/state.npz
a67c8fb6afb8cca2f58f0710a9c78720ddbbe78994fb230a4a55f42270c8fd49 oracle/unit-nonzero_g_reset-float32/comparison.json
6798ede76e783a56766ebb676a851519cce260486155c8ea3a9c306903d95466 oracle/unit-nonzero_g_reset-float32/completeness.csv
27046e66bff85457b7945c5646ae0ac6f94d59065846dee47cfe90aacaee9ec1 oracle/unit-nonzero_g_reset-float32/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/unit-nonzero_g_reset-float32/environment.json
997f7e35a6eb1a267ccef4c8794c72e7d0d119a7d5328bffb271e05602555651 oracle/unit-nonzero_g_reset-float32/external-arrivals.csv
3fb96b24ee1b80fecd16b80dbee70762cf917583a27ca3574393dd9571268708 oracle/unit-nonzero_g_reset-float32/generated-code.json
d8885a4d083fff2f22fad52be2eaf08adc23e25015dafded0fedc16cf36a4cb1 oracle/unit-nonzero_g_reset-float32/independent-output/events.csv
c22b4ca49e3b3f3b1226d75dbfd7f5c8e59a7cc8f27ce5b31e5683b77b88d05d oracle/unit-nonzero_g_reset-float32/independent-output/state.npz
4782f44e07a5e6e99502c733fb77cf1bf8f3b767e9b87914347d07165a035b7b oracle/unit-nonzero_g_reset-float32/run-spec.json
fed340d7ab41bbb7a1a18d125c8a2fb0129c1eeea1967ade86725f1e7753d116 oracle/unit-nonzero_g_reset-float32/schedule.json
77d0534413e66efb896580996b934bc368c90e1fa65d19c0dd6e5e36d8eda830 oracle/unit-nonzero_g_reset-float32/seed.json
db73a9c3923de0e57985b46613bf87bf599fcdd11541bb9576bc239838c8062b oracle/unit-nonzero_g_reset-float64/actual-weights.json
d8885a4d083fff2f22fad52be2eaf08adc23e25015dafded0fedc16cf36a4cb1 oracle/unit-nonzero_g_reset-float64/brian-output/events.csv
c7e06817d1c24d8f5b190e7ad900f560b62b695f3e2f3f60b81f87de32f95efd oracle/unit-nonzero_g_reset-float64/brian-output/state.npz
34382539f3576746462c29b584d5c3efbcc827f434e5c55d399c58e0fe5212f7 oracle/unit-nonzero_g_reset-float64/comparison.json
6798ede76e783a56766ebb676a851519cce260486155c8ea3a9c306903d95466 oracle/unit-nonzero_g_reset-float64/completeness.csv
27046e66bff85457b7945c5646ae0ac6f94d59065846dee47cfe90aacaee9ec1 oracle/unit-nonzero_g_reset-float64/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/unit-nonzero_g_reset-float64/environment.json
997f7e35a6eb1a267ccef4c8794c72e7d0d119a7d5328bffb271e05602555651 oracle/unit-nonzero_g_reset-float64/external-arrivals.csv
b5921dbc5e709b3405a4b1ed1521f834bb0a4999d154f5e6f772a290aaaa8de7 oracle/unit-nonzero_g_reset-float64/generated-code.json
d8885a4d083fff2f22fad52be2eaf08adc23e25015dafded0fedc16cf36a4cb1 oracle/unit-nonzero_g_reset-float64/independent-output/events.csv
4d372bb8e51307731fa7339822838c3580c64ee1dd4d4f3ad8ad0420258bd1b8 oracle/unit-nonzero_g_reset-float64/independent-output/state.npz
916cdd2cd038a2ae1e79681ebfeeb83af185407cf2b1b87583cc50f4164c4808 oracle/unit-nonzero_g_reset-float64/run-spec.json
fed340d7ab41bbb7a1a18d125c8a2fb0129c1eeea1967ade86725f1e7753d116 oracle/unit-nonzero_g_reset-float64/schedule.json
77d0534413e66efb896580996b934bc368c90e1fa65d19c0dd6e5e36d8eda830 oracle/unit-nonzero_g_reset-float64/seed.json
db73a9c3923de0e57985b46613bf87bf599fcdd11541bb9576bc239838c8062b oracle/unit-refractory_boundary-float32/actual-weights.json
cfad3e3ae7578e64365753675ead4358495da79ee379d78e192172b50a688023 oracle/unit-refractory_boundary-float32/brian-output/events.csv
1a096b2af8c95436307c5368107a197bd30614a55a5f48b22cc15cdcab231c05 oracle/unit-refractory_boundary-float32/brian-output/state.npz
704e19a55381a72ef05e90655d079152bf96893b54cb2aaf8413ffa6a97cb32c oracle/unit-refractory_boundary-float32/comparison.json
6798ede76e783a56766ebb676a851519cce260486155c8ea3a9c306903d95466 oracle/unit-refractory_boundary-float32/completeness.csv
27046e66bff85457b7945c5646ae0ac6f94d59065846dee47cfe90aacaee9ec1 oracle/unit-refractory_boundary-float32/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/unit-refractory_boundary-float32/environment.json
f9298feb0fed9c1e4cfb4a01313d436437fa9cdacb03bc9f67cf4299dc76df86 oracle/unit-refractory_boundary-float32/external-arrivals.csv
608de56c02e7febe4cdcdaa8c17faded84b9fa187d6f08eb7c393c9fb07f9be3 oracle/unit-refractory_boundary-float32/generated-code.json
cfad3e3ae7578e64365753675ead4358495da79ee379d78e192172b50a688023 oracle/unit-refractory_boundary-float32/independent-output/events.csv
aef84b2be80bd1c41edad68cfc6610e31fc306e67bb8f8eec4677a65b9dab37e oracle/unit-refractory_boundary-float32/independent-output/state.npz
23f4baa792e2a02933f40b2c37392eab2bb6e56b0ab8395b1183f2c5a0f11fa1 oracle/unit-refractory_boundary-float32/run-spec.json
9cef827c7fcf9c050b60ec311a0e6bcdfc311c2f2689ad2437c61fa6085d7388 oracle/unit-refractory_boundary-float32/schedule.json
a6f4b88a4b799a7ac2b91764d632dbf3e05b16535a9c5ab64ad59092902db88e oracle/unit-refractory_boundary-float32/seed.json
db73a9c3923de0e57985b46613bf87bf599fcdd11541bb9576bc239838c8062b oracle/unit-refractory_boundary-float64/actual-weights.json
cfad3e3ae7578e64365753675ead4358495da79ee379d78e192172b50a688023 oracle/unit-refractory_boundary-float64/brian-output/events.csv
cfb31ac1d31ae1dfda4b1c8de4e194ca2a6678d3188e650112617c19b183a017 oracle/unit-refractory_boundary-float64/brian-output/state.npz
718e19524ef625c1f7920b78f11f64b18dc2f49c12ed32f5eceb70108085e316 oracle/unit-refractory_boundary-float64/comparison.json
6798ede76e783a56766ebb676a851519cce260486155c8ea3a9c306903d95466 oracle/unit-refractory_boundary-float64/completeness.csv
27046e66bff85457b7945c5646ae0ac6f94d59065846dee47cfe90aacaee9ec1 oracle/unit-refractory_boundary-float64/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/unit-refractory_boundary-float64/environment.json
f9298feb0fed9c1e4cfb4a01313d436437fa9cdacb03bc9f67cf4299dc76df86 oracle/unit-refractory_boundary-float64/external-arrivals.csv
3ccb5eecdcdbbc850e60d8209d263e5b4764630323d8109695308c3c4cf7b539 oracle/unit-refractory_boundary-float64/generated-code.json
cfad3e3ae7578e64365753675ead4358495da79ee379d78e192172b50a688023 oracle/unit-refractory_boundary-float64/independent-output/events.csv
1eabc0d77607ccefd7bcc893f863a6f3dc6b4e77fb01e1ece25c05c749278dc7 oracle/unit-refractory_boundary-float64/independent-output/state.npz
89b378f4d00fd6431724acb74a1aa156a659d57fe5bb04ed140cd995b3843a64 oracle/unit-refractory_boundary-float64/run-spec.json
9cef827c7fcf9c050b60ec311a0e6bcdfc311c2f2689ad2437c61fa6085d7388 oracle/unit-refractory_boundary-float64/schedule.json
05b71129e058b3685e2913a4ea737a387b407b09f521670ec4b00d19c9e3eac5 oracle/unit-refractory_boundary-float64/seed.json
db73a9c3923de0e57985b46613bf87bf599fcdd11541bb9576bc239838c8062b oracle/unit-weak_excitation-float32/actual-weights.json
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 oracle/unit-weak_excitation-float32/brian-output/events.csv
dbc70d2acac1e00394f5997eea123503406ad816b65eb735824cc0b8dd8b35d7 oracle/unit-weak_excitation-float32/brian-output/state.npz
0ae4a6f8661f1413a315b181e1c23ea71159075c2d2e31f7e3af270a92682231 oracle/unit-weak_excitation-float32/comparison.json
6798ede76e783a56766ebb676a851519cce260486155c8ea3a9c306903d95466 oracle/unit-weak_excitation-float32/completeness.csv
27046e66bff85457b7945c5646ae0ac6f94d59065846dee47cfe90aacaee9ec1 oracle/unit-weak_excitation-float32/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/unit-weak_excitation-float32/environment.json
ea42121e82562a2dbfe3c5824556db9579c107749339c5e3b47f118b12249d8a oracle/unit-weak_excitation-float32/external-arrivals.csv
b5921dbc5e709b3405a4b1ed1521f834bb0a4999d154f5e6f772a290aaaa8de7 oracle/unit-weak_excitation-float32/generated-code.json
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 oracle/unit-weak_excitation-float32/independent-output/events.csv
93ce0a2838dab0c652f6ec2fb8c96992c42fd2d1e041eb589eb8987fab2498eb oracle/unit-weak_excitation-float32/independent-output/state.npz
fa4c5b573d984a526abe9d7abc497575e7fafe53a7fc3c9e76d4741fa0c2efbd oracle/unit-weak_excitation-float32/run-spec.json
fed340d7ab41bbb7a1a18d125c8a2fb0129c1eeea1967ade86725f1e7753d116 oracle/unit-weak_excitation-float32/schedule.json
77d0534413e66efb896580996b934bc368c90e1fa65d19c0dd6e5e36d8eda830 oracle/unit-weak_excitation-float32/seed.json
db73a9c3923de0e57985b46613bf87bf599fcdd11541bb9576bc239838c8062b oracle/unit-weak_excitation-float64/actual-weights.json
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 oracle/unit-weak_excitation-float64/brian-output/events.csv
4591217f7526896243c0e3e8310a8f885e72ffad6bda56559a7edc8fbce1c0c3 oracle/unit-weak_excitation-float64/brian-output/state.npz
f39862589647cc0cfca90de10aebad6265a9ea94c533915991c700403cec8b60 oracle/unit-weak_excitation-float64/comparison.json
6798ede76e783a56766ebb676a851519cce260486155c8ea3a9c306903d95466 oracle/unit-weak_excitation-float64/completeness.csv
27046e66bff85457b7945c5646ae0ac6f94d59065846dee47cfe90aacaee9ec1 oracle/unit-weak_excitation-float64/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/unit-weak_excitation-float64/environment.json
ea42121e82562a2dbfe3c5824556db9579c107749339c5e3b47f118b12249d8a oracle/unit-weak_excitation-float64/external-arrivals.csv
023b8cdde1fea892e40cd5e58e75bed9d7febcd670a6c749882deb04c7d84132 oracle/unit-weak_excitation-float64/generated-code.json
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 oracle/unit-weak_excitation-float64/independent-output/events.csv
4c0b86fcae0498e9e510a3333bf919a33e0b8bd19fb0d0a37aed4e102a5e61e6 oracle/unit-weak_excitation-float64/independent-output/state.npz
3ae45d37b147e6dd3a5bd596b8757e4909cbb0c1386d30e94becfd1ae331d90c oracle/unit-weak_excitation-float64/run-spec.json
fed340d7ab41bbb7a1a18d125c8a2fb0129c1eeea1967ade86725f1e7753d116 oracle/unit-weak_excitation-float64/schedule.json
77d0534413e66efb896580996b934bc368c90e1fa65d19c0dd6e5e36d8eda830 oracle/unit-weak_excitation-float64/seed.json
db73a9c3923de0e57985b46613bf87bf599fcdd11541bb9576bc239838c8062b oracle/unit-zero-float32/actual-weights.json
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 oracle/unit-zero-float32/brian-output/events.csv
4e1d81697ef3df005548a1cb5891dce91fdfbee6c8cfc9586fff98c8a406e72e oracle/unit-zero-float32/brian-output/state.npz
e7ac75d3c7853ec3526b7dc1bdd7f94ccba58b4392c2a704ac4bc25b34130ce5 oracle/unit-zero-float32/comparison.json
6798ede76e783a56766ebb676a851519cce260486155c8ea3a9c306903d95466 oracle/unit-zero-float32/completeness.csv
27046e66bff85457b7945c5646ae0ac6f94d59065846dee47cfe90aacaee9ec1 oracle/unit-zero-float32/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/unit-zero-float32/environment.json
c5982c3d7ddbb031347cb389692bd9e78b4d851732d4192ca8d9db1f5ce31128 oracle/unit-zero-float32/external-arrivals.csv
daea9555d1ba0effb445e581ad4c74741d57b85ad6477907ff579a0957dc7242 oracle/unit-zero-float32/generated-code.json
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 oracle/unit-zero-float32/independent-output/events.csv
6f45ddfec94ada6a8747f5addc1f9f4a51d737739e245c7dc10739bf7e18cfc3 oracle/unit-zero-float32/independent-output/state.npz
521bb565556d8daee043b995415ac154e9e63af899c2266b023e031acc27eef6 oracle/unit-zero-float32/run-spec.json
a0ae45ec1bd5e9ad66296742ebb857263b1bde14ca260bbba260b570d359dcd5 oracle/unit-zero-float32/schedule.json
77d0534413e66efb896580996b934bc368c90e1fa65d19c0dd6e5e36d8eda830 oracle/unit-zero-float32/seed.json
db73a9c3923de0e57985b46613bf87bf599fcdd11541bb9576bc239838c8062b oracle/unit-zero-float64/actual-weights.json
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 oracle/unit-zero-float64/brian-output/events.csv
08b144e5f87768b33642885391e00812222ef69ed15282fbc525c986e058dda9 oracle/unit-zero-float64/brian-output/state.npz
34382539f3576746462c29b584d5c3efbcc827f434e5c55d399c58e0fe5212f7 oracle/unit-zero-float64/comparison.json
6798ede76e783a56766ebb676a851519cce260486155c8ea3a9c306903d95466 oracle/unit-zero-float64/completeness.csv
27046e66bff85457b7945c5646ae0ac6f94d59065846dee47cfe90aacaee9ec1 oracle/unit-zero-float64/connectivity.parquet
e048a4bb7d8508a47abafa3174336ddb1173191e6cb2a6e62207a07e287201f4 oracle/unit-zero-float64/environment.json
c5982c3d7ddbb031347cb389692bd9e78b4d851732d4192ca8d9db1f5ce31128 oracle/unit-zero-float64/external-arrivals.csv
659f799403ba4fec6b169b25f70a96477681c3d79b70b54687792c29149eb96a oracle/unit-zero-float64/generated-code.json
7629aa69f016398dea6007af19edce7566ebf6f480c75e8af176821c20bbd801 oracle/unit-zero-float64/independent-output/events.csv
d5c77d7a0fe8023a11635ab793f30a6c8e419211aea3707deddda9b2c38c6f8b oracle/unit-zero-float64/independent-output/state.npz
d4852ae58f33a87ac68f3efea658b432833e41921dd6914b12c3e153a870f3aa oracle/unit-zero-float64/run-spec.json
a0ae45ec1bd5e9ad66296742ebb857263b1bde14ca260bbba260b570d359dcd5 oracle/unit-zero-float64/schedule.json
77d0534413e66efb896580996b934bc368c90e1fa65d19c0dd6e5e36d8eda830 oracle/unit-zero-float64/seed.json
78bc80361a72f4620b39dc0363a1c2d13cff756f2cf920f879dcdf9b7ba8e3d1 performance/summary.json
dd3c72b63544c8ec63e6b0f5eb4291a34f225537d63d56912998377de9cfd20e protocol/preregistered.json
ef1016ca89aad6a53209927015a423c6a7bff49bb2dc271e98ba90cd4b22a274 regression/author-motifs.json
5762a442ecb94319bed0f35b8e64adbf9d122f938c99b1249107adfd1e717cb7 regression/feedforward-float32-repeat.json
5762a442ecb94319bed0f35b8e64adbf9d122f938c99b1249107adfd1e717cb7 regression/feedforward-float64-repeat.json
f428f9d3f572e8f66bce255f348861e1e1994973bdb7f5d3206924195d829383 regression/feedforward-precision-cross-comparison.json
5762a442ecb94319bed0f35b8e64adbf9d122f938c99b1249107adfd1e717cb7 regression/five-float32-repeat.json
5762a442ecb94319bed0f35b8e64adbf9d122f938c99b1249107adfd1e717cb7 regression/five-float64-repeat.json
8aa2658f0be118fcfa9bafb8b07fedcb3713842aab31da5d360c1092bf73a600 regression/five-precision-cross-comparison.json
520d9d9fcc26f6041113f9d94b0690a487cb89d38aa5eb9888857abdfed19ea4 regression/frozen-auditory-100hz.json
bf6d4a709ad9020de4007f44addec2cd38b7598c4dcd58bf7cbf31b41d2807bd regression/frozen-auditory-10hz.json
7e2e4f200f40ef1f5df3736176344c3a300533cb12f3cfb8022845ce312701ca regression/frozen-components.json
331153e43e8b49d53c370b4990f11c3d956a5a869cb3c5331e5e216f93a694cb regression/frozen-five.json
800a8f2e6e5ab44608919b73a4fcfe2b35b9007418fa7cf0f4ae8e93d1fbc1fa regression/frozen-gustatory-50hz.json
98fb62ea14694a0df78c673c3c76728d62a4036835c82f03eb2e7f2c17bf4625 regression/frozen-mechanosensory-50hz.json
9284aa8d73c36e6a0441320a9511cec65099bcf7ffd772f982e62e78ab8a3666 regression/frozen-olfactory-50hz.json
5762a442ecb94319bed0f35b8e64adbf9d122f938c99b1249107adfd1e717cb7 regression/no_input-float32-repeat.json
5762a442ecb94319bed0f35b8e64adbf9d122f938c99b1249107adfd1e717cb7 regression/no_input-float64-repeat.json
76f106dbc71d81822f8711e5970da7876fe76416a14a185d7915e8480381c544 regression/no_input-precision-cross-comparison.json
242b02c49b613d2cff475f570083b0521460c840dca51c17902f7df40e052581 regression/old-integrity-after.json
0347f6273992fa842ea4f9526492362ac9774ad1194c8367b0632e7367987116 regression/old-integrity-before.json
5762a442ecb94319bed0f35b8e64adbf9d122f938c99b1249107adfd1e717cb7 regression/pair-float32-repeat.json
5762a442ecb94319bed0f35b8e64adbf9d122f938c99b1249107adfd1e717cb7 regression/pair-float64-repeat.json
69c2960eb018b5d4957aea01ff60ceae6df8785315a239b07ab432b7a205a541 regression/pair-precision-cross-comparison.json
f4a10cd026bb3e3e2d84f3fa26125462fdd09d2fedf2198f89faa7ba4bb065a3 regression/preregistration-after.json
5762a442ecb94319bed0f35b8e64adbf9d122f938c99b1249107adfd1e717cb7 regression/trio-float32-repeat.json
5762a442ecb94319bed0f35b8e64adbf9d122f938c99b1249107adfd1e717cb7 regression/trio-float64-repeat.json
ffa52f9ff04c4887c714cf1dc69159263a3cce02be605e0830f945ece22de508 regression/trio-precision-cross-comparison.json
e3326d69d3fb00d5d6d5b2d7764426ad0a1c02b7bf7fa067dd2866e78574aedd regression/unit-above_threshold-float32.json
c4720e6d20648b3292b7693a27782a755b65bc9ac40df1240c5f9c804d4c60ec regression/unit-above_threshold-float64.json
5fe18868d3780d899ec9fe97630e019d70420023f367109cf015b984d18478f7 regression/unit-delay_18-float32.json
7cde7f95e04a3870fe6b42a99493f2cba5cf8e6b20ca01d7a39d6eca02a829d9 regression/unit-delay_18-float64.json
3ff0b4c36f7f672a0110378f85d12dd144451b4210f7cc647d77df12187ff9fe regression/unit-equal_threshold-float32.json
3b2ed15b07ea2422e184764006054c23d5a80810c3bbfa6ce6fee5ff2f42a7a0 regression/unit-equal_threshold-float64.json
d8c24f386628b3c4186017a93b1f8a30c754a8da1ad2f787318cc564e297e958 regression/unit-fixtures.json
f18d377531f46ff53d572c649a0c5308203d207af25071190e5fe8414594c0dd regression/unit-inhibition-float32.json
fe463e5e1de6dd528b31b09d3fd20b4e454ff4f6346dbd974ab9638fab3dc6b6 regression/unit-inhibition-float64.json
45e62f5ca365ac7f40a74cf23094de1a8dc4f576d2ba7d56cc8866037921ea22 regression/unit-nonzero_g_reset-float32.json
1b04dd164e00670c3f36bc17bb5d8e974703c94296d0b12f93de06de792d417f regression/unit-nonzero_g_reset-float64.json
cf3b2e0230e50b25e96c39b425aefafab780b01817377c0ce1e7e2aa20c43a30 regression/unit-refractory_boundary-float32.json
57837e95ae73d376794a8fbb615ced5f412b4c43f7f31c56f08d65d66f74ca7b regression/unit-refractory_boundary-float64.json
97d17aa7336ed7c51e557fbc94c673773e94aa1dd5fc9069708964051086b995 regression/unit-weak_excitation-float32.json
912f3ca442d089ed6e920bc0c00a8e30a1d62f34ee7a22b2f2b5e6f0544a3706 regression/unit-weak_excitation-float64.json
cb42c0c2025e86b4006bb9e2aa6e893f0185be55c3baa77bddece09ed691e938 regression/unit-zero-float32.json
4cc37c186bd7f6e6579840e516c840ae607581041b2d6da66971da611304e1d9 regression/unit-zero-float64.json
c939d3977a1883e86108c1e3edd25619118cec61e5c7712ae4dfa2893a73c0ca manifest.json
@@ -0,0 +1,4 @@
step,neuron_idx
0,1381
49,1511
100,1197
1 step neuron_idx
2 0 1381
3 49 1511
4 100 1197
@@ -0,0 +1,4 @@
step,neuron_idx
0,1381
49,1511
100,1197
1 step neuron_idx
2 0 1381
3 49 1511
4 100 1197
@@ -0,0 +1,4 @@
step,neuron_idx
0,1381
49,1511
100,1197
1 step neuron_idx
2 0 1381
3 49 1511
4 100 1197
@@ -0,0 +1,4 @@
step,neuron_idx
0,1381
49,1511
100,1197
1 step neuron_idx
2 0 1381
3 49 1511
4 100 1197
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,635 @@
step,neuron_idx
0,1381
45,1197
49,1511
77,1381
88,133666
96,1197
116,1511
135,1381
157,1197
165,133666
178,1511
198,1381
212,1197
237,1511
250,133666
258,1381
277,1197
295,1511
318,1381
328,133666
339,1197
358,1511
377,1381
399,1197
407,133666
420,1511
440,1381
454,1197
479,1511
492,133666
500,1381
519,1197
537,1511
560,1381
570,133666
581,1197
600,1511
619,1381
641,1197
649,133666
662,1511
682,1381
682,82312
696,1197
721,1511
734,133666
742,1381
761,1197
779,1511
802,1381
812,133666
823,1197
842,1511
861,1381
883,1197
891,133666
904,1511
924,1381
938,1197
963,1511
976,133666
984,1381
1003,1197
1021,1511
1044,1381
1054,133666
1065,1197
1084,1511
1103,1381
1125,1197
1133,133666
1146,1511
1166,1381
1180,1197
1205,1511
1218,133666
1226,1381
1245,1197
1263,1511
1286,1381
1296,133666
1307,1197
1326,1511
1332,82312
1345,1381
1367,1197
1375,133666
1388,1511
1408,1381
1422,1197
1447,1511
1460,133666
1468,1381
1487,1197
1505,1511
1528,1381
1538,133666
1549,1197
1568,1511
1587,1381
1609,1197
1617,133666
1630,1511
1650,1381
1664,1197
1689,1511
1702,133666
1710,1381
1729,1197
1747,1511
1770,1381
1780,133666
1791,1197
1810,1511
1829,1381
1851,1197
1859,133666
1872,1511
1892,1381
1906,1197
1931,1511
1944,133666
1952,1381
1971,1197
1983,82312
1989,1511
2012,1381
2022,133666
2033,1197
2052,1511
2071,1381
2093,1197
2101,133666
2114,1511
2134,1381
2148,1197
2173,1511
2186,133666
2194,1381
2213,1197
2231,1511
2254,1381
2264,133666
2275,1197
2294,1511
2313,1381
2335,1197
2343,133666
2356,1511
2376,1381
2390,1197
2415,1511
2428,133666
2436,1381
2455,1197
2473,1511
2496,1381
2506,133666
2517,1197
2536,1511
2555,1381
2577,1197
2585,133666
2598,1511
2618,1381
2618,82312
2632,1197
2657,1511
2670,133666
2678,1381
2697,1197
2715,1511
2738,1381
2748,133666
2759,1197
2778,1511
2797,1381
2819,1197
2827,133666
2840,1511
2860,1381
2874,1197
2899,1511
2912,133666
2920,1381
2939,1197
2957,1511
2980,1381
2990,133666
3001,1197
3020,1511
3039,1381
3061,1197
3069,133666
3082,1511
3102,1381
3116,1197
3141,1511
3154,133666
3162,1381
3181,1197
3199,1511
3222,1381
3232,133666
3243,1197
3262,1511
3268,82312
3281,1381
3303,1197
3311,133666
3324,1511
3344,1381
3358,1197
3383,1511
3396,133666
3404,1381
3423,1197
3441,1511
3464,1381
3474,133666
3485,1197
3504,1511
3523,1381
3545,1197
3553,133666
3566,1511
3586,1381
3600,1197
3625,1511
3638,133666
3646,1381
3665,1197
3683,1511
3706,1381
3716,133666
3727,1197
3746,1511
3765,1381
3787,1197
3795,133666
3808,1511
3828,1381
3842,1197
3867,1511
3880,133666
3888,1381
3907,1197
3919,82312
3925,1511
3948,1381
3958,133666
3969,1197
3988,1511
4007,1381
4029,1197
4037,133666
4050,1511
4070,1381
4084,1197
4109,1511
4122,133666
4130,1381
4149,1197
4167,1511
4190,1381
4200,133666
4211,1197
4230,1511
4249,1381
4271,1197
4279,133666
4292,1511
4312,1381
4326,1197
4351,1511
4364,133666
4372,1381
4391,1197
4409,1511
4432,1381
4442,133666
4453,1197
4472,1511
4491,1381
4513,1197
4521,133666
4534,1511
4554,1381
4554,82312
4568,1197
4593,1511
4606,133666
4614,1381
4633,1197
4651,1511
4674,1381
4684,133666
4695,1197
4714,1511
4733,1381
4755,1197
4763,133666
4776,1511
4796,1381
4810,1197
4835,1511
4848,133666
4856,1381
4875,1197
4893,1511
4916,1381
4926,133666
4937,1197
4956,1511
4975,1381
4997,1197
5005,133666
5018,1511
5038,1381
5052,1197
5077,1511
5090,133666
5098,1381
5117,1197
5135,1511
5158,1381
5168,133666
5179,1197
5198,1511
5204,82312
5217,1381
5239,1197
5247,133666
5260,1511
5280,1381
5294,1197
5319,1511
5332,133666
5340,1381
5359,1197
5377,1511
5400,1381
5410,133666
5421,1197
5440,1511
5459,1381
5481,1197
5489,133666
5502,1511
5522,1381
5536,1197
5561,1511
5574,133666
5582,1381
5601,1197
5619,1511
5642,1381
5652,133666
5663,1197
5682,1511
5701,1381
5723,1197
5731,133666
5744,1511
5764,1381
5778,1197
5803,1511
5816,133666
5824,1381
5843,1197
5855,82312
5861,1511
5884,1381
5894,133666
5905,1197
5924,1511
5943,1381
5965,1197
5973,133666
5986,1511
6006,1381
6020,1197
6045,1511
6058,133666
6066,1381
6085,1197
6103,1511
6126,1381
6136,133666
6147,1197
6166,1511
6185,1381
6207,1197
6215,133666
6228,1511
6248,1381
6262,1197
6287,1511
6300,133666
6308,1381
6327,1197
6345,1511
6368,1381
6378,133666
6389,1197
6408,1511
6427,1381
6449,1197
6457,133666
6470,1511
6490,1381
6490,82312
6504,1197
6529,1511
6542,133666
6550,1381
6569,1197
6587,1511
6610,1381
6620,133666
6631,1197
6650,1511
6669,1381
6691,1197
6699,133666
6712,1511
6732,1381
6746,1197
6771,1511
6784,133666
6792,1381
6811,1197
6829,1511
6852,1381
6862,133666
6873,1197
6892,1511
6911,1381
6933,1197
6941,133666
6954,1511
6974,1381
6988,1197
7013,1511
7026,133666
7034,1381
7053,1197
7071,1511
7094,1381
7104,133666
7115,1197
7134,1511
7140,82312
7153,1381
7175,1197
7183,133666
7196,1511
7216,1381
7230,1197
7255,1511
7268,133666
7276,1381
7295,1197
7313,1511
7336,1381
7346,133666
7357,1197
7376,1511
7395,1381
7417,1197
7425,133666
7438,1511
7458,1381
7472,1197
7497,1511
7510,133666
7518,1381
7537,1197
7555,1511
7578,1381
7588,133666
7599,1197
7618,1511
7637,1381
7659,1197
7667,133666
7680,1511
7700,1381
7714,1197
7739,1511
7752,133666
7760,1381
7779,1197
7791,82312
7797,1511
7820,1381
7830,133666
7841,1197
7860,1511
7879,1381
7901,1197
7909,133666
7922,1511
7942,1381
7956,1197
7981,1511
7994,133666
8002,1381
8021,1197
8039,1511
8062,1381
8072,133666
8083,1197
8102,1511
8121,1381
8143,1197
8151,133666
8164,1511
8184,1381
8198,1197
8223,1511
8236,133666
8244,1381
8263,1197
8281,1511
8304,1381
8314,133666
8325,1197
8344,1511
8363,1381
8385,1197
8393,133666
8406,1511
8426,1381
8426,82312
8440,1197
8465,1511
8478,133666
8486,1381
8505,1197
8523,1511
8546,1381
8556,133666
8567,1197
8586,1511
8605,1381
8627,1197
8635,133666
8648,1511
8668,1381
8682,1197
8707,1511
8720,133666
8728,1381
8747,1197
8765,1511
8788,1381
8798,133666
8809,1197
8828,1511
8847,1381
8869,1197
8877,133666
8890,1511
8910,1381
8924,1197
8949,1511
8962,133666
8970,1381
8989,1197
9007,1511
9030,1381
9040,133666
9051,1197
9070,1511
9076,82312
9089,1381
9111,1197
9119,133666
9132,1511
9152,1381
9166,1197
9191,1511
9204,133666
9212,1381
9231,1197
9249,1511
9272,1381
9282,133666
9293,1197
9312,1511
9331,1381
9353,1197
9361,133666
9374,1511
9394,1381
9408,1197
9433,1511
9446,133666
9454,1381
9473,1197
9491,1511
9514,1381
9524,133666
9535,1197
9554,1511
9573,1381
9595,1197
9603,133666
9616,1511
9636,1381
9650,1197
9675,1511
9688,133666
9696,1381
9715,1197
9727,82312
9733,1511
9756,1381
9766,133666
9777,1197
9796,1511
9815,1381
9837,1197
9845,133666
9858,1511
9878,1381
9892,1197
9917,1511
9930,133666
9938,1381
9957,1197
9975,1511
9998,1381
1 step neuron_idx
2 0 1381
3 45 1197
4 49 1511
5 77 1381
6 88 133666
7 96 1197
8 116 1511
9 135 1381
10 157 1197
11 165 133666
12 178 1511
13 198 1381
14 212 1197
15 237 1511
16 250 133666
17 258 1381
18 277 1197
19 295 1511
20 318 1381
21 328 133666
22 339 1197
23 358 1511
24 377 1381
25 399 1197
26 407 133666
27 420 1511
28 440 1381
29 454 1197
30 479 1511
31 492 133666
32 500 1381
33 519 1197
34 537 1511
35 560 1381
36 570 133666
37 581 1197
38 600 1511
39 619 1381
40 641 1197
41 649 133666
42 662 1511
43 682 1381
44 682 82312
45 696 1197
46 721 1511
47 734 133666
48 742 1381
49 761 1197
50 779 1511
51 802 1381
52 812 133666
53 823 1197
54 842 1511
55 861 1381
56 883 1197
57 891 133666
58 904 1511
59 924 1381
60 938 1197
61 963 1511
62 976 133666
63 984 1381
64 1003 1197
65 1021 1511
66 1044 1381
67 1054 133666
68 1065 1197
69 1084 1511
70 1103 1381
71 1125 1197
72 1133 133666
73 1146 1511
74 1166 1381
75 1180 1197
76 1205 1511
77 1218 133666
78 1226 1381
79 1245 1197
80 1263 1511
81 1286 1381
82 1296 133666
83 1307 1197
84 1326 1511
85 1332 82312
86 1345 1381
87 1367 1197
88 1375 133666
89 1388 1511
90 1408 1381
91 1422 1197
92 1447 1511
93 1460 133666
94 1468 1381
95 1487 1197
96 1505 1511
97 1528 1381
98 1538 133666
99 1549 1197
100 1568 1511
101 1587 1381
102 1609 1197
103 1617 133666
104 1630 1511
105 1650 1381
106 1664 1197
107 1689 1511
108 1702 133666
109 1710 1381
110 1729 1197
111 1747 1511
112 1770 1381
113 1780 133666
114 1791 1197
115 1810 1511
116 1829 1381
117 1851 1197
118 1859 133666
119 1872 1511
120 1892 1381
121 1906 1197
122 1931 1511
123 1944 133666
124 1952 1381
125 1971 1197
126 1983 82312
127 1989 1511
128 2012 1381
129 2022 133666
130 2033 1197
131 2052 1511
132 2071 1381
133 2093 1197
134 2101 133666
135 2114 1511
136 2134 1381
137 2148 1197
138 2173 1511
139 2186 133666
140 2194 1381
141 2213 1197
142 2231 1511
143 2254 1381
144 2264 133666
145 2275 1197
146 2294 1511
147 2313 1381
148 2335 1197
149 2343 133666
150 2356 1511
151 2376 1381
152 2390 1197
153 2415 1511
154 2428 133666
155 2436 1381
156 2455 1197
157 2473 1511
158 2496 1381
159 2506 133666
160 2517 1197
161 2536 1511
162 2555 1381
163 2577 1197
164 2585 133666
165 2598 1511
166 2618 1381
167 2618 82312
168 2632 1197
169 2657 1511
170 2670 133666
171 2678 1381
172 2697 1197
173 2715 1511
174 2738 1381
175 2748 133666
176 2759 1197
177 2778 1511
178 2797 1381
179 2819 1197
180 2827 133666
181 2840 1511
182 2860 1381
183 2874 1197
184 2899 1511
185 2912 133666
186 2920 1381
187 2939 1197
188 2957 1511
189 2980 1381
190 2990 133666
191 3001 1197
192 3020 1511
193 3039 1381
194 3061 1197
195 3069 133666
196 3082 1511
197 3102 1381
198 3116 1197
199 3141 1511
200 3154 133666
201 3162 1381
202 3181 1197
203 3199 1511
204 3222 1381
205 3232 133666
206 3243 1197
207 3262 1511
208 3268 82312
209 3281 1381
210 3303 1197
211 3311 133666
212 3324 1511
213 3344 1381
214 3358 1197
215 3383 1511
216 3396 133666
217 3404 1381
218 3423 1197
219 3441 1511
220 3464 1381
221 3474 133666
222 3485 1197
223 3504 1511
224 3523 1381
225 3545 1197
226 3553 133666
227 3566 1511
228 3586 1381
229 3600 1197
230 3625 1511
231 3638 133666
232 3646 1381
233 3665 1197
234 3683 1511
235 3706 1381
236 3716 133666
237 3727 1197
238 3746 1511
239 3765 1381
240 3787 1197
241 3795 133666
242 3808 1511
243 3828 1381
244 3842 1197
245 3867 1511
246 3880 133666
247 3888 1381
248 3907 1197
249 3919 82312
250 3925 1511
251 3948 1381
252 3958 133666
253 3969 1197
254 3988 1511
255 4007 1381
256 4029 1197
257 4037 133666
258 4050 1511
259 4070 1381
260 4084 1197
261 4109 1511
262 4122 133666
263 4130 1381
264 4149 1197
265 4167 1511
266 4190 1381
267 4200 133666
268 4211 1197
269 4230 1511
270 4249 1381
271 4271 1197
272 4279 133666
273 4292 1511
274 4312 1381
275 4326 1197
276 4351 1511
277 4364 133666
278 4372 1381
279 4391 1197
280 4409 1511
281 4432 1381
282 4442 133666
283 4453 1197
284 4472 1511
285 4491 1381
286 4513 1197
287 4521 133666
288 4534 1511
289 4554 1381
290 4554 82312
291 4568 1197
292 4593 1511
293 4606 133666
294 4614 1381
295 4633 1197
296 4651 1511
297 4674 1381
298 4684 133666
299 4695 1197
300 4714 1511
301 4733 1381
302 4755 1197
303 4763 133666
304 4776 1511
305 4796 1381
306 4810 1197
307 4835 1511
308 4848 133666
309 4856 1381
310 4875 1197
311 4893 1511
312 4916 1381
313 4926 133666
314 4937 1197
315 4956 1511
316 4975 1381
317 4997 1197
318 5005 133666
319 5018 1511
320 5038 1381
321 5052 1197
322 5077 1511
323 5090 133666
324 5098 1381
325 5117 1197
326 5135 1511
327 5158 1381
328 5168 133666
329 5179 1197
330 5198 1511
331 5204 82312
332 5217 1381
333 5239 1197
334 5247 133666
335 5260 1511
336 5280 1381
337 5294 1197
338 5319 1511
339 5332 133666
340 5340 1381
341 5359 1197
342 5377 1511
343 5400 1381
344 5410 133666
345 5421 1197
346 5440 1511
347 5459 1381
348 5481 1197
349 5489 133666
350 5502 1511
351 5522 1381
352 5536 1197
353 5561 1511
354 5574 133666
355 5582 1381
356 5601 1197
357 5619 1511
358 5642 1381
359 5652 133666
360 5663 1197
361 5682 1511
362 5701 1381
363 5723 1197
364 5731 133666
365 5744 1511
366 5764 1381
367 5778 1197
368 5803 1511
369 5816 133666
370 5824 1381
371 5843 1197
372 5855 82312
373 5861 1511
374 5884 1381
375 5894 133666
376 5905 1197
377 5924 1511
378 5943 1381
379 5965 1197
380 5973 133666
381 5986 1511
382 6006 1381
383 6020 1197
384 6045 1511
385 6058 133666
386 6066 1381
387 6085 1197
388 6103 1511
389 6126 1381
390 6136 133666
391 6147 1197
392 6166 1511
393 6185 1381
394 6207 1197
395 6215 133666
396 6228 1511
397 6248 1381
398 6262 1197
399 6287 1511
400 6300 133666
401 6308 1381
402 6327 1197
403 6345 1511
404 6368 1381
405 6378 133666
406 6389 1197
407 6408 1511
408 6427 1381
409 6449 1197
410 6457 133666
411 6470 1511
412 6490 1381
413 6490 82312
414 6504 1197
415 6529 1511
416 6542 133666
417 6550 1381
418 6569 1197
419 6587 1511
420 6610 1381
421 6620 133666
422 6631 1197
423 6650 1511
424 6669 1381
425 6691 1197
426 6699 133666
427 6712 1511
428 6732 1381
429 6746 1197
430 6771 1511
431 6784 133666
432 6792 1381
433 6811 1197
434 6829 1511
435 6852 1381
436 6862 133666
437 6873 1197
438 6892 1511
439 6911 1381
440 6933 1197
441 6941 133666
442 6954 1511
443 6974 1381
444 6988 1197
445 7013 1511
446 7026 133666
447 7034 1381
448 7053 1197
449 7071 1511
450 7094 1381
451 7104 133666
452 7115 1197
453 7134 1511
454 7140 82312
455 7153 1381
456 7175 1197
457 7183 133666
458 7196 1511
459 7216 1381
460 7230 1197
461 7255 1511
462 7268 133666
463 7276 1381
464 7295 1197
465 7313 1511
466 7336 1381
467 7346 133666
468 7357 1197
469 7376 1511
470 7395 1381
471 7417 1197
472 7425 133666
473 7438 1511
474 7458 1381
475 7472 1197
476 7497 1511
477 7510 133666
478 7518 1381
479 7537 1197
480 7555 1511
481 7578 1381
482 7588 133666
483 7599 1197
484 7618 1511
485 7637 1381
486 7659 1197
487 7667 133666
488 7680 1511
489 7700 1381
490 7714 1197
491 7739 1511
492 7752 133666
493 7760 1381
494 7779 1197
495 7791 82312
496 7797 1511
497 7820 1381
498 7830 133666
499 7841 1197
500 7860 1511
501 7879 1381
502 7901 1197
503 7909 133666
504 7922 1511
505 7942 1381
506 7956 1197
507 7981 1511
508 7994 133666
509 8002 1381
510 8021 1197
511 8039 1511
512 8062 1381
513 8072 133666
514 8083 1197
515 8102 1511
516 8121 1381
517 8143 1197
518 8151 133666
519 8164 1511
520 8184 1381
521 8198 1197
522 8223 1511
523 8236 133666
524 8244 1381
525 8263 1197
526 8281 1511
527 8304 1381
528 8314 133666
529 8325 1197
530 8344 1511
531 8363 1381
532 8385 1197
533 8393 133666
534 8406 1511
535 8426 1381
536 8426 82312
537 8440 1197
538 8465 1511
539 8478 133666
540 8486 1381
541 8505 1197
542 8523 1511
543 8546 1381
544 8556 133666
545 8567 1197
546 8586 1511
547 8605 1381
548 8627 1197
549 8635 133666
550 8648 1511
551 8668 1381
552 8682 1197
553 8707 1511
554 8720 133666
555 8728 1381
556 8747 1197
557 8765 1511
558 8788 1381
559 8798 133666
560 8809 1197
561 8828 1511
562 8847 1381
563 8869 1197
564 8877 133666
565 8890 1511
566 8910 1381
567 8924 1197
568 8949 1511
569 8962 133666
570 8970 1381
571 8989 1197
572 9007 1511
573 9030 1381
574 9040 133666
575 9051 1197
576 9070 1511
577 9076 82312
578 9089 1381
579 9111 1197
580 9119 133666
581 9132 1511
582 9152 1381
583 9166 1197
584 9191 1511
585 9204 133666
586 9212 1381
587 9231 1197
588 9249 1511
589 9272 1381
590 9282 133666
591 9293 1197
592 9312 1511
593 9331 1381
594 9353 1197
595 9361 133666
596 9374 1511
597 9394 1381
598 9408 1197
599 9433 1511
600 9446 133666
601 9454 1381
602 9473 1197
603 9491 1511
604 9514 1381
605 9524 133666
606 9535 1197
607 9554 1511
608 9573 1381
609 9595 1197
610 9603 133666
611 9616 1511
612 9636 1381
613 9650 1197
614 9675 1511
615 9688 133666
616 9696 1381
617 9715 1197
618 9727 82312
619 9733 1511
620 9756 1381
621 9766 133666
622 9777 1197
623 9796 1511
624 9815 1381
625 9837 1197
626 9845 133666
627 9858 1511
628 9878 1381
629 9892 1197
630 9917 1511
631 9930 133666
632 9938 1381
633 9957 1197
634 9975 1511
635 9998 1381
@@ -0,0 +1,869 @@
step,neuron_idx
0,1381
45,1197
49,1511
77,1381
88,133666
96,1197
103,1511
127,1381
142,1197
148,133666
151,1511
175,1381
178,1197
197,1511
205,133666
220,1381
221,1197
248,1511
265,1197
268,1381
268,133666
297,1511
298,1197
316,1381
325,133666
341,1197
343,1511
364,82312
369,1381
387,1197
389,133666
395,1511
419,1381
432,1197
443,1511
452,133666
468,1381
472,1197
491,1511
512,1381
515,1197
515,133666
543,1511
557,1197
560,1381
577,133666
591,1511
593,1197
598,1381
626,1197
627,1511
634,133666
635,1381
661,1197
664,1511
670,1381
677,82312
685,133666
697,1197
703,1511
706,1381
732,1197
741,1511
741,133666
742,1381
769,1197
776,1381
777,1511
794,133666
806,1197
811,1381
815,1511
840,1197
844,1381
850,133666
856,1511
877,1197
881,1381
895,1511
902,133666
918,1197
921,1381
933,82312
940,1511
959,1197
964,133666
965,1381
992,1511
1000,1197
1013,1381
1024,133666
1040,1511
1041,1197
1061,1381
1082,1197
1085,1511
1086,133666
1112,1381
1124,1197
1133,1511
1146,133666
1159,1381
1163,1197
1182,1511
1203,1197
1203,1381
1207,133666
1233,1511
1244,1197
1250,82312
1251,1381
1268,133666
1281,1197
1281,1511
1301,1381
1322,1197
1325,1511
1327,133666
1352,1381
1364,1197
1373,1511
1387,133666
1399,1381
1403,1197
1422,1511
1443,1197
1443,1381
1447,133666
1473,1511
1484,1197
1491,1381
1508,133666
1521,1197
1521,1511
1541,1381
1549,82312
1562,1197
1565,1511
1567,133666
1592,1381
1604,1197
1613,1511
1627,133666
1639,1381
1643,1197
1662,1511
1683,1197
1683,1381
1687,133666
1713,1511
1724,1197
1731,1381
1748,133666
1761,1197
1761,1511
1781,1381
1802,1197
1805,1511
1807,133666
1832,1381
1844,1197
1848,82312
1853,1511
1867,133666
1879,1381
1883,1197
1902,1511
1923,1197
1923,1381
1927,133666
1953,1511
1964,1197
1971,1381
1988,133666
2001,1197
2001,1511
2021,1381
2042,1197
2045,1511
2047,133666
2072,1381
2084,1197
2093,1511
2107,133666
2119,1381
2123,1197
2142,1511
2147,82312
2163,1197
2163,1381
2167,133666
2193,1511
2204,1197
2211,1381
2228,133666
2241,1197
2241,1511
2261,1381
2282,1197
2285,1511
2287,133666
2312,1381
2324,1197
2333,1511
2347,133666
2359,1381
2363,1197
2382,1511
2403,1197
2403,1381
2407,133666
2433,1511
2444,1197
2447,82312
2451,1381
2468,133666
2481,1197
2481,1511
2501,1381
2522,1197
2525,1511
2527,133666
2552,1381
2564,1197
2573,1511
2587,133666
2599,1381
2603,1197
2622,1511
2643,1197
2643,1381
2647,133666
2673,1511
2684,1197
2691,1381
2708,133666
2721,1197
2721,1511
2741,1381
2749,82312
2762,1197
2765,1511
2767,133666
2792,1381
2804,1197
2813,1511
2827,133666
2839,1381
2843,1197
2862,1511
2883,1197
2883,1381
2887,133666
2913,1511
2924,1197
2931,1381
2948,133666
2961,1197
2961,1511
2981,1381
3002,1197
3005,1511
3007,133666
3032,1381
3044,1197
3048,82312
3053,1511
3067,133666
3079,1381
3083,1197
3102,1511
3123,1197
3123,1381
3127,133666
3153,1511
3164,1197
3171,1381
3188,133666
3201,1197
3201,1511
3221,1381
3242,1197
3245,1511
3247,133666
3272,1381
3284,1197
3293,1511
3307,133666
3319,1381
3323,1197
3342,1511
3347,82312
3363,1197
3363,1381
3367,133666
3393,1511
3404,1197
3411,1381
3428,133666
3441,1197
3441,1511
3461,1381
3482,1197
3485,1511
3487,133666
3512,1381
3524,1197
3533,1511
3547,133666
3559,1381
3563,1197
3582,1511
3603,1197
3603,1381
3607,133666
3633,1511
3644,1197
3647,82312
3651,1381
3668,133666
3681,1197
3681,1511
3701,1381
3722,1197
3725,1511
3727,133666
3752,1381
3764,1197
3773,1511
3787,133666
3799,1381
3803,1197
3822,1511
3843,1197
3843,1381
3847,133666
3873,1511
3884,1197
3891,1381
3908,133666
3921,1197
3921,1511
3941,1381
3949,82312
3962,1197
3965,1511
3967,133666
3992,1381
4004,1197
4013,1511
4027,133666
4039,1381
4043,1197
4062,1511
4083,1197
4083,1381
4087,133666
4113,1511
4124,1197
4131,1381
4148,133666
4161,1197
4161,1511
4181,1381
4202,1197
4205,1511
4207,133666
4232,1381
4244,1197
4248,82312
4253,1511
4267,133666
4279,1381
4283,1197
4302,1511
4323,1197
4323,1381
4327,133666
4353,1511
4364,1197
4371,1381
4388,133666
4401,1197
4401,1511
4421,1381
4442,1197
4445,1511
4447,133666
4472,1381
4484,1197
4493,1511
4507,133666
4519,1381
4523,1197
4542,1511
4547,82312
4563,1197
4563,1381
4567,133666
4593,1511
4604,1197
4611,1381
4628,133666
4641,1197
4641,1511
4661,1381
4682,1197
4685,1511
4687,133666
4712,1381
4724,1197
4733,1511
4747,133666
4759,1381
4763,1197
4782,1511
4803,1197
4803,1381
4807,133666
4833,1511
4844,1197
4847,82312
4851,1381
4868,133666
4881,1197
4881,1511
4901,1381
4922,1197
4925,1511
4927,133666
4952,1381
4964,1197
4973,1511
4987,133666
4999,1381
5003,1197
5022,1511
5043,1197
5043,1381
5047,133666
5073,1511
5084,1197
5091,1381
5108,133666
5121,1197
5121,1511
5141,1381
5149,82312
5162,1197
5165,1511
5167,133666
5192,1381
5204,1197
5213,1511
5227,133666
5239,1381
5243,1197
5262,1511
5283,1197
5283,1381
5287,133666
5313,1511
5324,1197
5331,1381
5348,133666
5361,1197
5361,1511
5381,1381
5402,1197
5405,1511
5407,133666
5432,1381
5444,1197
5448,82312
5453,1511
5467,133666
5479,1381
5483,1197
5502,1511
5523,1197
5523,1381
5527,133666
5553,1511
5564,1197
5571,1381
5588,133666
5601,1197
5601,1511
5621,1381
5642,1197
5645,1511
5647,133666
5672,1381
5684,1197
5693,1511
5707,133666
5719,1381
5723,1197
5742,1511
5747,82312
5763,1197
5763,1381
5767,133666
5793,1511
5804,1197
5811,1381
5828,133666
5841,1197
5841,1511
5861,1381
5882,1197
5885,1511
5887,133666
5912,1381
5924,1197
5933,1511
5947,133666
5959,1381
5963,1197
5982,1511
6003,1197
6003,1381
6007,133666
6033,1511
6044,1197
6047,82312
6051,1381
6068,133666
6081,1197
6081,1511
6101,1381
6122,1197
6125,1511
6127,133666
6152,1381
6164,1197
6173,1511
6187,133666
6199,1381
6203,1197
6222,1511
6243,1197
6243,1381
6247,133666
6273,1511
6284,1197
6291,1381
6308,133666
6321,1197
6321,1511
6341,1381
6349,82312
6362,1197
6365,1511
6367,133666
6392,1381
6404,1197
6413,1511
6427,133666
6439,1381
6443,1197
6462,1511
6483,1197
6483,1381
6487,133666
6513,1511
6524,1197
6531,1381
6548,133666
6561,1197
6561,1511
6581,1381
6602,1197
6605,1511
6607,133666
6632,1381
6644,1197
6648,82312
6653,1511
6667,133666
6679,1381
6683,1197
6702,1511
6723,1197
6723,1381
6727,133666
6753,1511
6764,1197
6771,1381
6788,133666
6801,1197
6801,1511
6821,1381
6842,1197
6845,1511
6847,133666
6872,1381
6884,1197
6893,1511
6907,133666
6919,1381
6923,1197
6942,1511
6947,82312
6963,1197
6963,1381
6967,133666
6993,1511
7004,1197
7011,1381
7028,133666
7041,1197
7041,1511
7061,1381
7082,1197
7085,1511
7087,133666
7112,1381
7124,1197
7133,1511
7147,133666
7159,1381
7163,1197
7182,1511
7203,1197
7203,1381
7207,133666
7233,1511
7244,1197
7247,82312
7251,1381
7268,133666
7281,1197
7281,1511
7301,1381
7322,1197
7325,1511
7327,133666
7352,1381
7364,1197
7373,1511
7387,133666
7399,1381
7403,1197
7422,1511
7443,1197
7443,1381
7447,133666
7473,1511
7484,1197
7491,1381
7508,133666
7521,1197
7521,1511
7541,1381
7549,82312
7562,1197
7565,1511
7567,133666
7592,1381
7604,1197
7613,1511
7627,133666
7639,1381
7643,1197
7662,1511
7683,1197
7683,1381
7687,133666
7713,1511
7724,1197
7731,1381
7748,133666
7761,1197
7761,1511
7781,1381
7802,1197
7805,1511
7807,133666
7832,1381
7844,1197
7848,82312
7853,1511
7867,133666
7879,1381
7883,1197
7902,1511
7923,1197
7923,1381
7927,133666
7953,1511
7964,1197
7971,1381
7988,133666
8001,1197
8001,1511
8021,1381
8042,1197
8045,1511
8047,133666
8072,1381
8084,1197
8093,1511
8107,133666
8119,1381
8123,1197
8142,1511
8147,82312
8163,1197
8163,1381
8167,133666
8193,1511
8204,1197
8211,1381
8228,133666
8241,1197
8241,1511
8261,1381
8282,1197
8285,1511
8287,133666
8312,1381
8324,1197
8333,1511
8347,133666
8359,1381
8363,1197
8382,1511
8403,1197
8403,1381
8407,133666
8433,1511
8444,1197
8447,82312
8451,1381
8468,133666
8481,1197
8481,1511
8501,1381
8522,1197
8525,1511
8527,133666
8552,1381
8564,1197
8573,1511
8587,133666
8599,1381
8603,1197
8622,1511
8643,1197
8643,1381
8647,133666
8673,1511
8684,1197
8691,1381
8708,133666
8721,1197
8721,1511
8741,1381
8749,82312
8762,1197
8765,1511
8767,133666
8792,1381
8804,1197
8813,1511
8827,133666
8839,1381
8843,1197
8862,1511
8883,1197
8883,1381
8887,133666
8913,1511
8924,1197
8931,1381
8948,133666
8961,1197
8961,1511
8981,1381
9002,1197
9005,1511
9007,133666
9032,1381
9044,1197
9048,82312
9053,1511
9067,133666
9079,1381
9083,1197
9102,1511
9123,1197
9123,1381
9127,133666
9153,1511
9164,1197
9171,1381
9188,133666
9201,1197
9201,1511
9221,1381
9242,1197
9245,1511
9247,133666
9272,1381
9284,1197
9293,1511
9307,133666
9319,1381
9323,1197
9342,1511
9347,82312
9363,1197
9363,1381
9367,133666
9393,1511
9404,1197
9411,1381
9428,133666
9441,1197
9441,1511
9461,1381
9482,1197
9485,1511
9487,133666
9512,1381
9524,1197
9533,1511
9547,133666
9559,1381
9563,1197
9582,1511
9603,1197
9603,1381
9607,133666
9633,1511
9644,1197
9647,82312
9651,1381
9668,133666
9681,1197
9681,1511
9701,1381
9722,1197
9725,1511
9727,133666
9752,1381
9764,1197
9773,1511
9787,133666
9799,1381
9803,1197
9822,1511
9843,1197
9843,1381
9847,133666
9873,1511
9884,1197
9891,1381
9908,133666
9921,1197
9921,1511
9941,1381
9949,82312
9962,1197
9965,1511
9967,133666
9992,1381
1 step neuron_idx
2 0 1381
3 45 1197
4 49 1511
5 77 1381
6 88 133666
7 96 1197
8 103 1511
9 127 1381
10 142 1197
11 148 133666
12 151 1511
13 175 1381
14 178 1197
15 197 1511
16 205 133666
17 220 1381
18 221 1197
19 248 1511
20 265 1197
21 268 1381
22 268 133666
23 297 1511
24 298 1197
25 316 1381
26 325 133666
27 341 1197
28 343 1511
29 364 82312
30 369 1381
31 387 1197
32 389 133666
33 395 1511
34 419 1381
35 432 1197
36 443 1511
37 452 133666
38 468 1381
39 472 1197
40 491 1511
41 512 1381
42 515 1197
43 515 133666
44 543 1511
45 557 1197
46 560 1381
47 577 133666
48 591 1511
49 593 1197
50 598 1381
51 626 1197
52 627 1511
53 634 133666
54 635 1381
55 661 1197
56 664 1511
57 670 1381
58 677 82312
59 685 133666
60 697 1197
61 703 1511
62 706 1381
63 732 1197
64 741 1511
65 741 133666
66 742 1381
67 769 1197
68 776 1381
69 777 1511
70 794 133666
71 806 1197
72 811 1381
73 815 1511
74 840 1197
75 844 1381
76 850 133666
77 856 1511
78 877 1197
79 881 1381
80 895 1511
81 902 133666
82 918 1197
83 921 1381
84 933 82312
85 940 1511
86 959 1197
87 964 133666
88 965 1381
89 992 1511
90 1000 1197
91 1013 1381
92 1024 133666
93 1040 1511
94 1041 1197
95 1061 1381
96 1082 1197
97 1085 1511
98 1086 133666
99 1112 1381
100 1124 1197
101 1133 1511
102 1146 133666
103 1159 1381
104 1163 1197
105 1182 1511
106 1203 1197
107 1203 1381
108 1207 133666
109 1233 1511
110 1244 1197
111 1250 82312
112 1251 1381
113 1268 133666
114 1281 1197
115 1281 1511
116 1301 1381
117 1322 1197
118 1325 1511
119 1327 133666
120 1352 1381
121 1364 1197
122 1373 1511
123 1387 133666
124 1399 1381
125 1403 1197
126 1422 1511
127 1443 1197
128 1443 1381
129 1447 133666
130 1473 1511
131 1484 1197
132 1491 1381
133 1508 133666
134 1521 1197
135 1521 1511
136 1541 1381
137 1549 82312
138 1562 1197
139 1565 1511
140 1567 133666
141 1592 1381
142 1604 1197
143 1613 1511
144 1627 133666
145 1639 1381
146 1643 1197
147 1662 1511
148 1683 1197
149 1683 1381
150 1687 133666
151 1713 1511
152 1724 1197
153 1731 1381
154 1748 133666
155 1761 1197
156 1761 1511
157 1781 1381
158 1802 1197
159 1805 1511
160 1807 133666
161 1832 1381
162 1844 1197
163 1848 82312
164 1853 1511
165 1867 133666
166 1879 1381
167 1883 1197
168 1902 1511
169 1923 1197
170 1923 1381
171 1927 133666
172 1953 1511
173 1964 1197
174 1971 1381
175 1988 133666
176 2001 1197
177 2001 1511
178 2021 1381
179 2042 1197
180 2045 1511
181 2047 133666
182 2072 1381
183 2084 1197
184 2093 1511
185 2107 133666
186 2119 1381
187 2123 1197
188 2142 1511
189 2147 82312
190 2163 1197
191 2163 1381
192 2167 133666
193 2193 1511
194 2204 1197
195 2211 1381
196 2228 133666
197 2241 1197
198 2241 1511
199 2261 1381
200 2282 1197
201 2285 1511
202 2287 133666
203 2312 1381
204 2324 1197
205 2333 1511
206 2347 133666
207 2359 1381
208 2363 1197
209 2382 1511
210 2403 1197
211 2403 1381
212 2407 133666
213 2433 1511
214 2444 1197
215 2447 82312
216 2451 1381
217 2468 133666
218 2481 1197
219 2481 1511
220 2501 1381
221 2522 1197
222 2525 1511
223 2527 133666
224 2552 1381
225 2564 1197
226 2573 1511
227 2587 133666
228 2599 1381
229 2603 1197
230 2622 1511
231 2643 1197
232 2643 1381
233 2647 133666
234 2673 1511
235 2684 1197
236 2691 1381
237 2708 133666
238 2721 1197
239 2721 1511
240 2741 1381
241 2749 82312
242 2762 1197
243 2765 1511
244 2767 133666
245 2792 1381
246 2804 1197
247 2813 1511
248 2827 133666
249 2839 1381
250 2843 1197
251 2862 1511
252 2883 1197
253 2883 1381
254 2887 133666
255 2913 1511
256 2924 1197
257 2931 1381
258 2948 133666
259 2961 1197
260 2961 1511
261 2981 1381
262 3002 1197
263 3005 1511
264 3007 133666
265 3032 1381
266 3044 1197
267 3048 82312
268 3053 1511
269 3067 133666
270 3079 1381
271 3083 1197
272 3102 1511
273 3123 1197
274 3123 1381
275 3127 133666
276 3153 1511
277 3164 1197
278 3171 1381
279 3188 133666
280 3201 1197
281 3201 1511
282 3221 1381
283 3242 1197
284 3245 1511
285 3247 133666
286 3272 1381
287 3284 1197
288 3293 1511
289 3307 133666
290 3319 1381
291 3323 1197
292 3342 1511
293 3347 82312
294 3363 1197
295 3363 1381
296 3367 133666
297 3393 1511
298 3404 1197
299 3411 1381
300 3428 133666
301 3441 1197
302 3441 1511
303 3461 1381
304 3482 1197
305 3485 1511
306 3487 133666
307 3512 1381
308 3524 1197
309 3533 1511
310 3547 133666
311 3559 1381
312 3563 1197
313 3582 1511
314 3603 1197
315 3603 1381
316 3607 133666
317 3633 1511
318 3644 1197
319 3647 82312
320 3651 1381
321 3668 133666
322 3681 1197
323 3681 1511
324 3701 1381
325 3722 1197
326 3725 1511
327 3727 133666
328 3752 1381
329 3764 1197
330 3773 1511
331 3787 133666
332 3799 1381
333 3803 1197
334 3822 1511
335 3843 1197
336 3843 1381
337 3847 133666
338 3873 1511
339 3884 1197
340 3891 1381
341 3908 133666
342 3921 1197
343 3921 1511
344 3941 1381
345 3949 82312
346 3962 1197
347 3965 1511
348 3967 133666
349 3992 1381
350 4004 1197
351 4013 1511
352 4027 133666
353 4039 1381
354 4043 1197
355 4062 1511
356 4083 1197
357 4083 1381
358 4087 133666
359 4113 1511
360 4124 1197
361 4131 1381
362 4148 133666
363 4161 1197
364 4161 1511
365 4181 1381
366 4202 1197
367 4205 1511
368 4207 133666
369 4232 1381
370 4244 1197
371 4248 82312
372 4253 1511
373 4267 133666
374 4279 1381
375 4283 1197
376 4302 1511
377 4323 1197
378 4323 1381
379 4327 133666
380 4353 1511
381 4364 1197
382 4371 1381
383 4388 133666
384 4401 1197
385 4401 1511
386 4421 1381
387 4442 1197
388 4445 1511
389 4447 133666
390 4472 1381
391 4484 1197
392 4493 1511
393 4507 133666
394 4519 1381
395 4523 1197
396 4542 1511
397 4547 82312
398 4563 1197
399 4563 1381
400 4567 133666
401 4593 1511
402 4604 1197
403 4611 1381
404 4628 133666
405 4641 1197
406 4641 1511
407 4661 1381
408 4682 1197
409 4685 1511
410 4687 133666
411 4712 1381
412 4724 1197
413 4733 1511
414 4747 133666
415 4759 1381
416 4763 1197
417 4782 1511
418 4803 1197
419 4803 1381
420 4807 133666
421 4833 1511
422 4844 1197
423 4847 82312
424 4851 1381
425 4868 133666
426 4881 1197
427 4881 1511
428 4901 1381
429 4922 1197
430 4925 1511
431 4927 133666
432 4952 1381
433 4964 1197
434 4973 1511
435 4987 133666
436 4999 1381
437 5003 1197
438 5022 1511
439 5043 1197
440 5043 1381
441 5047 133666
442 5073 1511
443 5084 1197
444 5091 1381
445 5108 133666
446 5121 1197
447 5121 1511
448 5141 1381
449 5149 82312
450 5162 1197
451 5165 1511
452 5167 133666
453 5192 1381
454 5204 1197
455 5213 1511
456 5227 133666
457 5239 1381
458 5243 1197
459 5262 1511
460 5283 1197
461 5283 1381
462 5287 133666
463 5313 1511
464 5324 1197
465 5331 1381
466 5348 133666
467 5361 1197
468 5361 1511
469 5381 1381
470 5402 1197
471 5405 1511
472 5407 133666
473 5432 1381
474 5444 1197
475 5448 82312
476 5453 1511
477 5467 133666
478 5479 1381
479 5483 1197
480 5502 1511
481 5523 1197
482 5523 1381
483 5527 133666
484 5553 1511
485 5564 1197
486 5571 1381
487 5588 133666
488 5601 1197
489 5601 1511
490 5621 1381
491 5642 1197
492 5645 1511
493 5647 133666
494 5672 1381
495 5684 1197
496 5693 1511
497 5707 133666
498 5719 1381
499 5723 1197
500 5742 1511
501 5747 82312
502 5763 1197
503 5763 1381
504 5767 133666
505 5793 1511
506 5804 1197
507 5811 1381
508 5828 133666
509 5841 1197
510 5841 1511
511 5861 1381
512 5882 1197
513 5885 1511
514 5887 133666
515 5912 1381
516 5924 1197
517 5933 1511
518 5947 133666
519 5959 1381
520 5963 1197
521 5982 1511
522 6003 1197
523 6003 1381
524 6007 133666
525 6033 1511
526 6044 1197
527 6047 82312
528 6051 1381
529 6068 133666
530 6081 1197
531 6081 1511
532 6101 1381
533 6122 1197
534 6125 1511
535 6127 133666
536 6152 1381
537 6164 1197
538 6173 1511
539 6187 133666
540 6199 1381
541 6203 1197
542 6222 1511
543 6243 1197
544 6243 1381
545 6247 133666
546 6273 1511
547 6284 1197
548 6291 1381
549 6308 133666
550 6321 1197
551 6321 1511
552 6341 1381
553 6349 82312
554 6362 1197
555 6365 1511
556 6367 133666
557 6392 1381
558 6404 1197
559 6413 1511
560 6427 133666
561 6439 1381
562 6443 1197
563 6462 1511
564 6483 1197
565 6483 1381
566 6487 133666
567 6513 1511
568 6524 1197
569 6531 1381
570 6548 133666
571 6561 1197
572 6561 1511
573 6581 1381
574 6602 1197
575 6605 1511
576 6607 133666
577 6632 1381
578 6644 1197
579 6648 82312
580 6653 1511
581 6667 133666
582 6679 1381
583 6683 1197
584 6702 1511
585 6723 1197
586 6723 1381
587 6727 133666
588 6753 1511
589 6764 1197
590 6771 1381
591 6788 133666
592 6801 1197
593 6801 1511
594 6821 1381
595 6842 1197
596 6845 1511
597 6847 133666
598 6872 1381
599 6884 1197
600 6893 1511
601 6907 133666
602 6919 1381
603 6923 1197
604 6942 1511
605 6947 82312
606 6963 1197
607 6963 1381
608 6967 133666
609 6993 1511
610 7004 1197
611 7011 1381
612 7028 133666
613 7041 1197
614 7041 1511
615 7061 1381
616 7082 1197
617 7085 1511
618 7087 133666
619 7112 1381
620 7124 1197
621 7133 1511
622 7147 133666
623 7159 1381
624 7163 1197
625 7182 1511
626 7203 1197
627 7203 1381
628 7207 133666
629 7233 1511
630 7244 1197
631 7247 82312
632 7251 1381
633 7268 133666
634 7281 1197
635 7281 1511
636 7301 1381
637 7322 1197
638 7325 1511
639 7327 133666
640 7352 1381
641 7364 1197
642 7373 1511
643 7387 133666
644 7399 1381
645 7403 1197
646 7422 1511
647 7443 1197
648 7443 1381
649 7447 133666
650 7473 1511
651 7484 1197
652 7491 1381
653 7508 133666
654 7521 1197
655 7521 1511
656 7541 1381
657 7549 82312
658 7562 1197
659 7565 1511
660 7567 133666
661 7592 1381
662 7604 1197
663 7613 1511
664 7627 133666
665 7639 1381
666 7643 1197
667 7662 1511
668 7683 1197
669 7683 1381
670 7687 133666
671 7713 1511
672 7724 1197
673 7731 1381
674 7748 133666
675 7761 1197
676 7761 1511
677 7781 1381
678 7802 1197
679 7805 1511
680 7807 133666
681 7832 1381
682 7844 1197
683 7848 82312
684 7853 1511
685 7867 133666
686 7879 1381
687 7883 1197
688 7902 1511
689 7923 1197
690 7923 1381
691 7927 133666
692 7953 1511
693 7964 1197
694 7971 1381
695 7988 133666
696 8001 1197
697 8001 1511
698 8021 1381
699 8042 1197
700 8045 1511
701 8047 133666
702 8072 1381
703 8084 1197
704 8093 1511
705 8107 133666
706 8119 1381
707 8123 1197
708 8142 1511
709 8147 82312
710 8163 1197
711 8163 1381
712 8167 133666
713 8193 1511
714 8204 1197
715 8211 1381
716 8228 133666
717 8241 1197
718 8241 1511
719 8261 1381
720 8282 1197
721 8285 1511
722 8287 133666
723 8312 1381
724 8324 1197
725 8333 1511
726 8347 133666
727 8359 1381
728 8363 1197
729 8382 1511
730 8403 1197
731 8403 1381
732 8407 133666
733 8433 1511
734 8444 1197
735 8447 82312
736 8451 1381
737 8468 133666
738 8481 1197
739 8481 1511
740 8501 1381
741 8522 1197
742 8525 1511
743 8527 133666
744 8552 1381
745 8564 1197
746 8573 1511
747 8587 133666
748 8599 1381
749 8603 1197
750 8622 1511
751 8643 1197
752 8643 1381
753 8647 133666
754 8673 1511
755 8684 1197
756 8691 1381
757 8708 133666
758 8721 1197
759 8721 1511
760 8741 1381
761 8749 82312
762 8762 1197
763 8765 1511
764 8767 133666
765 8792 1381
766 8804 1197
767 8813 1511
768 8827 133666
769 8839 1381
770 8843 1197
771 8862 1511
772 8883 1197
773 8883 1381
774 8887 133666
775 8913 1511
776 8924 1197
777 8931 1381
778 8948 133666
779 8961 1197
780 8961 1511
781 8981 1381
782 9002 1197
783 9005 1511
784 9007 133666
785 9032 1381
786 9044 1197
787 9048 82312
788 9053 1511
789 9067 133666
790 9079 1381
791 9083 1197
792 9102 1511
793 9123 1197
794 9123 1381
795 9127 133666
796 9153 1511
797 9164 1197
798 9171 1381
799 9188 133666
800 9201 1197
801 9201 1511
802 9221 1381
803 9242 1197
804 9245 1511
805 9247 133666
806 9272 1381
807 9284 1197
808 9293 1511
809 9307 133666
810 9319 1381
811 9323 1197
812 9342 1511
813 9347 82312
814 9363 1197
815 9363 1381
816 9367 133666
817 9393 1511
818 9404 1197
819 9411 1381
820 9428 133666
821 9441 1197
822 9441 1511
823 9461 1381
824 9482 1197
825 9485 1511
826 9487 133666
827 9512 1381
828 9524 1197
829 9533 1511
830 9547 133666
831 9559 1381
832 9563 1197
833 9582 1511
834 9603 1197
835 9603 1381
836 9607 133666
837 9633 1511
838 9644 1197
839 9647 82312
840 9651 1381
841 9668 133666
842 9681 1197
843 9681 1511
844 9701 1381
845 9722 1197
846 9725 1511
847 9727 133666
848 9752 1381
849 9764 1197
850 9773 1511
851 9787 133666
852 9799 1381
853 9803 1197
854 9822 1511
855 9843 1197
856 9843 1381
857 9847 133666
858 9873 1511
859 9884 1197
860 9891 1381
861 9908 133666
862 9921 1197
863 9921 1511
864 9941 1381
865 9949 82312
866 9962 1197
867 9965 1511
868 9967 133666
869 9992 1381
@@ -0,0 +1 @@
step,neuron_idx
1 step neuron_idx
@@ -0,0 +1 @@
step,neuron_idx
1 step neuron_idx
@@ -0,0 +1 @@
step,neuron_idx
1 step neuron_idx
@@ -0,0 +1 @@
step,neuron_idx
1 step neuron_idx
@@ -0,0 +1,474 @@
step,neuron_idx
0,1381
49,1511
90,1381
122,1511
149,1381
177,1511
199,1381
225,1511
245,1381
270,1511
289,1381
314,1511
332,1381
357,1511
375,1381
399,1511
417,1381
441,1511
459,1381
483,1511
501,1381
525,1511
543,1381
567,1511
585,1381
609,1511
627,1381
651,1511
669,1381
693,1511
711,1381
735,1511
753,1381
777,1511
795,1381
819,1511
837,1381
861,1511
879,1381
903,1511
921,1381
945,1511
963,1381
987,1511
1005,1381
1029,1511
1047,1381
1071,1511
1089,1381
1113,1511
1131,1381
1155,1511
1173,1381
1197,1511
1215,1381
1239,1511
1257,1381
1281,1511
1299,1381
1323,1511
1341,1381
1365,1511
1383,1381
1407,1511
1425,1381
1449,1511
1467,1381
1491,1511
1509,1381
1533,1511
1551,1381
1575,1511
1593,1381
1617,1511
1635,1381
1659,1511
1677,1381
1701,1511
1719,1381
1743,1511
1761,1381
1785,1511
1803,1381
1827,1511
1845,1381
1869,1511
1887,1381
1911,1511
1929,1381
1953,1511
1971,1381
1995,1511
2013,1381
2037,1511
2055,1381
2079,1511
2097,1381
2121,1511
2139,1381
2163,1511
2181,1381
2205,1511
2223,1381
2247,1511
2265,1381
2289,1511
2307,1381
2331,1511
2349,1381
2373,1511
2391,1381
2415,1511
2433,1381
2457,1511
2475,1381
2499,1511
2517,1381
2541,1511
2559,1381
2583,1511
2601,1381
2625,1511
2643,1381
2667,1511
2685,1381
2709,1511
2727,1381
2751,1511
2769,1381
2793,1511
2811,1381
2835,1511
2853,1381
2877,1511
2895,1381
2919,1511
2937,1381
2961,1511
2979,1381
3003,1511
3021,1381
3045,1511
3063,1381
3087,1511
3105,1381
3129,1511
3147,1381
3171,1511
3189,1381
3213,1511
3231,1381
3255,1511
3273,1381
3297,1511
3315,1381
3339,1511
3357,1381
3381,1511
3399,1381
3423,1511
3441,1381
3465,1511
3483,1381
3507,1511
3525,1381
3549,1511
3567,1381
3591,1511
3609,1381
3633,1511
3651,1381
3675,1511
3693,1381
3717,1511
3735,1381
3759,1511
3777,1381
3801,1511
3819,1381
3843,1511
3861,1381
3885,1511
3903,1381
3927,1511
3945,1381
3969,1511
3987,1381
4011,1511
4029,1381
4053,1511
4071,1381
4095,1511
4113,1381
4137,1511
4155,1381
4179,1511
4197,1381
4221,1511
4239,1381
4263,1511
4281,1381
4305,1511
4323,1381
4347,1511
4365,1381
4389,1511
4407,1381
4431,1511
4449,1381
4473,1511
4491,1381
4515,1511
4533,1381
4557,1511
4575,1381
4599,1511
4617,1381
4641,1511
4659,1381
4683,1511
4701,1381
4725,1511
4743,1381
4767,1511
4785,1381
4809,1511
4827,1381
4851,1511
4869,1381
4893,1511
4911,1381
4935,1511
4953,1381
4977,1511
4995,1381
5019,1511
5037,1381
5061,1511
5079,1381
5103,1511
5121,1381
5145,1511
5163,1381
5187,1511
5205,1381
5229,1511
5247,1381
5271,1511
5289,1381
5313,1511
5331,1381
5355,1511
5373,1381
5397,1511
5415,1381
5439,1511
5457,1381
5481,1511
5499,1381
5523,1511
5541,1381
5565,1511
5583,1381
5607,1511
5625,1381
5649,1511
5667,1381
5691,1511
5709,1381
5733,1511
5751,1381
5775,1511
5793,1381
5817,1511
5835,1381
5859,1511
5877,1381
5901,1511
5919,1381
5943,1511
5961,1381
5985,1511
6003,1381
6027,1511
6045,1381
6069,1511
6087,1381
6111,1511
6129,1381
6153,1511
6171,1381
6195,1511
6213,1381
6237,1511
6255,1381
6279,1511
6297,1381
6321,1511
6339,1381
6363,1511
6381,1381
6405,1511
6423,1381
6447,1511
6465,1381
6489,1511
6507,1381
6531,1511
6549,1381
6573,1511
6591,1381
6615,1511
6633,1381
6657,1511
6675,1381
6699,1511
6717,1381
6741,1511
6759,1381
6783,1511
6801,1381
6825,1511
6843,1381
6867,1511
6885,1381
6909,1511
6927,1381
6951,1511
6969,1381
6993,1511
7011,1381
7035,1511
7053,1381
7077,1511
7095,1381
7119,1511
7137,1381
7161,1511
7179,1381
7203,1511
7221,1381
7245,1511
7263,1381
7287,1511
7305,1381
7329,1511
7347,1381
7371,1511
7389,1381
7413,1511
7431,1381
7455,1511
7473,1381
7497,1511
7515,1381
7539,1511
7557,1381
7581,1511
7599,1381
7623,1511
7641,1381
7665,1511
7683,1381
7707,1511
7725,1381
7749,1511
7767,1381
7791,1511
7809,1381
7833,1511
7851,1381
7875,1511
7893,1381
7917,1511
7935,1381
7959,1511
7977,1381
8001,1511
8019,1381
8043,1511
8061,1381
8085,1511
8103,1381
8127,1511
8145,1381
8169,1511
8187,1381
8211,1511
8229,1381
8253,1511
8271,1381
8295,1511
8313,1381
8337,1511
8355,1381
8379,1511
8397,1381
8421,1511
8439,1381
8463,1511
8481,1381
8505,1511
8523,1381
8547,1511
8565,1381
8589,1511
8607,1381
8631,1511
8649,1381
8673,1511
8691,1381
8715,1511
8733,1381
8757,1511
8775,1381
8799,1511
8817,1381
8841,1511
8859,1381
8883,1511
8901,1381
8925,1511
8943,1381
8967,1511
8985,1381
9009,1511
9027,1381
9051,1511
9069,1381
9093,1511
9111,1381
9135,1511
9153,1381
9177,1511
9195,1381
9219,1511
9237,1381
9261,1511
9279,1381
9303,1511
9321,1381
9345,1511
9363,1381
9387,1511
9405,1381
9429,1511
9447,1381
9471,1511
9489,1381
9513,1511
9531,1381
9555,1511
9573,1381
9597,1511
9615,1381
9639,1511
9657,1381
9681,1511
9699,1381
9723,1511
9741,1381
9765,1511
9783,1381
9807,1511
9825,1381
9849,1511
9867,1381
9891,1511
9909,1381
9933,1511
9951,1381
9975,1511
9993,1381
1 step neuron_idx
2 0 1381
3 49 1511
4 90 1381
5 122 1511
6 149 1381
7 177 1511
8 199 1381
9 225 1511
10 245 1381
11 270 1511
12 289 1381
13 314 1511
14 332 1381
15 357 1511
16 375 1381
17 399 1511
18 417 1381
19 441 1511
20 459 1381
21 483 1511
22 501 1381
23 525 1511
24 543 1381
25 567 1511
26 585 1381
27 609 1511
28 627 1381
29 651 1511
30 669 1381
31 693 1511
32 711 1381
33 735 1511
34 753 1381
35 777 1511
36 795 1381
37 819 1511
38 837 1381
39 861 1511
40 879 1381
41 903 1511
42 921 1381
43 945 1511
44 963 1381
45 987 1511
46 1005 1381
47 1029 1511
48 1047 1381
49 1071 1511
50 1089 1381
51 1113 1511
52 1131 1381
53 1155 1511
54 1173 1381
55 1197 1511
56 1215 1381
57 1239 1511
58 1257 1381
59 1281 1511
60 1299 1381
61 1323 1511
62 1341 1381
63 1365 1511
64 1383 1381
65 1407 1511
66 1425 1381
67 1449 1511
68 1467 1381
69 1491 1511
70 1509 1381
71 1533 1511
72 1551 1381
73 1575 1511
74 1593 1381
75 1617 1511
76 1635 1381
77 1659 1511
78 1677 1381
79 1701 1511
80 1719 1381
81 1743 1511
82 1761 1381
83 1785 1511
84 1803 1381
85 1827 1511
86 1845 1381
87 1869 1511
88 1887 1381
89 1911 1511
90 1929 1381
91 1953 1511
92 1971 1381
93 1995 1511
94 2013 1381
95 2037 1511
96 2055 1381
97 2079 1511
98 2097 1381
99 2121 1511
100 2139 1381
101 2163 1511
102 2181 1381
103 2205 1511
104 2223 1381
105 2247 1511
106 2265 1381
107 2289 1511
108 2307 1381
109 2331 1511
110 2349 1381
111 2373 1511
112 2391 1381
113 2415 1511
114 2433 1381
115 2457 1511
116 2475 1381
117 2499 1511
118 2517 1381
119 2541 1511
120 2559 1381
121 2583 1511
122 2601 1381
123 2625 1511
124 2643 1381
125 2667 1511
126 2685 1381
127 2709 1511
128 2727 1381
129 2751 1511
130 2769 1381
131 2793 1511
132 2811 1381
133 2835 1511
134 2853 1381
135 2877 1511
136 2895 1381
137 2919 1511
138 2937 1381
139 2961 1511
140 2979 1381
141 3003 1511
142 3021 1381
143 3045 1511
144 3063 1381
145 3087 1511
146 3105 1381
147 3129 1511
148 3147 1381
149 3171 1511
150 3189 1381
151 3213 1511
152 3231 1381
153 3255 1511
154 3273 1381
155 3297 1511
156 3315 1381
157 3339 1511
158 3357 1381
159 3381 1511
160 3399 1381
161 3423 1511
162 3441 1381
163 3465 1511
164 3483 1381
165 3507 1511
166 3525 1381
167 3549 1511
168 3567 1381
169 3591 1511
170 3609 1381
171 3633 1511
172 3651 1381
173 3675 1511
174 3693 1381
175 3717 1511
176 3735 1381
177 3759 1511
178 3777 1381
179 3801 1511
180 3819 1381
181 3843 1511
182 3861 1381
183 3885 1511
184 3903 1381
185 3927 1511
186 3945 1381
187 3969 1511
188 3987 1381
189 4011 1511
190 4029 1381
191 4053 1511
192 4071 1381
193 4095 1511
194 4113 1381
195 4137 1511
196 4155 1381
197 4179 1511
198 4197 1381
199 4221 1511
200 4239 1381
201 4263 1511
202 4281 1381
203 4305 1511
204 4323 1381
205 4347 1511
206 4365 1381
207 4389 1511
208 4407 1381
209 4431 1511
210 4449 1381
211 4473 1511
212 4491 1381
213 4515 1511
214 4533 1381
215 4557 1511
216 4575 1381
217 4599 1511
218 4617 1381
219 4641 1511
220 4659 1381
221 4683 1511
222 4701 1381
223 4725 1511
224 4743 1381
225 4767 1511
226 4785 1381
227 4809 1511
228 4827 1381
229 4851 1511
230 4869 1381
231 4893 1511
232 4911 1381
233 4935 1511
234 4953 1381
235 4977 1511
236 4995 1381
237 5019 1511
238 5037 1381
239 5061 1511
240 5079 1381
241 5103 1511
242 5121 1381
243 5145 1511
244 5163 1381
245 5187 1511
246 5205 1381
247 5229 1511
248 5247 1381
249 5271 1511
250 5289 1381
251 5313 1511
252 5331 1381
253 5355 1511
254 5373 1381
255 5397 1511
256 5415 1381
257 5439 1511
258 5457 1381
259 5481 1511
260 5499 1381
261 5523 1511
262 5541 1381
263 5565 1511
264 5583 1381
265 5607 1511
266 5625 1381
267 5649 1511
268 5667 1381
269 5691 1511
270 5709 1381
271 5733 1511
272 5751 1381
273 5775 1511
274 5793 1381
275 5817 1511
276 5835 1381
277 5859 1511
278 5877 1381
279 5901 1511
280 5919 1381
281 5943 1511
282 5961 1381
283 5985 1511
284 6003 1381
285 6027 1511
286 6045 1381
287 6069 1511
288 6087 1381
289 6111 1511
290 6129 1381
291 6153 1511
292 6171 1381
293 6195 1511
294 6213 1381
295 6237 1511
296 6255 1381
297 6279 1511
298 6297 1381
299 6321 1511
300 6339 1381
301 6363 1511
302 6381 1381
303 6405 1511
304 6423 1381
305 6447 1511
306 6465 1381
307 6489 1511
308 6507 1381
309 6531 1511
310 6549 1381
311 6573 1511
312 6591 1381
313 6615 1511
314 6633 1381
315 6657 1511
316 6675 1381
317 6699 1511
318 6717 1381
319 6741 1511
320 6759 1381
321 6783 1511
322 6801 1381
323 6825 1511
324 6843 1381
325 6867 1511
326 6885 1381
327 6909 1511
328 6927 1381
329 6951 1511
330 6969 1381
331 6993 1511
332 7011 1381
333 7035 1511
334 7053 1381
335 7077 1511
336 7095 1381
337 7119 1511
338 7137 1381
339 7161 1511
340 7179 1381
341 7203 1511
342 7221 1381
343 7245 1511
344 7263 1381
345 7287 1511
346 7305 1381
347 7329 1511
348 7347 1381
349 7371 1511
350 7389 1381
351 7413 1511
352 7431 1381
353 7455 1511
354 7473 1381
355 7497 1511
356 7515 1381
357 7539 1511
358 7557 1381
359 7581 1511
360 7599 1381
361 7623 1511
362 7641 1381
363 7665 1511
364 7683 1381
365 7707 1511
366 7725 1381
367 7749 1511
368 7767 1381
369 7791 1511
370 7809 1381
371 7833 1511
372 7851 1381
373 7875 1511
374 7893 1381
375 7917 1511
376 7935 1381
377 7959 1511
378 7977 1381
379 8001 1511
380 8019 1381
381 8043 1511
382 8061 1381
383 8085 1511
384 8103 1381
385 8127 1511
386 8145 1381
387 8169 1511
388 8187 1381
389 8211 1511
390 8229 1381
391 8253 1511
392 8271 1381
393 8295 1511
394 8313 1381
395 8337 1511
396 8355 1381
397 8379 1511
398 8397 1381
399 8421 1511
400 8439 1381
401 8463 1511
402 8481 1381
403 8505 1511
404 8523 1381
405 8547 1511
406 8565 1381
407 8589 1511
408 8607 1381
409 8631 1511
410 8649 1381
411 8673 1511
412 8691 1381
413 8715 1511
414 8733 1381
415 8757 1511
416 8775 1381
417 8799 1511
418 8817 1381
419 8841 1511
420 8859 1381
421 8883 1511
422 8901 1381
423 8925 1511
424 8943 1381
425 8967 1511
426 8985 1381
427 9009 1511
428 9027 1381
429 9051 1511
430 9069 1381
431 9093 1511
432 9111 1381
433 9135 1511
434 9153 1381
435 9177 1511
436 9195 1381
437 9219 1511
438 9237 1381
439 9261 1511
440 9279 1381
441 9303 1511
442 9321 1381
443 9345 1511
444 9363 1381
445 9387 1511
446 9405 1381
447 9429 1511
448 9447 1381
449 9471 1511
450 9489 1381
451 9513 1511
452 9531 1381
453 9555 1511
454 9573 1381
455 9597 1511
456 9615 1381
457 9639 1511
458 9657 1381
459 9681 1511
460 9699 1381
461 9723 1511
462 9741 1381
463 9765 1511
464 9783 1381
465 9807 1511
466 9825 1381
467 9849 1511
468 9867 1381
469 9891 1511
470 9909 1381
471 9933 1511
472 9951 1381
473 9975 1511
474 9993 1381
@@ -0,0 +1,636 @@
step,neuron_idx
0,1381
49,1511
90,1381
116,1511
139,1381
160,1511
178,1381
197,1511
211,1381
230,1511
247,1381
261,1511
283,1381
294,1511
314,1381
331,1511
344,1381
368,1511
376,1381
400,1511
411,1381
431,1511
450,1381
461,1511
481,1381
493,1511
511,1381
528,1511
539,1381
563,1511
568,1381
593,1511
599,1381
622,1511
632,1381
651,1511
669,1381
679,1511
699,1381
708,1511
727,1381
739,1511
754,1381
772,1511
782,1381
802,1511
811,1381
830,1511
842,1381
858,1511
875,1381
887,1511
908,1381
917,1511
938,1381
949,1511
967,1381
985,1511
995,1381
1015,1511
1024,1381
1044,1511
1054,1381
1072,1511
1086,1381
1099,1511
1119,1381
1127,1511
1148,1381
1156,1511
1176,1381
1187,1511
1203,1381
1220,1511
1231,1381
1253,1511
1260,1381
1283,1511
1291,1381
1312,1511
1324,1381
1341,1511
1360,1381
1371,1511
1390,1381
1403,1511
1419,1381
1438,1511
1449,1381
1469,1511
1481,1381
1499,1511
1517,1381
1527,1511
1547,1381
1557,1511
1575,1381
1588,1511
1602,1381
1621,1511
1630,1381
1651,1511
1659,1381
1679,1511
1690,1381
1707,1511
1723,1381
1736,1511
1757,1381
1767,1511
1787,1381
1800,1511
1816,1381
1835,1511
1846,1381
1866,1511
1879,1381
1896,1511
1914,1381
1928,1511
1945,1381
1963,1511
1979,1381
1995,1511
2015,1381
2030,1511
2047,1381
2067,1511
2082,1381
2100,1511
2120,1381
2131,1511
2151,1381
2165,1511
2181,1381
2201,1511
2213,1381
2233,1511
2248,1381
2264,1511
2285,1381
2297,1511
2317,1381
2334,1511
2347,1381
2371,1511
2379,1381
2403,1511
2414,1381
2434,1511
2453,1381
2464,1511
2484,1381
2496,1511
2514,1381
2531,1511
2542,1381
2566,1511
2571,1381
2596,1511
2602,1381
2625,1511
2635,1381
2654,1511
2672,1381
2682,1511
2702,1381
2711,1511
2730,1381
2742,1511
2757,1381
2775,1511
2785,1381
2805,1511
2814,1381
2833,1511
2845,1381
2861,1511
2878,1381
2890,1511
2911,1381
2920,1511
2941,1381
2952,1511
2970,1381
2988,1511
2998,1381
3018,1511
3027,1381
3047,1511
3057,1381
3075,1511
3089,1381
3102,1511
3122,1381
3130,1511
3151,1381
3159,1511
3179,1381
3190,1511
3206,1381
3223,1511
3234,1381
3256,1511
3263,1381
3286,1511
3294,1381
3315,1511
3327,1381
3344,1511
3363,1381
3374,1511
3393,1381
3406,1511
3422,1381
3441,1511
3452,1381
3472,1511
3484,1381
3502,1511
3520,1381
3530,1511
3550,1381
3560,1511
3578,1381
3591,1511
3605,1381
3624,1511
3633,1381
3654,1511
3662,1381
3682,1511
3693,1381
3710,1511
3726,1381
3739,1511
3760,1381
3770,1511
3790,1381
3803,1511
3819,1381
3838,1511
3849,1381
3869,1511
3882,1381
3899,1511
3917,1381
3931,1511
3948,1381
3966,1511
3982,1381
3998,1511
4018,1381
4033,1511
4050,1381
4070,1511
4085,1381
4103,1511
4123,1381
4134,1511
4154,1381
4168,1511
4184,1381
4204,1511
4216,1381
4236,1511
4251,1381
4267,1511
4288,1381
4300,1511
4320,1381
4337,1511
4350,1381
4374,1511
4382,1381
4406,1511
4417,1381
4437,1511
4456,1381
4467,1511
4487,1381
4499,1511
4517,1381
4534,1511
4545,1381
4569,1511
4574,1381
4599,1511
4605,1381
4628,1511
4638,1381
4657,1511
4675,1381
4685,1511
4705,1381
4714,1511
4733,1381
4745,1511
4760,1381
4778,1511
4788,1381
4808,1511
4817,1381
4836,1511
4848,1381
4864,1511
4881,1381
4893,1511
4914,1381
4923,1511
4944,1381
4955,1511
4973,1381
4991,1511
5001,1381
5021,1511
5030,1381
5050,1511
5060,1381
5078,1511
5092,1381
5105,1511
5125,1381
5133,1511
5154,1381
5162,1511
5182,1381
5193,1511
5209,1381
5226,1511
5237,1381
5259,1511
5266,1381
5289,1511
5297,1381
5318,1511
5330,1381
5347,1511
5366,1381
5377,1511
5396,1381
5409,1511
5425,1381
5444,1511
5455,1381
5475,1511
5487,1381
5505,1511
5523,1381
5533,1511
5553,1381
5563,1511
5581,1381
5594,1511
5608,1381
5627,1511
5636,1381
5657,1511
5665,1381
5685,1511
5696,1381
5713,1511
5729,1381
5742,1511
5763,1381
5773,1511
5793,1381
5806,1511
5822,1381
5841,1511
5852,1381
5872,1511
5885,1381
5902,1511
5920,1381
5934,1511
5951,1381
5969,1511
5985,1381
6001,1511
6021,1381
6036,1511
6053,1381
6073,1511
6088,1381
6106,1511
6126,1381
6137,1511
6157,1381
6171,1511
6187,1381
6207,1511
6219,1381
6239,1511
6254,1381
6270,1511
6291,1381
6303,1511
6323,1381
6340,1511
6353,1381
6377,1511
6385,1381
6409,1511
6420,1381
6440,1511
6459,1381
6470,1511
6490,1381
6502,1511
6520,1381
6537,1511
6548,1381
6572,1511
6577,1381
6602,1511
6608,1381
6631,1511
6641,1381
6660,1511
6678,1381
6688,1511
6708,1381
6717,1511
6736,1381
6748,1511
6763,1381
6781,1511
6791,1381
6811,1511
6820,1381
6839,1511
6851,1381
6867,1511
6884,1381
6896,1511
6917,1381
6926,1511
6947,1381
6958,1511
6976,1381
6994,1511
7004,1381
7024,1511
7033,1381
7053,1511
7063,1381
7081,1511
7095,1381
7108,1511
7128,1381
7136,1511
7157,1381
7165,1511
7185,1381
7196,1511
7212,1381
7229,1511
7240,1381
7262,1511
7269,1381
7292,1511
7300,1381
7321,1511
7333,1381
7350,1511
7369,1381
7380,1511
7399,1381
7412,1511
7428,1381
7447,1511
7458,1381
7478,1511
7490,1381
7508,1511
7526,1381
7536,1511
7556,1381
7566,1511
7584,1381
7597,1511
7611,1381
7630,1511
7639,1381
7660,1511
7668,1381
7688,1511
7699,1381
7716,1511
7732,1381
7745,1511
7766,1381
7776,1511
7796,1381
7809,1511
7825,1381
7844,1511
7855,1381
7875,1511
7888,1381
7905,1511
7923,1381
7937,1511
7954,1381
7972,1511
7988,1381
8004,1511
8024,1381
8039,1511
8056,1381
8076,1511
8091,1381
8109,1511
8129,1381
8140,1511
8160,1381
8174,1511
8190,1381
8210,1511
8222,1381
8242,1511
8257,1381
8273,1511
8294,1381
8306,1511
8326,1381
8343,1511
8356,1381
8380,1511
8388,1381
8412,1511
8423,1381
8443,1511
8462,1381
8473,1511
8493,1381
8505,1511
8523,1381
8540,1511
8551,1381
8575,1511
8580,1381
8605,1511
8611,1381
8634,1511
8644,1381
8663,1511
8681,1381
8691,1511
8711,1381
8720,1511
8739,1381
8751,1511
8766,1381
8784,1511
8794,1381
8814,1511
8823,1381
8842,1511
8854,1381
8870,1511
8887,1381
8899,1511
8920,1381
8929,1511
8950,1381
8961,1511
8979,1381
8997,1511
9007,1381
9027,1511
9036,1381
9056,1511
9066,1381
9084,1511
9098,1381
9111,1511
9131,1381
9139,1511
9160,1381
9168,1511
9188,1381
9199,1511
9215,1381
9232,1511
9243,1381
9265,1511
9272,1381
9295,1511
9303,1381
9324,1511
9336,1381
9353,1511
9372,1381
9383,1511
9402,1381
9415,1511
9431,1381
9450,1511
9461,1381
9481,1511
9493,1381
9511,1511
9529,1381
9539,1511
9559,1381
9569,1511
9587,1381
9600,1511
9614,1381
9633,1511
9642,1381
9663,1511
9671,1381
9691,1511
9702,1381
9719,1511
9735,1381
9748,1511
9769,1381
9779,1511
9799,1381
9812,1511
9828,1381
9847,1511
9858,1381
9878,1511
9891,1381
9908,1511
9926,1381
9940,1511
9957,1381
9975,1511
9991,1381
1 step neuron_idx
2 0 1381
3 49 1511
4 90 1381
5 116 1511
6 139 1381
7 160 1511
8 178 1381
9 197 1511
10 211 1381
11 230 1511
12 247 1381
13 261 1511
14 283 1381
15 294 1511
16 314 1381
17 331 1511
18 344 1381
19 368 1511
20 376 1381
21 400 1511
22 411 1381
23 431 1511
24 450 1381
25 461 1511
26 481 1381
27 493 1511
28 511 1381
29 528 1511
30 539 1381
31 563 1511
32 568 1381
33 593 1511
34 599 1381
35 622 1511
36 632 1381
37 651 1511
38 669 1381
39 679 1511
40 699 1381
41 708 1511
42 727 1381
43 739 1511
44 754 1381
45 772 1511
46 782 1381
47 802 1511
48 811 1381
49 830 1511
50 842 1381
51 858 1511
52 875 1381
53 887 1511
54 908 1381
55 917 1511
56 938 1381
57 949 1511
58 967 1381
59 985 1511
60 995 1381
61 1015 1511
62 1024 1381
63 1044 1511
64 1054 1381
65 1072 1511
66 1086 1381
67 1099 1511
68 1119 1381
69 1127 1511
70 1148 1381
71 1156 1511
72 1176 1381
73 1187 1511
74 1203 1381
75 1220 1511
76 1231 1381
77 1253 1511
78 1260 1381
79 1283 1511
80 1291 1381
81 1312 1511
82 1324 1381
83 1341 1511
84 1360 1381
85 1371 1511
86 1390 1381
87 1403 1511
88 1419 1381
89 1438 1511
90 1449 1381
91 1469 1511
92 1481 1381
93 1499 1511
94 1517 1381
95 1527 1511
96 1547 1381
97 1557 1511
98 1575 1381
99 1588 1511
100 1602 1381
101 1621 1511
102 1630 1381
103 1651 1511
104 1659 1381
105 1679 1511
106 1690 1381
107 1707 1511
108 1723 1381
109 1736 1511
110 1757 1381
111 1767 1511
112 1787 1381
113 1800 1511
114 1816 1381
115 1835 1511
116 1846 1381
117 1866 1511
118 1879 1381
119 1896 1511
120 1914 1381
121 1928 1511
122 1945 1381
123 1963 1511
124 1979 1381
125 1995 1511
126 2015 1381
127 2030 1511
128 2047 1381
129 2067 1511
130 2082 1381
131 2100 1511
132 2120 1381
133 2131 1511
134 2151 1381
135 2165 1511
136 2181 1381
137 2201 1511
138 2213 1381
139 2233 1511
140 2248 1381
141 2264 1511
142 2285 1381
143 2297 1511
144 2317 1381
145 2334 1511
146 2347 1381
147 2371 1511
148 2379 1381
149 2403 1511
150 2414 1381
151 2434 1511
152 2453 1381
153 2464 1511
154 2484 1381
155 2496 1511
156 2514 1381
157 2531 1511
158 2542 1381
159 2566 1511
160 2571 1381
161 2596 1511
162 2602 1381
163 2625 1511
164 2635 1381
165 2654 1511
166 2672 1381
167 2682 1511
168 2702 1381
169 2711 1511
170 2730 1381
171 2742 1511
172 2757 1381
173 2775 1511
174 2785 1381
175 2805 1511
176 2814 1381
177 2833 1511
178 2845 1381
179 2861 1511
180 2878 1381
181 2890 1511
182 2911 1381
183 2920 1511
184 2941 1381
185 2952 1511
186 2970 1381
187 2988 1511
188 2998 1381
189 3018 1511
190 3027 1381
191 3047 1511
192 3057 1381
193 3075 1511
194 3089 1381
195 3102 1511
196 3122 1381
197 3130 1511
198 3151 1381
199 3159 1511
200 3179 1381
201 3190 1511
202 3206 1381
203 3223 1511
204 3234 1381
205 3256 1511
206 3263 1381
207 3286 1511
208 3294 1381
209 3315 1511
210 3327 1381
211 3344 1511
212 3363 1381
213 3374 1511
214 3393 1381
215 3406 1511
216 3422 1381
217 3441 1511
218 3452 1381
219 3472 1511
220 3484 1381
221 3502 1511
222 3520 1381
223 3530 1511
224 3550 1381
225 3560 1511
226 3578 1381
227 3591 1511
228 3605 1381
229 3624 1511
230 3633 1381
231 3654 1511
232 3662 1381
233 3682 1511
234 3693 1381
235 3710 1511
236 3726 1381
237 3739 1511
238 3760 1381
239 3770 1511
240 3790 1381
241 3803 1511
242 3819 1381
243 3838 1511
244 3849 1381
245 3869 1511
246 3882 1381
247 3899 1511
248 3917 1381
249 3931 1511
250 3948 1381
251 3966 1511
252 3982 1381
253 3998 1511
254 4018 1381
255 4033 1511
256 4050 1381
257 4070 1511
258 4085 1381
259 4103 1511
260 4123 1381
261 4134 1511
262 4154 1381
263 4168 1511
264 4184 1381
265 4204 1511
266 4216 1381
267 4236 1511
268 4251 1381
269 4267 1511
270 4288 1381
271 4300 1511
272 4320 1381
273 4337 1511
274 4350 1381
275 4374 1511
276 4382 1381
277 4406 1511
278 4417 1381
279 4437 1511
280 4456 1381
281 4467 1511
282 4487 1381
283 4499 1511
284 4517 1381
285 4534 1511
286 4545 1381
287 4569 1511
288 4574 1381
289 4599 1511
290 4605 1381
291 4628 1511
292 4638 1381
293 4657 1511
294 4675 1381
295 4685 1511
296 4705 1381
297 4714 1511
298 4733 1381
299 4745 1511
300 4760 1381
301 4778 1511
302 4788 1381
303 4808 1511
304 4817 1381
305 4836 1511
306 4848 1381
307 4864 1511
308 4881 1381
309 4893 1511
310 4914 1381
311 4923 1511
312 4944 1381
313 4955 1511
314 4973 1381
315 4991 1511
316 5001 1381
317 5021 1511
318 5030 1381
319 5050 1511
320 5060 1381
321 5078 1511
322 5092 1381
323 5105 1511
324 5125 1381
325 5133 1511
326 5154 1381
327 5162 1511
328 5182 1381
329 5193 1511
330 5209 1381
331 5226 1511
332 5237 1381
333 5259 1511
334 5266 1381
335 5289 1511
336 5297 1381
337 5318 1511
338 5330 1381
339 5347 1511
340 5366 1381
341 5377 1511
342 5396 1381
343 5409 1511
344 5425 1381
345 5444 1511
346 5455 1381
347 5475 1511
348 5487 1381
349 5505 1511
350 5523 1381
351 5533 1511
352 5553 1381
353 5563 1511
354 5581 1381
355 5594 1511
356 5608 1381
357 5627 1511
358 5636 1381
359 5657 1511
360 5665 1381
361 5685 1511
362 5696 1381
363 5713 1511
364 5729 1381
365 5742 1511
366 5763 1381
367 5773 1511
368 5793 1381
369 5806 1511
370 5822 1381
371 5841 1511
372 5852 1381
373 5872 1511
374 5885 1381
375 5902 1511
376 5920 1381
377 5934 1511
378 5951 1381
379 5969 1511
380 5985 1381
381 6001 1511
382 6021 1381
383 6036 1511
384 6053 1381
385 6073 1511
386 6088 1381
387 6106 1511
388 6126 1381
389 6137 1511
390 6157 1381
391 6171 1511
392 6187 1381
393 6207 1511
394 6219 1381
395 6239 1511
396 6254 1381
397 6270 1511
398 6291 1381
399 6303 1511
400 6323 1381
401 6340 1511
402 6353 1381
403 6377 1511
404 6385 1381
405 6409 1511
406 6420 1381
407 6440 1511
408 6459 1381
409 6470 1511
410 6490 1381
411 6502 1511
412 6520 1381
413 6537 1511
414 6548 1381
415 6572 1511
416 6577 1381
417 6602 1511
418 6608 1381
419 6631 1511
420 6641 1381
421 6660 1511
422 6678 1381
423 6688 1511
424 6708 1381
425 6717 1511
426 6736 1381
427 6748 1511
428 6763 1381
429 6781 1511
430 6791 1381
431 6811 1511
432 6820 1381
433 6839 1511
434 6851 1381
435 6867 1511
436 6884 1381
437 6896 1511
438 6917 1381
439 6926 1511
440 6947 1381
441 6958 1511
442 6976 1381
443 6994 1511
444 7004 1381
445 7024 1511
446 7033 1381
447 7053 1511
448 7063 1381
449 7081 1511
450 7095 1381
451 7108 1511
452 7128 1381
453 7136 1511
454 7157 1381
455 7165 1511
456 7185 1381
457 7196 1511
458 7212 1381
459 7229 1511
460 7240 1381
461 7262 1511
462 7269 1381
463 7292 1511
464 7300 1381
465 7321 1511
466 7333 1381
467 7350 1511
468 7369 1381
469 7380 1511
470 7399 1381
471 7412 1511
472 7428 1381
473 7447 1511
474 7458 1381
475 7478 1511
476 7490 1381
477 7508 1511
478 7526 1381
479 7536 1511
480 7556 1381
481 7566 1511
482 7584 1381
483 7597 1511
484 7611 1381
485 7630 1511
486 7639 1381
487 7660 1511
488 7668 1381
489 7688 1511
490 7699 1381
491 7716 1511
492 7732 1381
493 7745 1511
494 7766 1381
495 7776 1511
496 7796 1381
497 7809 1511
498 7825 1381
499 7844 1511
500 7855 1381
501 7875 1511
502 7888 1381
503 7905 1511
504 7923 1381
505 7937 1511
506 7954 1381
507 7972 1511
508 7988 1381
509 8004 1511
510 8024 1381
511 8039 1511
512 8056 1381
513 8076 1511
514 8091 1381
515 8109 1511
516 8129 1381
517 8140 1511
518 8160 1381
519 8174 1511
520 8190 1381
521 8210 1511
522 8222 1381
523 8242 1511
524 8257 1381
525 8273 1511
526 8294 1381
527 8306 1511
528 8326 1381
529 8343 1511
530 8356 1381
531 8380 1511
532 8388 1381
533 8412 1511
534 8423 1381
535 8443 1511
536 8462 1381
537 8473 1511
538 8493 1381
539 8505 1511
540 8523 1381
541 8540 1511
542 8551 1381
543 8575 1511
544 8580 1381
545 8605 1511
546 8611 1381
547 8634 1511
548 8644 1381
549 8663 1511
550 8681 1381
551 8691 1511
552 8711 1381
553 8720 1511
554 8739 1381
555 8751 1511
556 8766 1381
557 8784 1511
558 8794 1381
559 8814 1511
560 8823 1381
561 8842 1511
562 8854 1381
563 8870 1511
564 8887 1381
565 8899 1511
566 8920 1381
567 8929 1511
568 8950 1381
569 8961 1511
570 8979 1381
571 8997 1511
572 9007 1381
573 9027 1511
574 9036 1381
575 9056 1511
576 9066 1381
577 9084 1511
578 9098 1381
579 9111 1511
580 9131 1381
581 9139 1511
582 9160 1381
583 9168 1511
584 9188 1381
585 9199 1511
586 9215 1381
587 9232 1511
588 9243 1381
589 9265 1511
590 9272 1381
591 9295 1511
592 9303 1381
593 9324 1511
594 9336 1381
595 9353 1511
596 9372 1381
597 9383 1511
598 9402 1381
599 9415 1511
600 9431 1381
601 9450 1511
602 9461 1381
603 9481 1511
604 9493 1381
605 9511 1511
606 9529 1381
607 9539 1511
608 9559 1381
609 9569 1511
610 9587 1381
611 9600 1511
612 9614 1381
613 9633 1511
614 9642 1381
615 9663 1511
616 9671 1381
617 9691 1511
618 9702 1381
619 9719 1511
620 9735 1381
621 9748 1511
622 9769 1381
623 9779 1511
624 9799 1381
625 9812 1511
626 9828 1381
627 9847 1511
628 9858 1381
629 9878 1511
630 9891 1381
631 9908 1511
632 9926 1381
633 9940 1511
634 9957 1381
635 9975 1511
636 9991 1381
@@ -0,0 +1,224 @@
step,neuron_idx
0,1381
49,1511
90,1381
139,1511
180,1381
229,1511
270,1381
319,1511
360,1381
409,1511
450,1381
499,1511
540,1381
589,1511
630,1381
679,1511
720,1381
769,1511
810,1381
859,1511
900,1381
949,1511
990,1381
1039,1511
1080,1381
1129,1511
1170,1381
1219,1511
1260,1381
1309,1511
1350,1381
1399,1511
1440,1381
1489,1511
1530,1381
1579,1511
1620,1381
1669,1511
1710,1381
1759,1511
1800,1381
1849,1511
1890,1381
1939,1511
1980,1381
2029,1511
2070,1381
2119,1511
2160,1381
2209,1511
2250,1381
2299,1511
2340,1381
2389,1511
2430,1381
2479,1511
2520,1381
2569,1511
2610,1381
2659,1511
2700,1381
2749,1511
2790,1381
2839,1511
2880,1381
2929,1511
2970,1381
3019,1511
3060,1381
3109,1511
3150,1381
3199,1511
3240,1381
3289,1511
3330,1381
3379,1511
3420,1381
3469,1511
3510,1381
3559,1511
3600,1381
3649,1511
3690,1381
3739,1511
3780,1381
3829,1511
3870,1381
3919,1511
3960,1381
4009,1511
4050,1381
4099,1511
4140,1381
4189,1511
4230,1381
4279,1511
4320,1381
4369,1511
4410,1381
4459,1511
4500,1381
4549,1511
4590,1381
4639,1511
4680,1381
4729,1511
4770,1381
4819,1511
4860,1381
4909,1511
4950,1381
4999,1511
5040,1381
5089,1511
5130,1381
5179,1511
5220,1381
5269,1511
5310,1381
5359,1511
5400,1381
5449,1511
5490,1381
5539,1511
5580,1381
5629,1511
5670,1381
5719,1511
5760,1381
5809,1511
5850,1381
5899,1511
5940,1381
5989,1511
6030,1381
6079,1511
6120,1381
6169,1511
6210,1381
6259,1511
6300,1381
6349,1511
6390,1381
6439,1511
6480,1381
6529,1511
6570,1381
6619,1511
6660,1381
6709,1511
6750,1381
6799,1511
6840,1381
6889,1511
6930,1381
6979,1511
7020,1381
7069,1511
7110,1381
7159,1511
7200,1381
7249,1511
7290,1381
7339,1511
7380,1381
7429,1511
7470,1381
7519,1511
7560,1381
7609,1511
7650,1381
7699,1511
7740,1381
7789,1511
7830,1381
7879,1511
7920,1381
7969,1511
8010,1381
8059,1511
8100,1381
8149,1511
8190,1381
8239,1511
8280,1381
8329,1511
8370,1381
8419,1511
8460,1381
8509,1511
8550,1381
8599,1511
8640,1381
8689,1511
8730,1381
8779,1511
8820,1381
8869,1511
8910,1381
8959,1511
9000,1381
9049,1511
9090,1381
9139,1511
9180,1381
9229,1511
9270,1381
9319,1511
9360,1381
9409,1511
9450,1381
9499,1511
9540,1381
9589,1511
9630,1381
9679,1511
9720,1381
9769,1511
9810,1381
9859,1511
9900,1381
9949,1511
9990,1381
1 step neuron_idx
2 0 1381
3 49 1511
4 90 1381
5 139 1511
6 180 1381
7 229 1511
8 270 1381
9 319 1511
10 360 1381
11 409 1511
12 450 1381
13 499 1511
14 540 1381
15 589 1511
16 630 1381
17 679 1511
18 720 1381
19 769 1511
20 810 1381
21 859 1511
22 900 1381
23 949 1511
24 990 1381
25 1039 1511
26 1080 1381
27 1129 1511
28 1170 1381
29 1219 1511
30 1260 1381
31 1309 1511
32 1350 1381
33 1399 1511
34 1440 1381
35 1489 1511
36 1530 1381
37 1579 1511
38 1620 1381
39 1669 1511
40 1710 1381
41 1759 1511
42 1800 1381
43 1849 1511
44 1890 1381
45 1939 1511
46 1980 1381
47 2029 1511
48 2070 1381
49 2119 1511
50 2160 1381
51 2209 1511
52 2250 1381
53 2299 1511
54 2340 1381
55 2389 1511
56 2430 1381
57 2479 1511
58 2520 1381
59 2569 1511
60 2610 1381
61 2659 1511
62 2700 1381
63 2749 1511
64 2790 1381
65 2839 1511
66 2880 1381
67 2929 1511
68 2970 1381
69 3019 1511
70 3060 1381
71 3109 1511
72 3150 1381
73 3199 1511
74 3240 1381
75 3289 1511
76 3330 1381
77 3379 1511
78 3420 1381
79 3469 1511
80 3510 1381
81 3559 1511
82 3600 1381
83 3649 1511
84 3690 1381
85 3739 1511
86 3780 1381
87 3829 1511
88 3870 1381
89 3919 1511
90 3960 1381
91 4009 1511
92 4050 1381
93 4099 1511
94 4140 1381
95 4189 1511
96 4230 1381
97 4279 1511
98 4320 1381
99 4369 1511
100 4410 1381
101 4459 1511
102 4500 1381
103 4549 1511
104 4590 1381
105 4639 1511
106 4680 1381
107 4729 1511
108 4770 1381
109 4819 1511
110 4860 1381
111 4909 1511
112 4950 1381
113 4999 1511
114 5040 1381
115 5089 1511
116 5130 1381
117 5179 1511
118 5220 1381
119 5269 1511
120 5310 1381
121 5359 1511
122 5400 1381
123 5449 1511
124 5490 1381
125 5539 1511
126 5580 1381
127 5629 1511
128 5670 1381
129 5719 1511
130 5760 1381
131 5809 1511
132 5850 1381
133 5899 1511
134 5940 1381
135 5989 1511
136 6030 1381
137 6079 1511
138 6120 1381
139 6169 1511
140 6210 1381
141 6259 1511
142 6300 1381
143 6349 1511
144 6390 1381
145 6439 1511
146 6480 1381
147 6529 1511
148 6570 1381
149 6619 1511
150 6660 1381
151 6709 1511
152 6750 1381
153 6799 1511
154 6840 1381
155 6889 1511
156 6930 1381
157 6979 1511
158 7020 1381
159 7069 1511
160 7110 1381
161 7159 1511
162 7200 1381
163 7249 1511
164 7290 1381
165 7339 1511
166 7380 1381
167 7429 1511
168 7470 1381
169 7519 1511
170 7560 1381
171 7609 1511
172 7650 1381
173 7699 1511
174 7740 1381
175 7789 1511
176 7830 1381
177 7879 1511
178 7920 1381
179 7969 1511
180 8010 1381
181 8059 1511
182 8100 1381
183 8149 1511
184 8190 1381
185 8239 1511
186 8280 1381
187 8329 1511
188 8370 1381
189 8419 1511
190 8460 1381
191 8509 1511
192 8550 1381
193 8599 1511
194 8640 1381
195 8689 1511
196 8730 1381
197 8779 1511
198 8820 1381
199 8869 1511
200 8910 1381
201 8959 1511
202 9000 1381
203 9049 1511
204 9090 1381
205 9139 1511
206 9180 1381
207 9229 1511
208 9270 1381
209 9319 1511
210 9360 1381
211 9409 1511
212 9450 1381
213 9499 1511
214 9540 1381
215 9589 1511
216 9630 1381
217 9679 1511
218 9720 1381
219 9769 1511
220 9810 1381
221 9859 1511
222 9900 1381
223 9949 1511
224 9990 1381
@@ -0,0 +1,224 @@
step,neuron_idx
0,1381
49,1511
90,1381
139,1511
180,1381
229,1511
270,1381
319,1511
360,1381
409,1511
450,1381
499,1511
540,1381
589,1511
630,1381
679,1511
720,1381
769,1511
810,1381
859,1511
900,1381
949,1511
990,1381
1039,1511
1080,1381
1129,1511
1170,1381
1219,1511
1260,1381
1309,1511
1350,1381
1399,1511
1440,1381
1489,1511
1530,1381
1579,1511
1620,1381
1669,1511
1710,1381
1759,1511
1800,1381
1849,1511
1890,1381
1939,1511
1980,1381
2029,1511
2070,1381
2119,1511
2160,1381
2209,1511
2250,1381
2299,1511
2340,1381
2389,1511
2430,1381
2479,1511
2520,1381
2569,1511
2610,1381
2659,1511
2700,1381
2749,1511
2790,1381
2839,1511
2880,1381
2929,1511
2970,1381
3019,1511
3060,1381
3109,1511
3150,1381
3199,1511
3240,1381
3289,1511
3330,1381
3379,1511
3420,1381
3469,1511
3510,1381
3559,1511
3600,1381
3649,1511
3690,1381
3739,1511
3780,1381
3829,1511
3870,1381
3919,1511
3960,1381
4009,1511
4050,1381
4099,1511
4140,1381
4189,1511
4230,1381
4279,1511
4320,1381
4369,1511
4410,1381
4459,1511
4500,1381
4549,1511
4590,1381
4639,1511
4680,1381
4729,1511
4770,1381
4819,1511
4860,1381
4909,1511
4950,1381
4999,1511
5040,1381
5089,1511
5130,1381
5179,1511
5220,1381
5269,1511
5310,1381
5359,1511
5400,1381
5449,1511
5490,1381
5539,1511
5580,1381
5629,1511
5670,1381
5719,1511
5760,1381
5809,1511
5850,1381
5899,1511
5940,1381
5989,1511
6030,1381
6079,1511
6120,1381
6169,1511
6210,1381
6259,1511
6300,1381
6349,1511
6390,1381
6439,1511
6480,1381
6529,1511
6570,1381
6619,1511
6660,1381
6709,1511
6750,1381
6799,1511
6840,1381
6889,1511
6930,1381
6979,1511
7020,1381
7069,1511
7110,1381
7159,1511
7200,1381
7249,1511
7290,1381
7339,1511
7380,1381
7429,1511
7470,1381
7519,1511
7560,1381
7609,1511
7650,1381
7699,1511
7740,1381
7789,1511
7830,1381
7879,1511
7920,1381
7969,1511
8010,1381
8059,1511
8100,1381
8149,1511
8190,1381
8239,1511
8280,1381
8329,1511
8370,1381
8419,1511
8460,1381
8509,1511
8550,1381
8599,1511
8640,1381
8689,1511
8730,1381
8779,1511
8820,1381
8869,1511
8910,1381
8959,1511
9000,1381
9049,1511
9090,1381
9139,1511
9180,1381
9229,1511
9270,1381
9319,1511
9360,1381
9409,1511
9450,1381
9499,1511
9540,1381
9589,1511
9630,1381
9679,1511
9720,1381
9769,1511
9810,1381
9859,1511
9900,1381
9949,1511
9990,1381
1 step neuron_idx
2 0 1381
3 49 1511
4 90 1381
5 139 1511
6 180 1381
7 229 1511
8 270 1381
9 319 1511
10 360 1381
11 409 1511
12 450 1381
13 499 1511
14 540 1381
15 589 1511
16 630 1381
17 679 1511
18 720 1381
19 769 1511
20 810 1381
21 859 1511
22 900 1381
23 949 1511
24 990 1381
25 1039 1511
26 1080 1381
27 1129 1511
28 1170 1381
29 1219 1511
30 1260 1381
31 1309 1511
32 1350 1381
33 1399 1511
34 1440 1381
35 1489 1511
36 1530 1381
37 1579 1511
38 1620 1381
39 1669 1511
40 1710 1381
41 1759 1511
42 1800 1381
43 1849 1511
44 1890 1381
45 1939 1511
46 1980 1381
47 2029 1511
48 2070 1381
49 2119 1511
50 2160 1381
51 2209 1511
52 2250 1381
53 2299 1511
54 2340 1381
55 2389 1511
56 2430 1381
57 2479 1511
58 2520 1381
59 2569 1511
60 2610 1381
61 2659 1511
62 2700 1381
63 2749 1511
64 2790 1381
65 2839 1511
66 2880 1381
67 2929 1511
68 2970 1381
69 3019 1511
70 3060 1381
71 3109 1511
72 3150 1381
73 3199 1511
74 3240 1381
75 3289 1511
76 3330 1381
77 3379 1511
78 3420 1381
79 3469 1511
80 3510 1381
81 3559 1511
82 3600 1381
83 3649 1511
84 3690 1381
85 3739 1511
86 3780 1381
87 3829 1511
88 3870 1381
89 3919 1511
90 3960 1381
91 4009 1511
92 4050 1381
93 4099 1511
94 4140 1381
95 4189 1511
96 4230 1381
97 4279 1511
98 4320 1381
99 4369 1511
100 4410 1381
101 4459 1511
102 4500 1381
103 4549 1511
104 4590 1381
105 4639 1511
106 4680 1381
107 4729 1511
108 4770 1381
109 4819 1511
110 4860 1381
111 4909 1511
112 4950 1381
113 4999 1511
114 5040 1381
115 5089 1511
116 5130 1381
117 5179 1511
118 5220 1381
119 5269 1511
120 5310 1381
121 5359 1511
122 5400 1381
123 5449 1511
124 5490 1381
125 5539 1511
126 5580 1381
127 5629 1511
128 5670 1381
129 5719 1511
130 5760 1381
131 5809 1511
132 5850 1381
133 5899 1511
134 5940 1381
135 5989 1511
136 6030 1381
137 6079 1511
138 6120 1381
139 6169 1511
140 6210 1381
141 6259 1511
142 6300 1381
143 6349 1511
144 6390 1381
145 6439 1511
146 6480 1381
147 6529 1511
148 6570 1381
149 6619 1511
150 6660 1381
151 6709 1511
152 6750 1381
153 6799 1511
154 6840 1381
155 6889 1511
156 6930 1381
157 6979 1511
158 7020 1381
159 7069 1511
160 7110 1381
161 7159 1511
162 7200 1381
163 7249 1511
164 7290 1381
165 7339 1511
166 7380 1381
167 7429 1511
168 7470 1381
169 7519 1511
170 7560 1381
171 7609 1511
172 7650 1381
173 7699 1511
174 7740 1381
175 7789 1511
176 7830 1381
177 7879 1511
178 7920 1381
179 7969 1511
180 8010 1381
181 8059 1511
182 8100 1381
183 8149 1511
184 8190 1381
185 8239 1511
186 8280 1381
187 8329 1511
188 8370 1381
189 8419 1511
190 8460 1381
191 8509 1511
192 8550 1381
193 8599 1511
194 8640 1381
195 8689 1511
196 8730 1381
197 8779 1511
198 8820 1381
199 8869 1511
200 8910 1381
201 8959 1511
202 9000 1381
203 9049 1511
204 9090 1381
205 9139 1511
206 9180 1381
207 9229 1511
208 9270 1381
209 9319 1511
210 9360 1381
211 9409 1511
212 9450 1381
213 9499 1511
214 9540 1381
215 9589 1511
216 9630 1381
217 9679 1511
218 9720 1381
219 9769 1511
220 9810 1381
221 9859 1511
222 9900 1381
223 9949 1511
224 9990 1381
@@ -0,0 +1,81 @@
motif,policy,precision,neuron_idx,spikes,late_spikes,last_ms
pair,frozen,float32,1381,237,119,999.3000000000001
pair,frozen,float32,1511,236,119,997.5
pair,reset_g_only,float32,1381,112,56,999.0
pair,reset_g_only,float32,1511,111,55,994.9000000000001
pair,refractory_gate_only,float32,1381,318,161,999.1
pair,refractory_gate_only,float32,1511,317,160,997.5
pair,reset_and_refractory,float32,1381,112,56,999.0
pair,reset_and_refractory,float32,1511,111,55,994.9000000000001
trio,frozen,float32,1197,355,179,999.3000000000001
trio,frozen,float32,1381,355,178,997.8000000000001
trio,frozen,float32,1511,354,178,997.4000000000001
trio,reset_g_only,float32,1197,188,94,995.4000000000001
trio,reset_g_only,float32,1381,189,95,998.7
trio,reset_g_only,float32,1511,188,94,996.1
trio,refractory_gate_only,float32,1197,369,185,998.3000000000001
trio,refractory_gate_only,float32,1381,367,184,999.1
trio,refractory_gate_only,float32,1511,364,183,997.2
trio,reset_and_refractory,float32,1197,156,78,995.3000000000001
trio,reset_and_refractory,float32,1381,157,79,999.6
trio,reset_and_refractory,float32,1511,156,78,997.5
five,frozen,float32,1197,370,185,998.8000000000001
five,frozen,float32,1381,369,185,997.4000000000001
five,frozen,float32,1511,367,186,999.5
five,frozen,float32,82312,80,41,990.3000000000001
five,frozen,float32,133666,297,150,999.5
five,reset_g_only,float32,1197,249,125,996.2
five,reset_g_only,float32,1381,211,104,999.2
five,reset_g_only,float32,1511,209,104,996.5
five,reset_g_only,float32,82312,33,17,994.9000000000001
five,reset_g_only,float32,133666,166,83,996.7
five,refractory_gate_only,float32,1197,372,188,998.0
five,refractory_gate_only,float32,1381,375,191,998.6
five,refractory_gate_only,float32,1511,371,187,997.5
five,refractory_gate_only,float32,82312,85,43,991.9000000000001
five,refractory_gate_only,float32,133666,307,154,997.7
five,reset_and_refractory,float32,1197,165,82,995.7
five,reset_and_refractory,float32,1381,166,83,999.8000000000001
five,reset_and_refractory,float32,1511,165,83,997.5
five,reset_and_refractory,float32,82312,15,8,972.7
five,reset_and_refractory,float32,133666,123,62,993.0
feedforward,frozen,float32,1197,1,0,10.0
feedforward,frozen,float32,1381,1,0,0.0
feedforward,frozen,float32,1511,1,0,4.9
feedforward,frozen,float32,82312,0,0,
feedforward,frozen,float32,133666,0,0,
feedforward,reset_g_only,float32,1197,1,0,10.0
feedforward,reset_g_only,float32,1381,1,0,0.0
feedforward,reset_g_only,float32,1511,1,0,4.9
feedforward,reset_g_only,float32,82312,0,0,
feedforward,reset_g_only,float32,133666,0,0,
feedforward,refractory_gate_only,float32,1197,1,0,10.0
feedforward,refractory_gate_only,float32,1381,1,0,0.0
feedforward,refractory_gate_only,float32,1511,1,0,4.9
feedforward,refractory_gate_only,float32,82312,0,0,
feedforward,refractory_gate_only,float32,133666,0,0,
feedforward,reset_and_refractory,float32,1197,1,0,10.0
feedforward,reset_and_refractory,float32,1381,1,0,0.0
feedforward,reset_and_refractory,float32,1511,1,0,4.9
feedforward,reset_and_refractory,float32,82312,0,0,
feedforward,reset_and_refractory,float32,133666,0,0,
no_input,frozen,float32,1197,0,0,
no_input,frozen,float32,1381,0,0,
no_input,frozen,float32,1511,0,0,
no_input,frozen,float32,82312,0,0,
no_input,frozen,float32,133666,0,0,
no_input,reset_g_only,float32,1197,0,0,
no_input,reset_g_only,float32,1381,0,0,
no_input,reset_g_only,float32,1511,0,0,
no_input,reset_g_only,float32,82312,0,0,
no_input,reset_g_only,float32,133666,0,0,
no_input,refractory_gate_only,float32,1197,0,0,
no_input,refractory_gate_only,float32,1381,0,0,
no_input,refractory_gate_only,float32,1511,0,0,
no_input,refractory_gate_only,float32,82312,0,0,
no_input,refractory_gate_only,float32,133666,0,0,
no_input,reset_and_refractory,float32,1197,0,0,
no_input,reset_and_refractory,float32,1381,0,0,
no_input,reset_and_refractory,float32,1511,0,0,
no_input,reset_and_refractory,float32,82312,0,0,
no_input,reset_and_refractory,float32,133666,0,0,
1 motif policy precision neuron_idx spikes late_spikes last_ms
2 pair frozen float32 1381 237 119 999.3000000000001
3 pair frozen float32 1511 236 119 997.5
4 pair reset_g_only float32 1381 112 56 999.0
5 pair reset_g_only float32 1511 111 55 994.9000000000001
6 pair refractory_gate_only float32 1381 318 161 999.1
7 pair refractory_gate_only float32 1511 317 160 997.5
8 pair reset_and_refractory float32 1381 112 56 999.0
9 pair reset_and_refractory float32 1511 111 55 994.9000000000001
10 trio frozen float32 1197 355 179 999.3000000000001
11 trio frozen float32 1381 355 178 997.8000000000001
12 trio frozen float32 1511 354 178 997.4000000000001
13 trio reset_g_only float32 1197 188 94 995.4000000000001
14 trio reset_g_only float32 1381 189 95 998.7
15 trio reset_g_only float32 1511 188 94 996.1
16 trio refractory_gate_only float32 1197 369 185 998.3000000000001
17 trio refractory_gate_only float32 1381 367 184 999.1
18 trio refractory_gate_only float32 1511 364 183 997.2
19 trio reset_and_refractory float32 1197 156 78 995.3000000000001
20 trio reset_and_refractory float32 1381 157 79 999.6
21 trio reset_and_refractory float32 1511 156 78 997.5
22 five frozen float32 1197 370 185 998.8000000000001
23 five frozen float32 1381 369 185 997.4000000000001
24 five frozen float32 1511 367 186 999.5
25 five frozen float32 82312 80 41 990.3000000000001
26 five frozen float32 133666 297 150 999.5
27 five reset_g_only float32 1197 249 125 996.2
28 five reset_g_only float32 1381 211 104 999.2
29 five reset_g_only float32 1511 209 104 996.5
30 five reset_g_only float32 82312 33 17 994.9000000000001
31 five reset_g_only float32 133666 166 83 996.7
32 five refractory_gate_only float32 1197 372 188 998.0
33 five refractory_gate_only float32 1381 375 191 998.6
34 five refractory_gate_only float32 1511 371 187 997.5
35 five refractory_gate_only float32 82312 85 43 991.9000000000001
36 five refractory_gate_only float32 133666 307 154 997.7
37 five reset_and_refractory float32 1197 165 82 995.7
38 five reset_and_refractory float32 1381 166 83 999.8000000000001
39 five reset_and_refractory float32 1511 165 83 997.5
40 five reset_and_refractory float32 82312 15 8 972.7
41 five reset_and_refractory float32 133666 123 62 993.0
42 feedforward frozen float32 1197 1 0 10.0
43 feedforward frozen float32 1381 1 0 0.0
44 feedforward frozen float32 1511 1 0 4.9
45 feedforward frozen float32 82312 0 0
46 feedforward frozen float32 133666 0 0
47 feedforward reset_g_only float32 1197 1 0 10.0
48 feedforward reset_g_only float32 1381 1 0 0.0
49 feedforward reset_g_only float32 1511 1 0 4.9
50 feedforward reset_g_only float32 82312 0 0
51 feedforward reset_g_only float32 133666 0 0
52 feedforward refractory_gate_only float32 1197 1 0 10.0
53 feedforward refractory_gate_only float32 1381 1 0 0.0
54 feedforward refractory_gate_only float32 1511 1 0 4.9
55 feedforward refractory_gate_only float32 82312 0 0
56 feedforward refractory_gate_only float32 133666 0 0
57 feedforward reset_and_refractory float32 1197 1 0 10.0
58 feedforward reset_and_refractory float32 1381 1 0 0.0
59 feedforward reset_and_refractory float32 1511 1 0 4.9
60 feedforward reset_and_refractory float32 82312 0 0
61 feedforward reset_and_refractory float32 133666 0 0
62 no_input frozen float32 1197 0 0
63 no_input frozen float32 1381 0 0
64 no_input frozen float32 1511 0 0
65 no_input frozen float32 82312 0 0
66 no_input frozen float32 133666 0 0
67 no_input reset_g_only float32 1197 0 0
68 no_input reset_g_only float32 1381 0 0
69 no_input reset_g_only float32 1511 0 0
70 no_input reset_g_only float32 82312 0 0
71 no_input reset_g_only float32 133666 0 0
72 no_input refractory_gate_only float32 1197 0 0
73 no_input refractory_gate_only float32 1381 0 0
74 no_input refractory_gate_only float32 1511 0 0
75 no_input refractory_gate_only float32 82312 0 0
76 no_input refractory_gate_only float32 133666 0 0
77 no_input reset_and_refractory float32 1197 0 0
78 no_input reset_and_refractory float32 1381 0 0
79 no_input reset_and_refractory float32 1511 0 0
80 no_input reset_and_refractory float32 82312 0 0
81 no_input reset_and_refractory float32 133666 0 0
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,470 @@
step,neuron_idx
0,1381
45,1197
49,1511
77,1381
96,1197
119,1511
140,1381
161,1197
183,1511
204,1381
225,1197
247,1511
268,1381
289,1197
311,1511
332,1381
353,1197
375,1511
396,1381
417,1197
439,1511
460,1381
481,1197
503,1511
524,1381
545,1197
567,1511
588,1381
609,1197
631,1511
652,1381
673,1197
695,1511
716,1381
737,1197
759,1511
780,1381
801,1197
823,1511
844,1381
865,1197
887,1511
908,1381
929,1197
951,1511
972,1381
993,1197
1015,1511
1036,1381
1057,1197
1079,1511
1100,1381
1121,1197
1143,1511
1164,1381
1185,1197
1207,1511
1228,1381
1249,1197
1271,1511
1292,1381
1313,1197
1335,1511
1356,1381
1377,1197
1399,1511
1420,1381
1441,1197
1463,1511
1484,1381
1505,1197
1527,1511
1548,1381
1569,1197
1591,1511
1612,1381
1633,1197
1655,1511
1676,1381
1697,1197
1719,1511
1740,1381
1761,1197
1783,1511
1804,1381
1825,1197
1847,1511
1868,1381
1889,1197
1911,1511
1932,1381
1953,1197
1975,1511
1996,1381
2017,1197
2039,1511
2060,1381
2081,1197
2103,1511
2124,1381
2145,1197
2167,1511
2188,1381
2209,1197
2231,1511
2252,1381
2273,1197
2295,1511
2316,1381
2337,1197
2359,1511
2380,1381
2401,1197
2423,1511
2444,1381
2465,1197
2487,1511
2508,1381
2529,1197
2551,1511
2572,1381
2593,1197
2615,1511
2636,1381
2657,1197
2679,1511
2700,1381
2721,1197
2743,1511
2764,1381
2785,1197
2807,1511
2828,1381
2849,1197
2871,1511
2892,1381
2913,1197
2935,1511
2956,1381
2977,1197
2999,1511
3020,1381
3041,1197
3063,1511
3084,1381
3105,1197
3127,1511
3148,1381
3169,1197
3191,1511
3212,1381
3233,1197
3255,1511
3276,1381
3297,1197
3319,1511
3340,1381
3361,1197
3383,1511
3404,1381
3425,1197
3447,1511
3468,1381
3489,1197
3511,1511
3532,1381
3553,1197
3575,1511
3596,1381
3617,1197
3639,1511
3660,1381
3681,1197
3703,1511
3724,1381
3745,1197
3767,1511
3788,1381
3809,1197
3831,1511
3852,1381
3873,1197
3895,1511
3916,1381
3937,1197
3959,1511
3980,1381
4001,1197
4023,1511
4044,1381
4065,1197
4087,1511
4108,1381
4129,1197
4151,1511
4172,1381
4193,1197
4215,1511
4236,1381
4257,1197
4279,1511
4300,1381
4321,1197
4343,1511
4364,1381
4385,1197
4407,1511
4428,1381
4449,1197
4471,1511
4492,1381
4513,1197
4535,1511
4556,1381
4577,1197
4599,1511
4620,1381
4641,1197
4663,1511
4684,1381
4705,1197
4727,1511
4748,1381
4769,1197
4791,1511
4812,1381
4833,1197
4855,1511
4876,1381
4897,1197
4919,1511
4940,1381
4961,1197
4983,1511
5004,1381
5025,1197
5047,1511
5068,1381
5089,1197
5111,1511
5132,1381
5153,1197
5175,1511
5196,1381
5217,1197
5239,1511
5260,1381
5281,1197
5303,1511
5324,1381
5345,1197
5367,1511
5388,1381
5409,1197
5431,1511
5452,1381
5473,1197
5495,1511
5516,1381
5537,1197
5559,1511
5580,1381
5601,1197
5623,1511
5644,1381
5665,1197
5687,1511
5708,1381
5729,1197
5751,1511
5772,1381
5793,1197
5815,1511
5836,1381
5857,1197
5879,1511
5900,1381
5921,1197
5943,1511
5964,1381
5985,1197
6007,1511
6028,1381
6049,1197
6071,1511
6092,1381
6113,1197
6135,1511
6156,1381
6177,1197
6199,1511
6220,1381
6241,1197
6263,1511
6284,1381
6305,1197
6327,1511
6348,1381
6369,1197
6391,1511
6412,1381
6433,1197
6455,1511
6476,1381
6497,1197
6519,1511
6540,1381
6561,1197
6583,1511
6604,1381
6625,1197
6647,1511
6668,1381
6689,1197
6711,1511
6732,1381
6753,1197
6775,1511
6796,1381
6817,1197
6839,1511
6860,1381
6881,1197
6903,1511
6924,1381
6945,1197
6967,1511
6988,1381
7009,1197
7031,1511
7052,1381
7073,1197
7095,1511
7116,1381
7137,1197
7159,1511
7180,1381
7201,1197
7223,1511
7244,1381
7265,1197
7287,1511
7308,1381
7329,1197
7351,1511
7372,1381
7393,1197
7415,1511
7436,1381
7457,1197
7479,1511
7500,1381
7521,1197
7543,1511
7564,1381
7585,1197
7607,1511
7628,1381
7649,1197
7671,1511
7692,1381
7713,1197
7735,1511
7756,1381
7777,1197
7799,1511
7820,1381
7841,1197
7863,1511
7884,1381
7905,1197
7927,1511
7948,1381
7969,1197
7991,1511
8012,1381
8033,1197
8055,1511
8076,1381
8097,1197
8119,1511
8140,1381
8161,1197
8183,1511
8204,1381
8225,1197
8247,1511
8268,1381
8289,1197
8311,1511
8332,1381
8353,1197
8375,1511
8396,1381
8417,1197
8439,1511
8460,1381
8481,1197
8503,1511
8524,1381
8545,1197
8567,1511
8588,1381
8609,1197
8631,1511
8652,1381
8673,1197
8695,1511
8716,1381
8737,1197
8759,1511
8780,1381
8801,1197
8823,1511
8844,1381
8865,1197
8887,1511
8908,1381
8929,1197
8951,1511
8972,1381
8993,1197
9015,1511
9036,1381
9057,1197
9079,1511
9100,1381
9121,1197
9143,1511
9164,1381
9185,1197
9207,1511
9228,1381
9249,1197
9271,1511
9292,1381
9313,1197
9335,1511
9356,1381
9377,1197
9399,1511
9420,1381
9441,1197
9463,1511
9484,1381
9505,1197
9527,1511
9548,1381
9569,1197
9591,1511
9612,1381
9633,1197
9655,1511
9676,1381
9697,1197
9719,1511
9740,1381
9761,1197
9783,1511
9804,1381
9825,1197
9847,1511
9868,1381
9889,1197
9911,1511
9932,1381
9953,1197
9975,1511
9996,1381
1 step neuron_idx
2 0 1381
3 45 1197
4 49 1511
5 77 1381
6 96 1197
7 119 1511
8 140 1381
9 161 1197
10 183 1511
11 204 1381
12 225 1197
13 247 1511
14 268 1381
15 289 1197
16 311 1511
17 332 1381
18 353 1197
19 375 1511
20 396 1381
21 417 1197
22 439 1511
23 460 1381
24 481 1197
25 503 1511
26 524 1381
27 545 1197
28 567 1511
29 588 1381
30 609 1197
31 631 1511
32 652 1381
33 673 1197
34 695 1511
35 716 1381
36 737 1197
37 759 1511
38 780 1381
39 801 1197
40 823 1511
41 844 1381
42 865 1197
43 887 1511
44 908 1381
45 929 1197
46 951 1511
47 972 1381
48 993 1197
49 1015 1511
50 1036 1381
51 1057 1197
52 1079 1511
53 1100 1381
54 1121 1197
55 1143 1511
56 1164 1381
57 1185 1197
58 1207 1511
59 1228 1381
60 1249 1197
61 1271 1511
62 1292 1381
63 1313 1197
64 1335 1511
65 1356 1381
66 1377 1197
67 1399 1511
68 1420 1381
69 1441 1197
70 1463 1511
71 1484 1381
72 1505 1197
73 1527 1511
74 1548 1381
75 1569 1197
76 1591 1511
77 1612 1381
78 1633 1197
79 1655 1511
80 1676 1381
81 1697 1197
82 1719 1511
83 1740 1381
84 1761 1197
85 1783 1511
86 1804 1381
87 1825 1197
88 1847 1511
89 1868 1381
90 1889 1197
91 1911 1511
92 1932 1381
93 1953 1197
94 1975 1511
95 1996 1381
96 2017 1197
97 2039 1511
98 2060 1381
99 2081 1197
100 2103 1511
101 2124 1381
102 2145 1197
103 2167 1511
104 2188 1381
105 2209 1197
106 2231 1511
107 2252 1381
108 2273 1197
109 2295 1511
110 2316 1381
111 2337 1197
112 2359 1511
113 2380 1381
114 2401 1197
115 2423 1511
116 2444 1381
117 2465 1197
118 2487 1511
119 2508 1381
120 2529 1197
121 2551 1511
122 2572 1381
123 2593 1197
124 2615 1511
125 2636 1381
126 2657 1197
127 2679 1511
128 2700 1381
129 2721 1197
130 2743 1511
131 2764 1381
132 2785 1197
133 2807 1511
134 2828 1381
135 2849 1197
136 2871 1511
137 2892 1381
138 2913 1197
139 2935 1511
140 2956 1381
141 2977 1197
142 2999 1511
143 3020 1381
144 3041 1197
145 3063 1511
146 3084 1381
147 3105 1197
148 3127 1511
149 3148 1381
150 3169 1197
151 3191 1511
152 3212 1381
153 3233 1197
154 3255 1511
155 3276 1381
156 3297 1197
157 3319 1511
158 3340 1381
159 3361 1197
160 3383 1511
161 3404 1381
162 3425 1197
163 3447 1511
164 3468 1381
165 3489 1197
166 3511 1511
167 3532 1381
168 3553 1197
169 3575 1511
170 3596 1381
171 3617 1197
172 3639 1511
173 3660 1381
174 3681 1197
175 3703 1511
176 3724 1381
177 3745 1197
178 3767 1511
179 3788 1381
180 3809 1197
181 3831 1511
182 3852 1381
183 3873 1197
184 3895 1511
185 3916 1381
186 3937 1197
187 3959 1511
188 3980 1381
189 4001 1197
190 4023 1511
191 4044 1381
192 4065 1197
193 4087 1511
194 4108 1381
195 4129 1197
196 4151 1511
197 4172 1381
198 4193 1197
199 4215 1511
200 4236 1381
201 4257 1197
202 4279 1511
203 4300 1381
204 4321 1197
205 4343 1511
206 4364 1381
207 4385 1197
208 4407 1511
209 4428 1381
210 4449 1197
211 4471 1511
212 4492 1381
213 4513 1197
214 4535 1511
215 4556 1381
216 4577 1197
217 4599 1511
218 4620 1381
219 4641 1197
220 4663 1511
221 4684 1381
222 4705 1197
223 4727 1511
224 4748 1381
225 4769 1197
226 4791 1511
227 4812 1381
228 4833 1197
229 4855 1511
230 4876 1381
231 4897 1197
232 4919 1511
233 4940 1381
234 4961 1197
235 4983 1511
236 5004 1381
237 5025 1197
238 5047 1511
239 5068 1381
240 5089 1197
241 5111 1511
242 5132 1381
243 5153 1197
244 5175 1511
245 5196 1381
246 5217 1197
247 5239 1511
248 5260 1381
249 5281 1197
250 5303 1511
251 5324 1381
252 5345 1197
253 5367 1511
254 5388 1381
255 5409 1197
256 5431 1511
257 5452 1381
258 5473 1197
259 5495 1511
260 5516 1381
261 5537 1197
262 5559 1511
263 5580 1381
264 5601 1197
265 5623 1511
266 5644 1381
267 5665 1197
268 5687 1511
269 5708 1381
270 5729 1197
271 5751 1511
272 5772 1381
273 5793 1197
274 5815 1511
275 5836 1381
276 5857 1197
277 5879 1511
278 5900 1381
279 5921 1197
280 5943 1511
281 5964 1381
282 5985 1197
283 6007 1511
284 6028 1381
285 6049 1197
286 6071 1511
287 6092 1381
288 6113 1197
289 6135 1511
290 6156 1381
291 6177 1197
292 6199 1511
293 6220 1381
294 6241 1197
295 6263 1511
296 6284 1381
297 6305 1197
298 6327 1511
299 6348 1381
300 6369 1197
301 6391 1511
302 6412 1381
303 6433 1197
304 6455 1511
305 6476 1381
306 6497 1197
307 6519 1511
308 6540 1381
309 6561 1197
310 6583 1511
311 6604 1381
312 6625 1197
313 6647 1511
314 6668 1381
315 6689 1197
316 6711 1511
317 6732 1381
318 6753 1197
319 6775 1511
320 6796 1381
321 6817 1197
322 6839 1511
323 6860 1381
324 6881 1197
325 6903 1511
326 6924 1381
327 6945 1197
328 6967 1511
329 6988 1381
330 7009 1197
331 7031 1511
332 7052 1381
333 7073 1197
334 7095 1511
335 7116 1381
336 7137 1197
337 7159 1511
338 7180 1381
339 7201 1197
340 7223 1511
341 7244 1381
342 7265 1197
343 7287 1511
344 7308 1381
345 7329 1197
346 7351 1511
347 7372 1381
348 7393 1197
349 7415 1511
350 7436 1381
351 7457 1197
352 7479 1511
353 7500 1381
354 7521 1197
355 7543 1511
356 7564 1381
357 7585 1197
358 7607 1511
359 7628 1381
360 7649 1197
361 7671 1511
362 7692 1381
363 7713 1197
364 7735 1511
365 7756 1381
366 7777 1197
367 7799 1511
368 7820 1381
369 7841 1197
370 7863 1511
371 7884 1381
372 7905 1197
373 7927 1511
374 7948 1381
375 7969 1197
376 7991 1511
377 8012 1381
378 8033 1197
379 8055 1511
380 8076 1381
381 8097 1197
382 8119 1511
383 8140 1381
384 8161 1197
385 8183 1511
386 8204 1381
387 8225 1197
388 8247 1511
389 8268 1381
390 8289 1197
391 8311 1511
392 8332 1381
393 8353 1197
394 8375 1511
395 8396 1381
396 8417 1197
397 8439 1511
398 8460 1381
399 8481 1197
400 8503 1511
401 8524 1381
402 8545 1197
403 8567 1511
404 8588 1381
405 8609 1197
406 8631 1511
407 8652 1381
408 8673 1197
409 8695 1511
410 8716 1381
411 8737 1197
412 8759 1511
413 8780 1381
414 8801 1197
415 8823 1511
416 8844 1381
417 8865 1197
418 8887 1511
419 8908 1381
420 8929 1197
421 8951 1511
422 8972 1381
423 8993 1197
424 9015 1511
425 9036 1381
426 9057 1197
427 9079 1511
428 9100 1381
429 9121 1197
430 9143 1511
431 9164 1381
432 9185 1197
433 9207 1511
434 9228 1381
435 9249 1197
436 9271 1511
437 9292 1381
438 9313 1197
439 9335 1511
440 9356 1381
441 9377 1197
442 9399 1511
443 9420 1381
444 9441 1197
445 9463 1511
446 9484 1381
447 9505 1197
448 9527 1511
449 9548 1381
450 9569 1197
451 9591 1511
452 9612 1381
453 9633 1197
454 9655 1511
455 9676 1381
456 9697 1197
457 9719 1511
458 9740 1381
459 9761 1197
460 9783 1511
461 9804 1381
462 9825 1197
463 9847 1511
464 9868 1381
465 9889 1197
466 9911 1511
467 9932 1381
468 9953 1197
469 9975 1511
470 9996 1381
@@ -0,0 +1,566 @@
step,neuron_idx
0,1381
45,1197
49,1511
77,1381
96,1197
103,1511
129,1381
149,1197
156,1511
182,1381
202,1197
209,1511
235,1381
255,1197
262,1511
288,1381
308,1197
315,1511
341,1381
361,1197
368,1511
394,1381
414,1197
421,1511
447,1381
467,1197
474,1511
500,1381
520,1197
527,1511
553,1381
573,1197
580,1511
606,1381
626,1197
633,1511
659,1381
679,1197
686,1511
712,1381
732,1197
739,1511
765,1381
785,1197
792,1511
818,1381
838,1197
845,1511
871,1381
891,1197
898,1511
924,1381
944,1197
951,1511
977,1381
997,1197
1004,1511
1030,1381
1050,1197
1057,1511
1083,1381
1103,1197
1110,1511
1136,1381
1156,1197
1163,1511
1189,1381
1209,1197
1216,1511
1242,1381
1262,1197
1269,1511
1295,1381
1315,1197
1322,1511
1348,1381
1368,1197
1375,1511
1401,1381
1421,1197
1428,1511
1454,1381
1474,1197
1481,1511
1507,1381
1527,1197
1534,1511
1560,1381
1580,1197
1587,1511
1613,1381
1633,1197
1640,1511
1666,1381
1686,1197
1693,1511
1719,1381
1739,1197
1746,1511
1772,1381
1792,1197
1799,1511
1825,1381
1845,1197
1852,1511
1878,1381
1898,1197
1905,1511
1931,1381
1951,1197
1958,1511
1984,1381
2004,1197
2011,1511
2037,1381
2057,1197
2064,1511
2090,1381
2110,1197
2117,1511
2143,1381
2163,1197
2170,1511
2196,1381
2216,1197
2223,1511
2249,1381
2269,1197
2276,1511
2302,1381
2322,1197
2329,1511
2355,1381
2375,1197
2382,1511
2408,1381
2428,1197
2435,1511
2461,1381
2481,1197
2488,1511
2514,1381
2534,1197
2541,1511
2567,1381
2587,1197
2594,1511
2620,1381
2640,1197
2647,1511
2673,1381
2693,1197
2700,1511
2726,1381
2746,1197
2753,1511
2779,1381
2799,1197
2806,1511
2832,1381
2852,1197
2859,1511
2885,1381
2905,1197
2912,1511
2938,1381
2958,1197
2965,1511
2991,1381
3011,1197
3018,1511
3044,1381
3064,1197
3071,1511
3097,1381
3117,1197
3124,1511
3150,1381
3170,1197
3177,1511
3203,1381
3223,1197
3230,1511
3256,1381
3276,1197
3283,1511
3309,1381
3329,1197
3336,1511
3362,1381
3382,1197
3389,1511
3415,1381
3435,1197
3442,1511
3468,1381
3488,1197
3495,1511
3521,1381
3541,1197
3548,1511
3574,1381
3594,1197
3601,1511
3627,1381
3647,1197
3654,1511
3680,1381
3700,1197
3707,1511
3733,1381
3753,1197
3760,1511
3786,1381
3806,1197
3813,1511
3839,1381
3859,1197
3866,1511
3892,1381
3912,1197
3919,1511
3945,1381
3965,1197
3972,1511
3998,1381
4018,1197
4025,1511
4051,1381
4071,1197
4078,1511
4104,1381
4124,1197
4131,1511
4157,1381
4177,1197
4184,1511
4210,1381
4230,1197
4237,1511
4263,1381
4283,1197
4290,1511
4316,1381
4336,1197
4343,1511
4369,1381
4389,1197
4396,1511
4422,1381
4442,1197
4449,1511
4475,1381
4495,1197
4502,1511
4528,1381
4548,1197
4555,1511
4581,1381
4601,1197
4608,1511
4634,1381
4654,1197
4661,1511
4687,1381
4707,1197
4714,1511
4740,1381
4760,1197
4767,1511
4793,1381
4813,1197
4820,1511
4846,1381
4866,1197
4873,1511
4899,1381
4919,1197
4926,1511
4952,1381
4972,1197
4979,1511
5005,1381
5025,1197
5032,1511
5058,1381
5078,1197
5085,1511
5111,1381
5131,1197
5138,1511
5164,1381
5184,1197
5191,1511
5217,1381
5237,1197
5244,1511
5270,1381
5290,1197
5297,1511
5323,1381
5343,1197
5350,1511
5376,1381
5396,1197
5403,1511
5429,1381
5449,1197
5456,1511
5482,1381
5502,1197
5509,1511
5535,1381
5555,1197
5562,1511
5588,1381
5608,1197
5615,1511
5641,1381
5661,1197
5668,1511
5694,1381
5714,1197
5721,1511
5747,1381
5767,1197
5774,1511
5800,1381
5820,1197
5827,1511
5853,1381
5873,1197
5880,1511
5906,1381
5926,1197
5933,1511
5959,1381
5979,1197
5986,1511
6012,1381
6032,1197
6039,1511
6065,1381
6085,1197
6092,1511
6118,1381
6138,1197
6145,1511
6171,1381
6191,1197
6198,1511
6224,1381
6244,1197
6251,1511
6277,1381
6297,1197
6304,1511
6330,1381
6350,1197
6357,1511
6383,1381
6403,1197
6410,1511
6436,1381
6456,1197
6463,1511
6489,1381
6509,1197
6516,1511
6542,1381
6562,1197
6569,1511
6595,1381
6615,1197
6622,1511
6648,1381
6668,1197
6675,1511
6701,1381
6721,1197
6728,1511
6754,1381
6774,1197
6781,1511
6807,1381
6827,1197
6834,1511
6860,1381
6880,1197
6887,1511
6913,1381
6933,1197
6940,1511
6966,1381
6986,1197
6993,1511
7019,1381
7039,1197
7046,1511
7072,1381
7092,1197
7099,1511
7125,1381
7145,1197
7152,1511
7178,1381
7198,1197
7205,1511
7231,1381
7251,1197
7258,1511
7284,1381
7304,1197
7311,1511
7337,1381
7357,1197
7364,1511
7390,1381
7410,1197
7417,1511
7443,1381
7463,1197
7470,1511
7496,1381
7516,1197
7523,1511
7549,1381
7569,1197
7576,1511
7602,1381
7622,1197
7629,1511
7655,1381
7675,1197
7682,1511
7708,1381
7728,1197
7735,1511
7761,1381
7781,1197
7788,1511
7814,1381
7834,1197
7841,1511
7867,1381
7887,1197
7894,1511
7920,1381
7940,1197
7947,1511
7973,1381
7993,1197
8000,1511
8026,1381
8046,1197
8053,1511
8079,1381
8099,1197
8106,1511
8132,1381
8152,1197
8159,1511
8185,1381
8205,1197
8212,1511
8238,1381
8258,1197
8265,1511
8291,1381
8311,1197
8318,1511
8344,1381
8364,1197
8371,1511
8397,1381
8417,1197
8424,1511
8450,1381
8470,1197
8477,1511
8503,1381
8523,1197
8530,1511
8556,1381
8576,1197
8583,1511
8609,1381
8629,1197
8636,1511
8662,1381
8682,1197
8689,1511
8715,1381
8735,1197
8742,1511
8768,1381
8788,1197
8795,1511
8821,1381
8841,1197
8848,1511
8874,1381
8894,1197
8901,1511
8927,1381
8947,1197
8954,1511
8980,1381
9000,1197
9007,1511
9033,1381
9053,1197
9060,1511
9086,1381
9106,1197
9113,1511
9139,1381
9159,1197
9166,1511
9192,1381
9212,1197
9219,1511
9245,1381
9265,1197
9272,1511
9298,1381
9318,1197
9325,1511
9351,1381
9371,1197
9378,1511
9404,1381
9424,1197
9431,1511
9457,1381
9477,1197
9484,1511
9510,1381
9530,1197
9537,1511
9563,1381
9583,1197
9590,1511
9616,1381
9636,1197
9643,1511
9669,1381
9689,1197
9696,1511
9722,1381
9742,1197
9749,1511
9775,1381
9795,1197
9802,1511
9828,1381
9848,1197
9855,1511
9881,1381
9901,1197
9908,1511
9934,1381
9954,1197
9961,1511
9987,1381
1 step neuron_idx
2 0 1381
3 45 1197
4 49 1511
5 77 1381
6 96 1197
7 103 1511
8 129 1381
9 149 1197
10 156 1511
11 182 1381
12 202 1197
13 209 1511
14 235 1381
15 255 1197
16 262 1511
17 288 1381
18 308 1197
19 315 1511
20 341 1381
21 361 1197
22 368 1511
23 394 1381
24 414 1197
25 421 1511
26 447 1381
27 467 1197
28 474 1511
29 500 1381
30 520 1197
31 527 1511
32 553 1381
33 573 1197
34 580 1511
35 606 1381
36 626 1197
37 633 1511
38 659 1381
39 679 1197
40 686 1511
41 712 1381
42 732 1197
43 739 1511
44 765 1381
45 785 1197
46 792 1511
47 818 1381
48 838 1197
49 845 1511
50 871 1381
51 891 1197
52 898 1511
53 924 1381
54 944 1197
55 951 1511
56 977 1381
57 997 1197
58 1004 1511
59 1030 1381
60 1050 1197
61 1057 1511
62 1083 1381
63 1103 1197
64 1110 1511
65 1136 1381
66 1156 1197
67 1163 1511
68 1189 1381
69 1209 1197
70 1216 1511
71 1242 1381
72 1262 1197
73 1269 1511
74 1295 1381
75 1315 1197
76 1322 1511
77 1348 1381
78 1368 1197
79 1375 1511
80 1401 1381
81 1421 1197
82 1428 1511
83 1454 1381
84 1474 1197
85 1481 1511
86 1507 1381
87 1527 1197
88 1534 1511
89 1560 1381
90 1580 1197
91 1587 1511
92 1613 1381
93 1633 1197
94 1640 1511
95 1666 1381
96 1686 1197
97 1693 1511
98 1719 1381
99 1739 1197
100 1746 1511
101 1772 1381
102 1792 1197
103 1799 1511
104 1825 1381
105 1845 1197
106 1852 1511
107 1878 1381
108 1898 1197
109 1905 1511
110 1931 1381
111 1951 1197
112 1958 1511
113 1984 1381
114 2004 1197
115 2011 1511
116 2037 1381
117 2057 1197
118 2064 1511
119 2090 1381
120 2110 1197
121 2117 1511
122 2143 1381
123 2163 1197
124 2170 1511
125 2196 1381
126 2216 1197
127 2223 1511
128 2249 1381
129 2269 1197
130 2276 1511
131 2302 1381
132 2322 1197
133 2329 1511
134 2355 1381
135 2375 1197
136 2382 1511
137 2408 1381
138 2428 1197
139 2435 1511
140 2461 1381
141 2481 1197
142 2488 1511
143 2514 1381
144 2534 1197
145 2541 1511
146 2567 1381
147 2587 1197
148 2594 1511
149 2620 1381
150 2640 1197
151 2647 1511
152 2673 1381
153 2693 1197
154 2700 1511
155 2726 1381
156 2746 1197
157 2753 1511
158 2779 1381
159 2799 1197
160 2806 1511
161 2832 1381
162 2852 1197
163 2859 1511
164 2885 1381
165 2905 1197
166 2912 1511
167 2938 1381
168 2958 1197
169 2965 1511
170 2991 1381
171 3011 1197
172 3018 1511
173 3044 1381
174 3064 1197
175 3071 1511
176 3097 1381
177 3117 1197
178 3124 1511
179 3150 1381
180 3170 1197
181 3177 1511
182 3203 1381
183 3223 1197
184 3230 1511
185 3256 1381
186 3276 1197
187 3283 1511
188 3309 1381
189 3329 1197
190 3336 1511
191 3362 1381
192 3382 1197
193 3389 1511
194 3415 1381
195 3435 1197
196 3442 1511
197 3468 1381
198 3488 1197
199 3495 1511
200 3521 1381
201 3541 1197
202 3548 1511
203 3574 1381
204 3594 1197
205 3601 1511
206 3627 1381
207 3647 1197
208 3654 1511
209 3680 1381
210 3700 1197
211 3707 1511
212 3733 1381
213 3753 1197
214 3760 1511
215 3786 1381
216 3806 1197
217 3813 1511
218 3839 1381
219 3859 1197
220 3866 1511
221 3892 1381
222 3912 1197
223 3919 1511
224 3945 1381
225 3965 1197
226 3972 1511
227 3998 1381
228 4018 1197
229 4025 1511
230 4051 1381
231 4071 1197
232 4078 1511
233 4104 1381
234 4124 1197
235 4131 1511
236 4157 1381
237 4177 1197
238 4184 1511
239 4210 1381
240 4230 1197
241 4237 1511
242 4263 1381
243 4283 1197
244 4290 1511
245 4316 1381
246 4336 1197
247 4343 1511
248 4369 1381
249 4389 1197
250 4396 1511
251 4422 1381
252 4442 1197
253 4449 1511
254 4475 1381
255 4495 1197
256 4502 1511
257 4528 1381
258 4548 1197
259 4555 1511
260 4581 1381
261 4601 1197
262 4608 1511
263 4634 1381
264 4654 1197
265 4661 1511
266 4687 1381
267 4707 1197
268 4714 1511
269 4740 1381
270 4760 1197
271 4767 1511
272 4793 1381
273 4813 1197
274 4820 1511
275 4846 1381
276 4866 1197
277 4873 1511
278 4899 1381
279 4919 1197
280 4926 1511
281 4952 1381
282 4972 1197
283 4979 1511
284 5005 1381
285 5025 1197
286 5032 1511
287 5058 1381
288 5078 1197
289 5085 1511
290 5111 1381
291 5131 1197
292 5138 1511
293 5164 1381
294 5184 1197
295 5191 1511
296 5217 1381
297 5237 1197
298 5244 1511
299 5270 1381
300 5290 1197
301 5297 1511
302 5323 1381
303 5343 1197
304 5350 1511
305 5376 1381
306 5396 1197
307 5403 1511
308 5429 1381
309 5449 1197
310 5456 1511
311 5482 1381
312 5502 1197
313 5509 1511
314 5535 1381
315 5555 1197
316 5562 1511
317 5588 1381
318 5608 1197
319 5615 1511
320 5641 1381
321 5661 1197
322 5668 1511
323 5694 1381
324 5714 1197
325 5721 1511
326 5747 1381
327 5767 1197
328 5774 1511
329 5800 1381
330 5820 1197
331 5827 1511
332 5853 1381
333 5873 1197
334 5880 1511
335 5906 1381
336 5926 1197
337 5933 1511
338 5959 1381
339 5979 1197
340 5986 1511
341 6012 1381
342 6032 1197
343 6039 1511
344 6065 1381
345 6085 1197
346 6092 1511
347 6118 1381
348 6138 1197
349 6145 1511
350 6171 1381
351 6191 1197
352 6198 1511
353 6224 1381
354 6244 1197
355 6251 1511
356 6277 1381
357 6297 1197
358 6304 1511
359 6330 1381
360 6350 1197
361 6357 1511
362 6383 1381
363 6403 1197
364 6410 1511
365 6436 1381
366 6456 1197
367 6463 1511
368 6489 1381
369 6509 1197
370 6516 1511
371 6542 1381
372 6562 1197
373 6569 1511
374 6595 1381
375 6615 1197
376 6622 1511
377 6648 1381
378 6668 1197
379 6675 1511
380 6701 1381
381 6721 1197
382 6728 1511
383 6754 1381
384 6774 1197
385 6781 1511
386 6807 1381
387 6827 1197
388 6834 1511
389 6860 1381
390 6880 1197
391 6887 1511
392 6913 1381
393 6933 1197
394 6940 1511
395 6966 1381
396 6986 1197
397 6993 1511
398 7019 1381
399 7039 1197
400 7046 1511
401 7072 1381
402 7092 1197
403 7099 1511
404 7125 1381
405 7145 1197
406 7152 1511
407 7178 1381
408 7198 1197
409 7205 1511
410 7231 1381
411 7251 1197
412 7258 1511
413 7284 1381
414 7304 1197
415 7311 1511
416 7337 1381
417 7357 1197
418 7364 1511
419 7390 1381
420 7410 1197
421 7417 1511
422 7443 1381
423 7463 1197
424 7470 1511
425 7496 1381
426 7516 1197
427 7523 1511
428 7549 1381
429 7569 1197
430 7576 1511
431 7602 1381
432 7622 1197
433 7629 1511
434 7655 1381
435 7675 1197
436 7682 1511
437 7708 1381
438 7728 1197
439 7735 1511
440 7761 1381
441 7781 1197
442 7788 1511
443 7814 1381
444 7834 1197
445 7841 1511
446 7867 1381
447 7887 1197
448 7894 1511
449 7920 1381
450 7940 1197
451 7947 1511
452 7973 1381
453 7993 1197
454 8000 1511
455 8026 1381
456 8046 1197
457 8053 1511
458 8079 1381
459 8099 1197
460 8106 1511
461 8132 1381
462 8152 1197
463 8159 1511
464 8185 1381
465 8205 1197
466 8212 1511
467 8238 1381
468 8258 1197
469 8265 1511
470 8291 1381
471 8311 1197
472 8318 1511
473 8344 1381
474 8364 1197
475 8371 1511
476 8397 1381
477 8417 1197
478 8424 1511
479 8450 1381
480 8470 1197
481 8477 1511
482 8503 1381
483 8523 1197
484 8530 1511
485 8556 1381
486 8576 1197
487 8583 1511
488 8609 1381
489 8629 1197
490 8636 1511
491 8662 1381
492 8682 1197
493 8689 1511
494 8715 1381
495 8735 1197
496 8742 1511
497 8768 1381
498 8788 1197
499 8795 1511
500 8821 1381
501 8841 1197
502 8848 1511
503 8874 1381
504 8894 1197
505 8901 1511
506 8927 1381
507 8947 1197
508 8954 1511
509 8980 1381
510 9000 1197
511 9007 1511
512 9033 1381
513 9053 1197
514 9060 1511
515 9086 1381
516 9106 1197
517 9113 1511
518 9139 1381
519 9159 1197
520 9166 1511
521 9192 1381
522 9212 1197
523 9219 1511
524 9245 1381
525 9265 1197
526 9272 1511
527 9298 1381
528 9318 1197
529 9325 1511
530 9351 1381
531 9371 1197
532 9378 1511
533 9404 1381
534 9424 1197
535 9431 1511
536 9457 1381
537 9477 1197
538 9484 1511
539 9510 1381
540 9530 1197
541 9537 1511
542 9563 1381
543 9583 1197
544 9590 1511
545 9616 1381
546 9636 1197
547 9643 1511
548 9669 1381
549 9689 1197
550 9696 1511
551 9722 1381
552 9742 1197
553 9749 1511
554 9775 1381
555 9795 1197
556 9802 1511
557 9828 1381
558 9848 1197
559 9855 1511
560 9881 1381
561 9901 1197
562 9908 1511
563 9934 1381
564 9954 1197
565 9961 1511
566 9987 1381
@@ -0,0 +1,9 @@
{
"isolated_venv_only": true,
"existing_environments_modified": false,
"initial_install_failure": "New venv pip22.0.2 lacks --report; upgraded ONLY new venv pip to author-pinned23.0.1 before installing",
"MarkupSafe": "Author-pinned1.1.1 used PyPI source distribution and legacy setup.py because no CPython3.10 wheel; other requested core packages used wheels",
"author_environment": "Windows conda CPython3.10.11",
"actual_environment": "Linux CPython3.10.12; not binary-identical",
"package_download_provenance": "install-report.json contains HTTPS PyPI archive URLs and SHA256 for packages"
}
@@ -0,0 +1,12 @@
{
"python": "3.10.12 (main, Aug 31 2026, 10:18:17) [GCC 11.4.0]",
"executable": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
"platform": "Linux-5.15.0-194-generic-x86_64-with-glibc2.35",
"package_versions": {
"numpy": "2.2.6",
"pandas": "2.3.3",
"pyarrow": "25.0.1",
"torch": "2.14.0",
"scipy": "1.15.3"
}
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,78 @@
[
{
"name": "Brian2",
"version": "2.5.1"
},
{
"name": "Cython",
"version": "0.29.33"
},
{
"name": "Jinja2",
"version": "2.11.3"
},
{
"name": "joblib",
"version": "1.2.0"
},
{
"name": "MarkupSafe",
"version": "1.1.1"
},
{
"name": "mpmath",
"version": "1.3.0"
},
{
"name": "numpy",
"version": "1.22.3"
},
{
"name": "packaging",
"version": "23.1"
},
{
"name": "pandas",
"version": "1.4.3"
},
{
"name": "pip",
"version": "23.0.1"
},
{
"name": "pyarrow",
"version": "11.0.0"
},
{
"name": "pyparsing",
"version": "3.0.9"
},
{
"name": "python-dateutil",
"version": "2.8.2"
},
{
"name": "pytz",
"version": "2023.3"
},
{
"name": "scipy",
"version": "1.8.1"
},
{
"name": "setuptools",
"version": "67.8.0"
},
{
"name": "six",
"version": "1.16.0"
},
{
"name": "sympy",
"version": "1.12"
},
{
"name": "wheel",
"version": "0.38.4"
}
]
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2023 Philip Shiu and Nico Spiller
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
@@ -0,0 +1,109 @@
name: brian2
channels:
- defaults
- conda-forge
dependencies:
- abseil-cpp=20211102.0=h0e60522_0
- arrow-cpp=11.0.0=py310h7cee713_0
- asttokens=2.2.1=pyhd8ed1ab_0
- aws-c-common=0.4.57=ha925a31_1
- aws-c-event-stream=0.1.6=hd77b12b_5
- aws-checksums=0.1.9=ha925a31_0
- aws-sdk-cpp=1.8.185=hd77b12b_0
- backcall=0.2.0=pyh9f0ad1d_0
- backports=1.0=pyhd8ed1ab_3
- backports.functools_lru_cache=1.6.4=pyhd8ed1ab_0
- boost-cpp=1.78.0=h5b4e17d_0
- brian2=2.5.1=py310hc781a3c_0
- bzip2=1.0.8=he774522_0
- c-ares=1.19.0=h2bbff1b_0
- ca-certificates=2023.5.7=h56e8100_0
- colorama=0.4.6=pyhd8ed1ab_0
- cython=0.29.33=py310hd77b12b_0
- debugpy=1.5.1=py310hd77b12b_0
- decorator=5.1.1=pyhd8ed1ab_0
- executing=1.2.0=pyhd8ed1ab_0
- gflags=2.2.2=ha925a31_1004
- glog=0.5.0=h4797de2_0
- gsl=2.7=hdfb1a43_0
- importlib-metadata=6.6.0=pyha770c72_0
- importlib_metadata=6.6.0=hd8ed1ab_0
- intel-openmp=2023.1.0=h57928b3_46319
- ipykernel=6.15.0=pyh025b116_0
- ipython=8.14.0=pyh08f2357_0
- jedi=0.18.2=pyhd8ed1ab_0
- jinja2=2.11.3=pyhd8ed1ab_2
- joblib=1.2.0=pyhd8ed1ab_0
- jupyter_client=8.2.0=pyhd8ed1ab_0
- jupyter_core=5.3.0=py310h5588dad_0
- libblas=3.9.0=8_mkl
- libbrotlicommon=1.0.9=h8ffe710_7
- libbrotlidec=1.0.9=h8ffe710_7
- libbrotlienc=1.0.9=h8ffe710_7
- libcblas=3.9.0=8_mkl
- libcurl=7.88.1=h86230a5_0
- libffi=3.4.4=hd77b12b_0
- liblapack=3.9.0=8_mkl
- libprotobuf=3.20.3=h23ce68f_0
- libsodium=1.0.18=h8d14728_1
- libssh2=1.10.0=hcd4344a_0
- libthrift=0.15.0=h636ae23_0
- lz4-c=1.9.4=h2bbff1b_0
- m2w64-gcc-libgfortran=5.3.0=6
- m2w64-gcc-libs=5.3.0=7
- m2w64-gcc-libs-core=5.3.0=7
- m2w64-gmp=6.1.0=2
- m2w64-libwinpthread-git=5.0.0.4634.697f757=2
- markupsafe=1.1.1=py310he2412df_4
- matplotlib-inline=0.1.6=pyhd8ed1ab_0
- mkl=2020.4=hb70f87d_311
- mpmath=1.3.0=pyhd8ed1ab_0
- msys2-conda-epoch=20160418=1
- nest-asyncio=1.5.6=pyhd8ed1ab_0
- numpy=1.22.3=py310hed7ac4c_2
- openssl=1.1.1t=h2bbff1b_0
- orc=1.7.4=h623e30f_1
- packaging=23.1=pyhd8ed1ab_0
- pandas=1.4.3=py310hf5e1058_0
- parso=0.8.3=pyhd8ed1ab_0
- pickleshare=0.7.5=py_1003
- pip=23.0.1=py310haa95532_0
- platformdirs=3.5.1=pyhd8ed1ab_0
- prompt-toolkit=3.0.38=pyha770c72_0
- prompt_toolkit=3.0.38=hd8ed1ab_0
- psutil=5.9.0=py310h2bbff1b_0
- pure_eval=0.2.2=pyhd8ed1ab_0
- py-cpuinfo=9.0.0=pyhd8ed1ab_0
- pyarrow=11.0.0=py310h790e06d_0
- pygments=2.15.1=pyhd8ed1ab_0
- pyparsing=3.0.9=pyhd8ed1ab_0
- python=3.10.11=h966fe2a_2
- python-dateutil=2.8.2=pyhd8ed1ab_0
- python_abi=3.10=2_cp310
- pytz=2023.3=pyhd8ed1ab_0
- pywin32=305=py310h2bbff1b_0
- pyzmq=25.0.2=py310hd77b12b_0
- re2=2022.04.01=h0e60522_0
- scipy=1.8.1=py310h7c00807_2
- setuptools=67.8.0=py310haa95532_0
- six=1.16.0=pyh6c4a22f_0
- snappy=1.1.9=h6c2663c_0
- sqlite=3.41.2=h2bbff1b_0
- stack_data=0.6.2=pyhd8ed1ab_0
- sympy=1.12=pyh04b8f61_3
- tk=8.6.12=h2bbff1b_0
- tornado=6.2=py310he2412df_0
- traitlets=5.9.0=pyhd8ed1ab_0
- typing-extensions=4.6.3=hd8ed1ab_0
- typing_extensions=4.6.3=pyha770c72_0
- tzdata=2023c=h04d1e81_0
- utf8proc=2.6.1=h2bbff1b_0
- vc=14.2=h21ff451_1
- vs2015_runtime=14.27.29016=h5e58377_2
- wcwidth=0.2.6=pyhd8ed1ab_0
- wheel=0.38.4=py310haa95532_0
- xz=5.4.2=h8cc25b3_0
- zeromq=4.3.4=h0e60522_1
- zipp=3.15.0=pyhd8ed1ab_0
- zlib=1.2.13=h8cc25b3_0
- zstd=1.5.5=hd43e919_0
@@ -0,0 +1,373 @@
import pandas as pd
from textwrap import dedent
# brian 2
from brian2 import NeuronGroup, Synapses, PoissonInput, SpikeMonitor, Network
from brian2 import mV, ms, Hz
# file handling
from pathlib import Path
# parallelization
from joblib import Parallel, delayed, parallel_backend
from time import time
default_params = {
# trials
't_run' : 1000 * ms, # duration of trial
'n_run' : 30, # number of runs
# network constants
# Kakaria and de Bivort 2017 https://doi.org/10.3389/fnbeh.2017.00008
'v_0' : -52 * mV, # resting potential
'v_rst' : -52 * mV, # reset potential after spike
'v_th' : -45 * mV, # threshold for spiking
't_mbr' : 20 * ms, # membrane time scale (capacitance * resistance = .002 * uF * 10. * Mohm)
# Jürgensen et al https://doi.org/10.1088/2634-4386/ac3ba6
'tau' : 5 * ms, # time constant
# Lazar et al https://doi.org/10.7554/eLife.62362
't_rfc' : 2.2 * ms, # refractory period
# Paul et al 2015 doi: 10.3389/fncel.2015.00029
't_dly' : 1.8*ms, # delay for changes in post-synaptic neuron
# Free parameter
'w_syn' : .275 * mV, # weight per synapse (note: modulated by exponential decay)
# Default activation rates
'r_poi' : 150*Hz, # default rate of the Poisson inputs
'r_poi2' : 0*Hz, # default rate of a 2nd class of Poisson inputs
'f_poi' : 250, # scaling factor for Poisson synapse; 250 is sufficient to cause spiking
# equations for neurons # alpha synapse https://doi.org/10.1017/CBO9780511815706; See https://brian2.readthedocs.io/en/stable/user/converting_from_integrated_form.html
'eqs' : dedent('''
dv/dt = (v_0 - v + g) / t_mbr : volt (unless refractory)
dg/dt = -g / tau : volt (unless refractory)
rfc : second
'''),
# condition for spike
'eq_th' : 'v > v_th',
# rules for spike
'eq_rst' : 'v = v_rst; w = 0; g = 0 * mV',
}
#######################
# brian2 model setup
def poi(neu, exc, exc2, params):
'''Create PoissonInput for neurons.
For each neuron in 'names' a PoissonInput is generated and
the refractory period of that neuron is set to 0 in NeuronGroup.
Parameters
----------
neu : NeuronGroup
Defined brian2.NeuronGroup object
exc : list
Indices of neurons for which to create Poisson input
exc2 : list
Indices of neurons for which to create Poisson input with `r_poi`
params : dict
Constants and equations that are used to construct the brian2 network model
Returns
-------
pois : list
PoissonInput objects for each neuron in 'exc'
neu : NeuronGroup
NeuronGroup with adjusted refractory periods
'''
pois = []
for i in exc:
p = PoissonInput(
target=neu[i],
target_var='v',
N=1,
rate=params['r_poi'],
weight=params['w_syn']*params['f_poi']
)
neu[i].rfc = 0 * ms # no refractory period for Poisson targets
pois.append(p)
for i in exc2:
p = PoissonInput(
target=neu[i],
target_var='v',
N=1,
rate=params['r_poi2'],
weight=params['w_syn']*params['f_poi']
)
neu[i].rfc = 0 * ms # no refractory period for Poisson targets
pois.append(p)
return pois, neu
def silence(slnc, syn):
'''Silence neuron by setting weights of all synapses from it to 0
Parameters
----------
slnc : list
List of neuron indices to silence
syn : brian2.Synapses
Defined synapses object
Returns
-------
syn : brian2.Synapses
Synapses with modified weights
'''
for i in slnc:
syn.w[' {} == i'.format(i)] = 0*mV
return syn
def create_model(path_comp, path_con, params):
'''Create default network model.
Convert the "completeness materialization" and "connectivity" dataframes
into a brian2 neural network model. Network constants and equations
are defined at the beginning of this file.
Parameters
----------
path_comp : str
path to "completeness materialization" dataframe
path_con : str
path to "connectivity" dataframe
params : dict
Constants and equations that are used to construct the brian2 network model
Returns
-------
neu : NeuronGroup
brian2.NeuronGroup object with neurons as in 'path_comp'
syn : Synapses
brian2.Synapses object with connections as in 'path_con'
spk_mon : SpikeMonitor
brian2.SpikeMonitor object, which records time of spike events
'''
# load neuron connectivity dataframes
df_comp = pd.read_csv(path_comp, index_col=0)
df_con = pd.read_parquet(path_con)
neu = NeuronGroup( # create neurons
N=len(df_comp),
model=params['eqs'],
method='linear',
threshold=params['eq_th'],
reset=params['eq_rst'],
refractory='rfc',
name='default_neurons',
namespace=params,
)
neu.v = params['v_0'] # initialize values
neu.g = 0
neu.rfc = params['t_rfc']
# create synapses
syn = Synapses(neu, neu, 'w : volt', on_pre='g += w', delay=params['t_dly'], name='default_synapses')
# connect synapses
i_pre = df_con.loc[:, 'Presynaptic_Index'].values
i_post = df_con.loc[:, 'Postsynaptic_Index'].values
syn.connect(i=i_pre, j=i_post)
# define connection weight
syn.w = df_con.loc[:,'Excitatory x Connectivity'].values * params['w_syn']
# object to record spikes
spk_mon = SpikeMonitor(neu)
return neu, syn, spk_mon
#####################
# running simulations
def get_spk_trn(spk_mon):
'''Extracts spike times from 'spk_mon'
The spike times recorded in the SpikeMonitor object during
simulation are converted to a list of times for each neurons.
Returns dict with "brian ID": "list of spike times".
Parameters
----------
spk_mon : SpikeMonitor
Contains recorded spike times
Returns
-------
spk_trn : dict
Mapping between brian neuron IDs and spike times
'''
spk_trn = {k: v for k, v in spk_mon.spike_trains().items() if len(v)}
return spk_trn
def construct_dataframe(res, exp_name, i2flyid):
'''Take spike time dict and collects spikes in pandas dataframe
Parameters
----------
res : list
List with spike time dicts for each trial
exp_name : str
Name of the experiment
i2flyid : dict
Mapping between Brian IDs and flywire IDs
Returns
-------
df : pandas.DataFrame
Dataframe where each row is one spike
'''
ids, ts, nrun = [], [], []
for n, i in enumerate(res):
for j, k in i.items():
ids.extend([j for _ in k])
nrun.extend([n for _ in k])
ts.extend([float(l) for l in k])
d = {
't': ts,
'trial': nrun,
'flywire_id': [i2flyid[i] for i in ids],
'exp_name': exp_name
}
df = pd.DataFrame(d)
return df
def run_trial(exc, exc2, slnc, path_comp, path_con, params):
'''Run single trial of coactivation/silencng experiment
During the coactivation experiment, the neurons in 'exc' are
Poisson inputs. The simulation runs for 't_run'.
Parameters
----------
exc: list
contains indices of neurons for PoissonInput
exc2: list
contains indices of neurons for PoissonInput of different frequency `r_poi2`
slnc: list
contains indices of neurons to silence
path_comp: Path
path to "completeness materialization" dataframe
path_con: Path
path to "connectivity" dataframe
params : dict
Constants and equations that are used to construct the brian2 network model
Returns
-------
spk_trn : dict
Mapping between brian neuron IDs and spike times
'''
# get default network
neu, syn, spk_mon = create_model(path_comp, path_con, params)
# define Poisson input for excitation
poi_inp, neu = poi(neu, exc, exc2, params)
# silence neurons
syn = silence(slnc, syn)
# collect in Network object
net = Network(neu, syn, spk_mon, *poi_inp)
# run simulation
net.run(duration=params['t_run'])
# spike times
spk_trn = get_spk_trn(spk_mon)
return spk_trn
def run_exp(exp_name, neu_exc, path_res, path_comp, path_con,
params=default_params, neu_slnc=[], neu_exc2=[],
n_proc=-1, force_overwrite=False):
'''
Run default network experiment
Neurons in `neu_exc` are Poisson external inputs
Neurons in `neu_slnc` are silenced
Parameters
----------
exp_name: str
name of the experiment
neu_exc: list
contains custom names or flywire IDs of neurons to be excited
path_res: str
path to the output folder where spike data is stored
path_comp: str
path to "completeness materialization" dataframe
path_con: str
path to "connectivity" dataframe
params : dict
Constants and equations that are used to construct the brian2 network model
neu_slnc : list (optional)
contains custom names or flywire IDs of neurons to be silenced
neu_exc2 : list (optional)
contains custom names or flywire IDs of neurons to be excited with different frequency
requires `r_poi2` to be defined in `params`
n_proc: int (optional)
number of cores to be used for parallel runs
default: -1 (use all available cores)
n_proc=1 is equivalent serial code
force_overwrite : bool (optional)
If True, overwrite output files, else skip simulation, by default False
'''
# convert to Path objects
path_res, path_comp, path_con = [ Path(i) for i in [path_res, path_comp, path_con] ]
# define output files
path_save = path_res / '{}.parquet'.format(exp_name)
if path_save.is_file() and not force_overwrite:
print('>>> Skipping experiment {} because {} exists and force_overwrite = {}'.format(exp_name, path_save, force_overwrite))
return
# load name/id mappings
df_comp = pd.read_csv(path_comp, index_col=0) # load completeness dataframe
flyid2i = {j: i for i, j in enumerate(df_comp.index)} # flywire id: biran ID
i2flyid = {j: i for i, j in flyid2i.items()} # brian ID: flywire ID
# print info
print('>>> Experiment: {}'.format(exp_name))
print(' Output file: {}'.format(path_save))
print(' Excited neurons: {}'.format(len(neu_exc + neu_exc2)))
if neu_slnc:
print(' Silenced neurons: {}'.format(len(neu_slnc)))
# start parallel calculation
n_run = params['n_run']
start = time()
with parallel_backend('loky', n_jobs=n_proc):
exc = [ flyid2i[n] for n in neu_exc ]
exc2 = [ flyid2i[n] for n in neu_exc2 ]
slnc = [ flyid2i[n] for n in neu_slnc ]
res = Parallel()(
delayed(
run_trial)(exc, exc2, slnc, path_comp, path_con, params) for _ in range(n_run))
# print simulation time
walltime = time() - start
print(' Elapsed time: {} s'.format(int(walltime)))
# dataframe with spike times
df = construct_dataframe(res, exp_name, i2flyid)
# store spike data
df.to_parquet(path_save, compression='brotli')
@@ -0,0 +1,17 @@
{
"binary": "/data/digital-drosophila/experiments/phase4ad-author-semantics/gpu-reference/extension-build/male_cns_lif_deterministic_v2_ext.so",
"binary_sha256": "57f59f634cc8e3b03f4674a3ddb11ec933ab124feb0b9fa89d08fe26e60fcb7e",
"build_seconds": 55.24202698399972,
"flags": {
"cuda": [
"-O3",
"--fmad=false",
"-std=c++20"
],
"cxx": [
"-O3",
"-ffp-contract=off"
]
},
"status": "PASS"
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,20 @@
{
"edge_id": [
1337065,
1467355,
1559765,
20992891
],
"weights_mv": [
28.599998474121094,
64.625,
62.14999771118164,
11.824999809265137
],
"weights_volt": [
0.028599999845027924,
0.06462500244379044,
0.062150001525878906,
0.011824999935925007
]
}
@@ -0,0 +1,4 @@
step,neuron_idx
0,1381
51,1511
104,1197
1 step neuron_idx
2 0 1381
3 51 1511
4 104 1197
@@ -0,0 +1,6 @@
global_neuron_idx,local_index
1197,0
1381,1
1511,2
82312,3
133666,4
1 global_neuron_idx local_index
2 1197 0
3 1381 1
4 1511 2
5 82312 3
6 133666 4
@@ -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
}
@@ -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_7",
"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_8",
"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_4",
"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_4",
"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,123 @@
{
"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": [
1337065,
1467355,
1559765,
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": "float32",
"preferences": {
"codegen.target": "numpy",
"core.default_float_dtype": "float32",
"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": -43.99999976158142,
"injections": 1,
"margin_mv": 1.0,
"requested_global_node": 1381,
"spiked_at_zero": true
}
@@ -0,0 +1,20 @@
{
"edge_id": [
1337065,
1467355,
1559765,
20992891
],
"weights_mv": [
28.599998474121094,
64.625,
62.14999771118164,
11.824999809265137
],
"weights_volt": [
0.028599999845027924,
0.06462500244379044,
0.062150001525878906,
0.011824999935925007
]
}
@@ -0,0 +1,4 @@
step,neuron_idx
0,1381
51,1511
104,1197
1 step neuron_idx
2 0 1381
3 51 1511
4 104 1197
@@ -0,0 +1,11 @@
{
"exact_events": true,
"exact_counts": true,
"ref_exact": true,
"max_abs_mv": 0.00020179152488708496,
"mean_abs_mv": 1.9821550031807453e-05,
"same_event_prefix_max_abs_mv": 0.00020179152488708496,
"first_event_divergence_step": null,
"tolerance_mv": 0.001,
"pass_oracle": true
}
@@ -0,0 +1,6 @@
global_neuron_idx,local_index
1197,0
1381,1
1511,2
82312,3
133666,4
1 global_neuron_idx local_index
2 1197 0
3 1381 1
4 1511 2
5 82312 3
6 133666 4
@@ -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
}
@@ -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_6",
"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_7",
"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_7",
"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_7",
"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,4 @@
step,neuron_idx
0,1381
51,1511
104,1197
1 step neuron_idx
2 0 1381
3 51 1511
4 104 1197
@@ -0,0 +1,123 @@
{
"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": [
1337065,
1467355,
1559765,
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": "float32",
"preferences": {
"codegen.target": "numpy",
"core.default_float_dtype": "float32",
"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": -43.99999976158142,
"injections": 1,
"margin_mv": 1.0,
"requested_global_node": 1381,
"spiked_at_zero": true
}
@@ -0,0 +1,20 @@
{
"edge_id": [
1337065,
1467355,
1559765,
20992891
],
"weights_mv": [
28.6,
64.625,
62.150000000000006,
11.825000000000001
],
"weights_volt": [
0.0286,
0.064625,
0.062150000000000004,
0.011825
]
}
@@ -0,0 +1,4 @@
step,neuron_idx
0,1381
51,1511
104,1197
1 step neuron_idx
2 0 1381
3 51 1511
4 104 1197
@@ -0,0 +1,6 @@
global_neuron_idx,local_index
1197,0
1381,1
1511,2
82312,3
133666,4
1 global_neuron_idx local_index
2 1197 0
3 1381 1
4 1511 2
5 82312 3
6 133666 4
@@ -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
}
@@ -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_5",
"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_6",
"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_6",
"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_6",
"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,123 @@
{
"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": [
1337065,
1467355,
1559765,
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
}
@@ -0,0 +1,20 @@
{
"edge_id": [
1337065,
1467355,
1559765,
20992891
],
"weights_mv": [
28.6,
64.625,
62.150000000000006,
11.825000000000001
],
"weights_volt": [
0.0286,
0.064625,
0.062150000000000004,
0.011825
]
}
@@ -0,0 +1,4 @@
step,neuron_idx
0,1381
51,1511
104,1197
1 step neuron_idx
2 0 1381
3 51 1511
4 104 1197
@@ -0,0 +1,11 @@
{
"exact_events": true,
"exact_counts": true,
"ref_exact": true,
"max_abs_mv": 3.765876499528531e-13,
"mean_abs_mv": 3.893371799264915e-14,
"same_event_prefix_max_abs_mv": 3.765876499528531e-13,
"first_event_divergence_step": null,
"tolerance_mv": 1e-08,
"pass_oracle": true
}
@@ -0,0 +1,6 @@
global_neuron_idx,local_index
1197,0
1381,1
1511,2
82312,3
133666,4
1 global_neuron_idx local_index
2 1197 0
3 1381 1
4 1511 2
5 82312 3
6 133666 4
@@ -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
}
@@ -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_4",
"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_5",
"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_5",
"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_5",
"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,4 @@
step,neuron_idx
0,1381
51,1511
104,1197
1 step neuron_idx
2 0 1381
3 51 1511
4 104 1197
@@ -0,0 +1,123 @@
{
"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": [
1337065,
1467355,
1559765,
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
}
@@ -0,0 +1,47 @@
{
"edge_id": [
1336648,
1336655,
1337065,
1467340,
1467355,
1467852,
1559765,
1559772,
1560267,
20992285,
20992291,
20992294,
20992891
],
"weights_mv": [
57.75,
47.29999923706055,
28.599998474121094,
71.2249984741211,
64.625,
17.599998474121094,
62.14999771118164,
77.82499694824219,
19.249998092651367,
26.125,
15.675000190734863,
20.899999618530273,
11.824999809265137
],
"weights_volt": [
0.057750001549720764,
0.04729999974370003,
0.028599999845027924,
0.07122500240802765,
0.06462500244379044,
0.01759999990463257,
0.062150001525878906,
0.07782500237226486,
0.01924999989569187,
0.026125000789761543,
0.015675000846385956,
0.020899999886751175,
0.011824999935925007
]
}
@@ -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
1 step neuron_idx
2 0 1381
3 46 1197
4 51 1511
5 79 1381
6 91 133666
7 99 1197
8 120 1511
9 140 1381
10 163 1197
11 170 133666
12 185 1511
13 205 1381
14 220 1197
15 246 1511
16 259 133666
17 268 1381
18 288 1197
19 306 1511
20 330 1381
21 341 133666
22 351 1197
23 371 1511
24 391 1381
25 414 1197
26 422 133666
27 436 1511
28 457 1381
29 471 1197
30 497 1511
31 510 133666
32 519 1381
33 539 1197
34 557 1511
35 581 1381
36 592 133666
37 602 1197
38 622 1511
39 642 1381
40 665 1197
41 673 133666
42 687 1511
43 708 1381
44 722 1197
45 748 1511
46 761 133666
47 770 1381
48 790 1197
49 808 1511
50 832 1381
51 843 133666
52 853 1197
53 873 1511
54 881 82312
55 893 1381
56 916 1197
57 924 133666
58 938 1511
59 959 1381
60 973 1197
61 999 1511
62 1012 133666
63 1021 1381
64 1041 1197
65 1059 1511
66 1083 1381
67 1094 133666
68 1104 1197
69 1124 1511
70 1144 1381
71 1167 1197
72 1175 133666
73 1189 1511
74 1210 1381
75 1224 1197
76 1250 1511
77 1263 133666
78 1272 1381
79 1292 1197
80 1310 1511
81 1334 1381
82 1345 133666
83 1355 1197
84 1375 1511
85 1395 1381
86 1418 1197
87 1426 133666
88 1440 1511
89 1461 1381
90 1475 1197
91 1501 1511
92 1514 133666
93 1523 1381
94 1543 1197
95 1561 1511
96 1585 1381
97 1596 133666
98 1606 1197
99 1626 1511
100 1641 82312
101 1646 1381
102 1669 1197
103 1677 133666
104 1691 1511
105 1712 1381
106 1726 1197
107 1752 1511
108 1765 133666
109 1774 1381
110 1794 1197
111 1812 1511
112 1836 1381
113 1847 133666
114 1857 1197
115 1877 1511
116 1897 1381
117 1920 1197
118 1928 133666
119 1942 1511
120 1963 1381
121 1977 1197
122 2003 1511
123 2016 133666
124 2025 1381
125 2045 1197
126 2063 1511
127 2087 1381
128 2098 133666
129 2108 1197
130 2128 1511
131 2148 1381
132 2171 1197
133 2179 133666
134 2193 1511
135 2214 1381
136 2228 1197
137 2254 1511
138 2267 133666
139 2276 1381
140 2296 1197
141 2314 1511
142 2338 1381
143 2349 133666
144 2359 1197
145 2379 1511
146 2394 82312
147 2399 1381
148 2422 1197
149 2430 133666
150 2444 1511
151 2465 1381
152 2479 1197
153 2505 1511
154 2518 133666
155 2527 1381
156 2547 1197
157 2565 1511
158 2589 1381
159 2600 133666
160 2610 1197
161 2630 1511
162 2650 1381
163 2673 1197
164 2681 133666
165 2695 1511
166 2716 1381
167 2730 1197
168 2756 1511
169 2769 133666
170 2778 1381
171 2798 1197
172 2816 1511
173 2840 1381
174 2851 133666
175 2861 1197
176 2881 1511
177 2901 1381
178 2924 1197
179 2932 133666
180 2946 1511
181 2967 1381
182 2981 1197
183 3007 1511
184 3020 133666
185 3029 1381
186 3049 1197
187 3067 1511
188 3091 1381
189 3102 133666
190 3112 1197
191 3132 1511
192 3147 82312
193 3152 1381
194 3175 1197
195 3183 133666
196 3197 1511
197 3218 1381
198 3232 1197
199 3258 1511
200 3271 133666
201 3280 1381
202 3300 1197
203 3318 1511
204 3342 1381
205 3353 133666
206 3363 1197
207 3383 1511
208 3403 1381
209 3426 1197
210 3434 133666
211 3448 1511
212 3469 1381
213 3483 1197
214 3509 1511
215 3522 133666
216 3531 1381
217 3551 1197
218 3569 1511
219 3593 1381
220 3604 133666
221 3614 1197
222 3634 1511
223 3654 1381
224 3677 1197
225 3685 133666
226 3699 1511
227 3720 1381
228 3734 1197
229 3760 1511
230 3773 133666
231 3782 1381
232 3802 1197
233 3820 1511
234 3844 1381
235 3855 133666
236 3865 1197
237 3885 1511
238 3900 82312
239 3905 1381
240 3928 1197
241 3936 133666
242 3950 1511
243 3971 1381
244 3985 1197
245 4011 1511
246 4024 133666
247 4033 1381
248 4053 1197
249 4071 1511
250 4095 1381
251 4106 133666
252 4116 1197
253 4136 1511
254 4156 1381
255 4179 1197
256 4187 133666
257 4201 1511
258 4222 1381
259 4236 1197
260 4262 1511
261 4275 133666
262 4284 1381
263 4304 1197
264 4322 1511
265 4346 1381
266 4357 133666
267 4367 1197
268 4387 1511
269 4407 1381
270 4430 1197
271 4438 133666
272 4452 1511
273 4473 1381
274 4487 1197
275 4513 1511
276 4526 133666
277 4535 1381
278 4555 1197
279 4573 1511
280 4597 1381
281 4608 133666
282 4618 1197
283 4638 1511
284 4653 82312
285 4658 1381
286 4681 1197
287 4689 133666
288 4703 1511
289 4724 1381
290 4738 1197
291 4764 1511
292 4777 133666
293 4786 1381
294 4806 1197
295 4824 1511
296 4848 1381
297 4859 133666
298 4869 1197
299 4889 1511
300 4909 1381
301 4932 1197
302 4940 133666
303 4954 1511
304 4975 1381
305 4989 1197
306 5015 1511
307 5028 133666
308 5037 1381
309 5057 1197
310 5075 1511
311 5099 1381
312 5110 133666
313 5120 1197
314 5140 1511
315 5160 1381
316 5183 1197
317 5191 133666
318 5205 1511
319 5226 1381
320 5240 1197
321 5266 1511
322 5279 133666
323 5288 1381
324 5308 1197
325 5326 1511
326 5350 1381
327 5361 133666
328 5371 1197
329 5391 1511
330 5406 82312
331 5411 1381
332 5434 1197
333 5442 133666
334 5456 1511
335 5477 1381
336 5491 1197
337 5517 1511
338 5530 133666
339 5539 1381
340 5559 1197
341 5577 1511
342 5601 1381
343 5612 133666
344 5622 1197
345 5642 1511
346 5662 1381
347 5685 1197
348 5693 133666
349 5707 1511
350 5728 1381
351 5742 1197
352 5768 1511
353 5781 133666
354 5790 1381
355 5810 1197
356 5828 1511
357 5852 1381
358 5863 133666
359 5873 1197
360 5893 1511
361 5913 1381
362 5936 1197
363 5944 133666
364 5958 1511
365 5979 1381
366 5993 1197
367 6019 1511
368 6032 133666
369 6041 1381
370 6061 1197
371 6079 1511
372 6103 1381
373 6114 133666
374 6124 1197
375 6144 1511
376 6159 82312
377 6164 1381
378 6187 1197
379 6195 133666
380 6209 1511
381 6230 1381
382 6244 1197
383 6270 1511
384 6283 133666
385 6292 1381
386 6312 1197
387 6330 1511
388 6354 1381
389 6365 133666
390 6375 1197
391 6395 1511
392 6415 1381
393 6438 1197
394 6446 133666
395 6460 1511
396 6481 1381
397 6495 1197
398 6521 1511
399 6534 133666
400 6543 1381
401 6563 1197
402 6581 1511
403 6605 1381
404 6616 133666
405 6626 1197
406 6646 1511
407 6666 1381
408 6689 1197
409 6697 133666
410 6711 1511
411 6732 1381
412 6746 1197
413 6772 1511
414 6785 133666
415 6794 1381
416 6814 1197
417 6832 1511
418 6856 1381
419 6867 133666
420 6877 1197
421 6897 1511
422 6912 82312
423 6917 1381
424 6940 1197
425 6948 133666
426 6962 1511
427 6983 1381
428 6997 1197
429 7023 1511
430 7036 133666
431 7045 1381
432 7065 1197
433 7083 1511
434 7107 1381
435 7118 133666
436 7128 1197
437 7148 1511
438 7168 1381
439 7191 1197
440 7199 133666
441 7213 1511
442 7234 1381
443 7248 1197
444 7274 1511
445 7287 133666
446 7296 1381
447 7316 1197
448 7334 1511
449 7358 1381
450 7369 133666
451 7379 1197
452 7399 1511
453 7419 1381
454 7442 1197
455 7450 133666
456 7464 1511
457 7485 1381
458 7499 1197
459 7525 1511
460 7538 133666
461 7547 1381
462 7567 1197
463 7585 1511
464 7609 1381
465 7620 133666
466 7630 1197
467 7650 1511
468 7665 82312
469 7670 1381
470 7693 1197
471 7701 133666
472 7715 1511
473 7736 1381
474 7750 1197
475 7776 1511
476 7789 133666
477 7798 1381
478 7818 1197
479 7836 1511
480 7860 1381
481 7871 133666
482 7881 1197
483 7901 1511
484 7921 1381
485 7944 1197
486 7952 133666
487 7966 1511
488 7987 1381
489 8001 1197
490 8027 1511
491 8040 133666
492 8049 1381
493 8069 1197
494 8087 1511
495 8111 1381
496 8122 133666
497 8132 1197
498 8152 1511
499 8172 1381
500 8195 1197
501 8203 133666
502 8217 1511
503 8238 1381
504 8252 1197
505 8278 1511
506 8291 133666
507 8300 1381
508 8320 1197
509 8338 1511
510 8362 1381
511 8373 133666
512 8383 1197
513 8403 1511
514 8418 82312
515 8423 1381
516 8446 1197
517 8454 133666
518 8468 1511
519 8489 1381
520 8503 1197
521 8529 1511
522 8542 133666
523 8551 1381
524 8571 1197
525 8589 1511
526 8613 1381
527 8624 133666
528 8634 1197
529 8654 1511
530 8674 1381
531 8697 1197
532 8705 133666
533 8719 1511
534 8740 1381
535 8754 1197
536 8780 1511
537 8793 133666
538 8802 1381
539 8822 1197
540 8840 1511
541 8864 1381
542 8875 133666
543 8885 1197
544 8905 1511
545 8925 1381
546 8948 1197
547 8956 133666
548 8970 1511
549 8991 1381
550 9005 1197
551 9031 1511
552 9044 133666
553 9053 1381
554 9073 1197
555 9091 1511
556 9115 1381
557 9126 133666
558 9136 1197
559 9156 1511
560 9171 82312
561 9176 1381
562 9199 1197
563 9207 133666
564 9221 1511
565 9242 1381
566 9256 1197
567 9282 1511
568 9295 133666
569 9304 1381
570 9324 1197
571 9342 1511
572 9366 1381
573 9377 133666
574 9387 1197
575 9407 1511
576 9427 1381
577 9450 1197
578 9458 133666
579 9472 1511
580 9493 1381
581 9507 1197
582 9533 1511
583 9546 133666
584 9555 1381
585 9575 1197
586 9593 1511
587 9617 1381
588 9628 133666
589 9638 1197
590 9658 1511
591 9678 1381
592 9701 1197
593 9709 133666
594 9723 1511
595 9744 1381
596 9758 1197
597 9784 1511
598 9797 133666
599 9806 1381
600 9826 1197
601 9844 1511
602 9868 1381
603 9879 133666
604 9889 1197
605 9909 1511
606 9924 82312
607 9929 1381
608 9952 1197
609 9960 133666
610 9974 1511
611 9995 1381
@@ -0,0 +1,6 @@
global_neuron_idx,local_index
1197,0
1381,1
1511,2
82312,3
133666,4
1 global_neuron_idx local_index
2 1197 0
3 1381 1
4 1511 2
5 82312 3
6 133666 4
@@ -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
}
@@ -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_3",
"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_4",
"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_4",
"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_4",
"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": "float32",
"preferences": {
"codegen.target": "numpy",
"core.default_float_dtype": "float32",
"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": -43.99999976158142,
"injections": 1,
"margin_mv": 1.0,
"requested_global_node": 1381,
"spiked_at_zero": true
}
@@ -0,0 +1,47 @@
{
"edge_id": [
1336648,
1336655,
1337065,
1467340,
1467355,
1467852,
1559765,
1559772,
1560267,
20992285,
20992291,
20992294,
20992891
],
"weights_mv": [
57.75,
47.29999923706055,
28.599998474121094,
71.2249984741211,
64.625,
17.599998474121094,
62.14999771118164,
77.82499694824219,
19.249998092651367,
26.125,
15.675000190734863,
20.899999618530273,
11.824999809265137
],
"weights_volt": [
0.057750001549720764,
0.04729999974370003,
0.028599999845027924,
0.07122500240802765,
0.06462500244379044,
0.01759999990463257,
0.062150001525878906,
0.07782500237226486,
0.01924999989569187,
0.026125000789761543,
0.015675000846385956,
0.020899999886751175,
0.011824999935925007
]
}
@@ -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
1 step neuron_idx
2 0 1381
3 46 1197
4 51 1511
5 79 1381
6 91 133666
7 99 1197
8 120 1511
9 140 1381
10 163 1197
11 170 133666
12 185 1511
13 205 1381
14 220 1197
15 246 1511
16 259 133666
17 268 1381
18 288 1197
19 306 1511
20 330 1381
21 341 133666
22 351 1197
23 371 1511
24 391 1381
25 414 1197
26 422 133666
27 436 1511
28 457 1381
29 471 1197
30 497 1511
31 510 133666
32 519 1381
33 539 1197
34 557 1511
35 581 1381
36 592 133666
37 602 1197
38 622 1511
39 642 1381
40 665 1197
41 673 133666
42 687 1511
43 708 1381
44 722 1197
45 748 1511
46 761 133666
47 770 1381
48 790 1197
49 808 1511
50 832 1381
51 843 133666
52 853 1197
53 873 1511
54 881 82312
55 893 1381
56 916 1197
57 924 133666
58 938 1511
59 959 1381
60 973 1197
61 999 1511
62 1012 133666
63 1021 1381
64 1041 1197
65 1059 1511
66 1083 1381
67 1094 133666
68 1104 1197
69 1124 1511
70 1144 1381
71 1167 1197
72 1175 133666
73 1189 1511
74 1210 1381
75 1224 1197
76 1250 1511
77 1263 133666
78 1272 1381
79 1292 1197
80 1310 1511
81 1334 1381
82 1345 133666
83 1355 1197
84 1375 1511
85 1395 1381
86 1418 1197
87 1426 133666
88 1440 1511
89 1461 1381
90 1475 1197
91 1501 1511
92 1514 133666
93 1523 1381
94 1543 1197
95 1561 1511
96 1585 1381
97 1596 133666
98 1606 1197
99 1626 1511
100 1641 82312
101 1646 1381
102 1669 1197
103 1677 133666
104 1691 1511
105 1712 1381
106 1726 1197
107 1752 1511
108 1765 133666
109 1774 1381
110 1794 1197
111 1812 1511
112 1836 1381
113 1847 133666
114 1857 1197
115 1877 1511
116 1897 1381
117 1920 1197
118 1928 133666
119 1942 1511
120 1963 1381
121 1977 1197
122 2003 1511
123 2016 133666
124 2025 1381
125 2045 1197
126 2063 1511
127 2087 1381
128 2098 133666
129 2108 1197
130 2128 1511
131 2148 1381
132 2171 1197
133 2179 133666
134 2193 1511
135 2214 1381
136 2228 1197
137 2254 1511
138 2267 133666
139 2276 1381
140 2296 1197
141 2314 1511
142 2338 1381
143 2349 133666
144 2359 1197
145 2379 1511
146 2394 82312
147 2399 1381
148 2422 1197
149 2430 133666
150 2444 1511
151 2465 1381
152 2479 1197
153 2505 1511
154 2518 133666
155 2527 1381
156 2547 1197
157 2565 1511
158 2589 1381
159 2600 133666
160 2610 1197
161 2630 1511
162 2650 1381
163 2673 1197
164 2681 133666
165 2695 1511
166 2716 1381
167 2730 1197
168 2756 1511
169 2769 133666
170 2778 1381
171 2798 1197
172 2816 1511
173 2840 1381
174 2851 133666
175 2861 1197
176 2881 1511
177 2901 1381
178 2924 1197
179 2932 133666
180 2946 1511
181 2967 1381
182 2981 1197
183 3007 1511
184 3020 133666
185 3029 1381
186 3049 1197
187 3067 1511
188 3091 1381
189 3102 133666
190 3112 1197
191 3132 1511
192 3147 82312
193 3152 1381
194 3175 1197
195 3183 133666
196 3197 1511
197 3218 1381
198 3232 1197
199 3258 1511
200 3271 133666
201 3280 1381
202 3300 1197
203 3318 1511
204 3342 1381
205 3353 133666
206 3363 1197
207 3383 1511
208 3403 1381
209 3426 1197
210 3434 133666
211 3448 1511
212 3469 1381
213 3483 1197
214 3509 1511
215 3522 133666
216 3531 1381
217 3551 1197
218 3569 1511
219 3593 1381
220 3604 133666
221 3614 1197
222 3634 1511
223 3654 1381
224 3677 1197
225 3685 133666
226 3699 1511
227 3720 1381
228 3734 1197
229 3760 1511
230 3773 133666
231 3782 1381
232 3802 1197
233 3820 1511
234 3844 1381
235 3855 133666
236 3865 1197
237 3885 1511
238 3900 82312
239 3905 1381
240 3928 1197
241 3936 133666
242 3950 1511
243 3971 1381
244 3985 1197
245 4011 1511
246 4024 133666
247 4033 1381
248 4053 1197
249 4071 1511
250 4095 1381
251 4106 133666
252 4116 1197
253 4136 1511
254 4156 1381
255 4179 1197
256 4187 133666
257 4201 1511
258 4222 1381
259 4236 1197
260 4262 1511
261 4275 133666
262 4284 1381
263 4304 1197
264 4322 1511
265 4346 1381
266 4357 133666
267 4367 1197
268 4387 1511
269 4407 1381
270 4430 1197
271 4438 133666
272 4452 1511
273 4473 1381
274 4487 1197
275 4513 1511
276 4526 133666
277 4535 1381
278 4555 1197
279 4573 1511
280 4597 1381
281 4608 133666
282 4618 1197
283 4638 1511
284 4653 82312
285 4658 1381
286 4681 1197
287 4689 133666
288 4703 1511
289 4724 1381
290 4738 1197
291 4764 1511
292 4777 133666
293 4786 1381
294 4806 1197
295 4824 1511
296 4848 1381
297 4859 133666
298 4869 1197
299 4889 1511
300 4909 1381
301 4932 1197
302 4940 133666
303 4954 1511
304 4975 1381
305 4989 1197
306 5015 1511
307 5028 133666
308 5037 1381
309 5057 1197
310 5075 1511
311 5099 1381
312 5110 133666
313 5120 1197
314 5140 1511
315 5160 1381
316 5183 1197
317 5191 133666
318 5205 1511
319 5226 1381
320 5240 1197
321 5266 1511
322 5279 133666
323 5288 1381
324 5308 1197
325 5326 1511
326 5350 1381
327 5361 133666
328 5371 1197
329 5391 1511
330 5406 82312
331 5411 1381
332 5434 1197
333 5442 133666
334 5456 1511
335 5477 1381
336 5491 1197
337 5517 1511
338 5530 133666
339 5539 1381
340 5559 1197
341 5577 1511
342 5601 1381
343 5612 133666
344 5622 1197
345 5642 1511
346 5662 1381
347 5685 1197
348 5693 133666
349 5707 1511
350 5728 1381
351 5742 1197
352 5768 1511
353 5781 133666
354 5790 1381
355 5810 1197
356 5828 1511
357 5852 1381
358 5863 133666
359 5873 1197
360 5893 1511
361 5913 1381
362 5936 1197
363 5944 133666
364 5958 1511
365 5979 1381
366 5993 1197
367 6019 1511
368 6032 133666
369 6041 1381
370 6061 1197
371 6079 1511
372 6103 1381
373 6114 133666
374 6124 1197
375 6144 1511
376 6159 82312
377 6164 1381
378 6187 1197
379 6195 133666
380 6209 1511
381 6230 1381
382 6244 1197
383 6270 1511
384 6283 133666
385 6292 1381
386 6312 1197
387 6330 1511
388 6354 1381
389 6365 133666
390 6375 1197
391 6395 1511
392 6415 1381
393 6438 1197
394 6446 133666
395 6460 1511
396 6481 1381
397 6495 1197
398 6521 1511
399 6534 133666
400 6543 1381
401 6563 1197
402 6581 1511
403 6605 1381
404 6616 133666
405 6626 1197
406 6646 1511
407 6666 1381
408 6689 1197
409 6697 133666
410 6711 1511
411 6732 1381
412 6746 1197
413 6772 1511
414 6785 133666
415 6794 1381
416 6814 1197
417 6832 1511
418 6856 1381
419 6867 133666
420 6877 1197
421 6897 1511
422 6912 82312
423 6917 1381
424 6940 1197
425 6948 133666
426 6962 1511
427 6983 1381
428 6997 1197
429 7023 1511
430 7036 133666
431 7045 1381
432 7065 1197
433 7083 1511
434 7107 1381
435 7118 133666
436 7128 1197
437 7148 1511
438 7168 1381
439 7191 1197
440 7199 133666
441 7213 1511
442 7234 1381
443 7248 1197
444 7274 1511
445 7287 133666
446 7296 1381
447 7316 1197
448 7334 1511
449 7358 1381
450 7369 133666
451 7379 1197
452 7399 1511
453 7419 1381
454 7442 1197
455 7450 133666
456 7464 1511
457 7485 1381
458 7499 1197
459 7525 1511
460 7538 133666
461 7547 1381
462 7567 1197
463 7585 1511
464 7609 1381
465 7620 133666
466 7630 1197
467 7650 1511
468 7665 82312
469 7670 1381
470 7693 1197
471 7701 133666
472 7715 1511
473 7736 1381
474 7750 1197
475 7776 1511
476 7789 133666
477 7798 1381
478 7818 1197
479 7836 1511
480 7860 1381
481 7871 133666
482 7881 1197
483 7901 1511
484 7921 1381
485 7944 1197
486 7952 133666
487 7966 1511
488 7987 1381
489 8001 1197
490 8027 1511
491 8040 133666
492 8049 1381
493 8069 1197
494 8087 1511
495 8111 1381
496 8122 133666
497 8132 1197
498 8152 1511
499 8172 1381
500 8195 1197
501 8203 133666
502 8217 1511
503 8238 1381
504 8252 1197
505 8278 1511
506 8291 133666
507 8300 1381
508 8320 1197
509 8338 1511
510 8362 1381
511 8373 133666
512 8383 1197
513 8403 1511
514 8418 82312
515 8423 1381
516 8446 1197
517 8454 133666
518 8468 1511
519 8489 1381
520 8503 1197
521 8529 1511
522 8542 133666
523 8551 1381
524 8571 1197
525 8589 1511
526 8613 1381
527 8624 133666
528 8634 1197
529 8654 1511
530 8674 1381
531 8697 1197
532 8705 133666
533 8719 1511
534 8740 1381
535 8754 1197
536 8780 1511
537 8793 133666
538 8802 1381
539 8822 1197
540 8840 1511
541 8864 1381
542 8875 133666
543 8885 1197
544 8905 1511
545 8925 1381
546 8948 1197
547 8956 133666
548 8970 1511
549 8991 1381
550 9005 1197
551 9031 1511
552 9044 133666
553 9053 1381
554 9073 1197
555 9091 1511
556 9115 1381
557 9126 133666
558 9136 1197
559 9156 1511
560 9171 82312
561 9176 1381
562 9199 1197
563 9207 133666
564 9221 1511
565 9242 1381
566 9256 1197
567 9282 1511
568 9295 133666
569 9304 1381
570 9324 1197
571 9342 1511
572 9366 1381
573 9377 133666
574 9387 1197
575 9407 1511
576 9427 1381
577 9450 1197
578 9458 133666
579 9472 1511
580 9493 1381
581 9507 1197
582 9533 1511
583 9546 133666
584 9555 1381
585 9575 1197
586 9593 1511
587 9617 1381
588 9628 133666
589 9638 1197
590 9658 1511
591 9678 1381
592 9701 1197
593 9709 133666
594 9723 1511
595 9744 1381
596 9758 1197
597 9784 1511
598 9797 133666
599 9806 1381
600 9826 1197
601 9844 1511
602 9868 1381
603 9879 133666
604 9889 1197
605 9909 1511
606 9924 82312
607 9929 1381
608 9952 1197
609 9960 133666
610 9974 1511
611 9995 1381

Some files were not shown because too many files have changed in this diff Show More