Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5008cd85ca | |||
| 6fc326ccd1 | |||
| 3213aada79 |
+50
-14
@@ -1,19 +1,55 @@
|
||||
# 当前研究状态 — Phase 4AA
|
||||
# 当前研究状态 — Phase 4AC
|
||||
|
||||
最新封存结果:**PASS-APL-PN-ANATOMICAL-LOCALIZATION / NO-DYNAMICS-CANDIDATE**。
|
||||
初始化 README 与原 registry 快照仍按原字节保留;它们描述初始化时的 Phase 4Z 截止状态。最新结论请从本文件进入。
|
||||
最新结果:**COMPLETE-SEMANTICS-AUDIT / LEARNING-NOT-ACHIEVED**。
|
||||
学习可用的总目标尚未达到,不把审计 PASS 当成学习 PASS。
|
||||
初始化 README/registry 保留原字节,最新结论从本页进入。
|
||||
|
||||
- [本轮完整报告](docs/progress/phase4aa-apl-pn-scope.md)
|
||||
- [本轮证据与最终结果](registry/phase4aa-apl-pn-scope/evidence/audit/final-summary.json)
|
||||
- [新模型/审计源码](models/male-cns-lif/apl-pn-scope-audit-v1/PROTOCOL.md)
|
||||
- [外部数据官方校验](registry/phase4aa-apl-pn-scope/evidence/external-resources/synaptic-partners/download-verification.json)
|
||||
- [中文机制结论及限制](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)
|
||||
|
||||
新增事实:268 条 APL→PN 边、4,600 contacts;3,820 contacts 在官方 CA(L/R),731 仍为 CentralBrain-unspecified。
|
||||
七个重点 PN 的 APL 输入集中在 calyx,而其局部 ALLN 回路主要位于触角叶。受体、末梢作用系数与功能因果仍未确认。
|
||||
## 后续只读复核的重要限制
|
||||
|
||||
5/5 frozen-v2 trials 事件/计数/V/g 精确一致;230,239 个旧科学文件哈希不变。
|
||||
没有训练,没有新动力学候选,顶层 gates 仍是 5/10(50%)。
|
||||
下一步是预先定义 compartment/terminal-specific upstream 假设和对照,不直接改冻结模型,不调学习率来制造通过。
|
||||
所选五节点只贡献三个 ALLN 晚期正到达权重的 7.57%–8.99%;达到各自80%正输入需要49–52个来源。
|
||||
因此孤立小回路可以自持,不意味着它是全脑唯一原因。回路外输入也可能受该回路反馈影响,不是已证明独立的外源驱动。
|
||||
对旧数据的派生分解没有新模拟或训练;正输入比例不能当因果责任比例。
|
||||
独立新模型分支尚待用户确认,不把持续目标自动当作改变冻结动力学的许可。
|
||||
|
||||
官方 syn-partners 附加数据为 6,777,179,098 bytes,在新实验 external-resources 目录;raw 不变,未下载 EM。
|
||||
Git 只保存代码、报告和 manifest;新增完整配对数据尚未异机备份。
|
||||
## 新增机制证据
|
||||
|
||||
只施加一次初始 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 |
|
||||
|
||||
最小回路: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 输出仍在服务器,不等于完整异机备份。
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
# 小反馈环在全脑中的位置:充分性不等于唯一原因
|
||||
|
||||
这是对既有封存记录的只读复核,不是新的训练阶段或新模型。
|
||||
使用六个旧校准气味、seed 131101 的全部 frozen_reference 记录,没有运行新模拟,也没有使用 held-out 输入。
|
||||
|
||||
## 新量化结果
|
||||
|
||||
晚期时窗为 500–1,000 ms,下表逐气味统计后列范围。
|
||||
比例分母为该目标的全部正突触到达权重之和,不是净输入、g 轨迹、电压贡献或因果责任。
|
||||
|
||||
| 目标 | 五节点小回路内部正输入比例 | 正输入来源神经元数 | 累计80%正输入需要的来源数 |
|
||||
|---|---:|---:|---:|
|
||||
| ALLN 1197 / body11289 | 8.96%–8.99% | 197 | 49 |
|
||||
| ALLN 1381 / body11478 | 7.86%–7.89% | 214 | 51 |
|
||||
| ALLN 1511 / body11620 | 7.57%–7.60% | 205 | 52 |
|
||||
| VA6 PN 133666 / body527577 | 10.18%–10.22% | 119 | 31 |
|
||||
| KC 82312 / body109321 | 36.16%–36.39% | 8 | 4 |
|
||||
|
||||
因此,4AC 的小回路能在隔离条件下持续放电,但其成员在全脑里接收了大量回路外输入。
|
||||
不能据此把某两条边定为唯一病因,或者认为只修两枚细胞就能解决学习问题。
|
||||
“回路外”仅表示不属于所选五节点;这些来源仍可能受该小回路反馈影响,**并非已经证明独立于该回路**,也不是外部刺激。
|
||||
|
||||
## 同时公开已有条件回放,避免只挑支持某个解释的结果
|
||||
|
||||
| 目标 | 基线晚期 spike | 忽略ALLN到达 | 忽略ALPN到达 |
|
||||
|---|---:|---:|---:|
|
||||
| ALLN 1197 | 228 | 217–218 | 227 |
|
||||
| ALLN 1381 | 227–228 | 227–228 | 227 |
|
||||
| ALLN 1511 | 228 | 219–221 | 227–228 |
|
||||
| VA6 PN 133666 | 212–214 | 0 | 208–210 |
|
||||
| KC 82312 | 60–61 | 60–61 | 0 |
|
||||
|
||||
这些结果来自已封存 Phase 4Z,不是本轮重新模拟;回放固定其他已记录输入和 APL,不能替代实时全脑干预。
|
||||
ALLN 原本已接近模型不应期限制,放电计数相同不等于膜状态或输入没有影响。
|
||||
PN→KC 中有些比例并不占绝大多数的输入仍能决定阈值跨越,不能按比例大小直接删边。
|
||||
|
||||
4Z 当时没有孤立回路自持的证据;4AC 已补上数学模型下的孤立充分性。
|
||||
二者合起来仍没有证明该小回路在全脑中的必要性、唯一性或真实果蝇中的同样动力学。
|
||||
|
||||
## 对下一步的实际影响
|
||||
|
||||
独立新模型实验若获授权,应先核对原作者算子,再检验分布式局部反馈与输入特异性;不把两神经元回路上的改善直接外推全脑学习。
|
||||
仍不得靠提高抑制、改符号、调学习率/阈值或扩大mask来追求通过。
|
||||
在此之前,本轮不会启动替代动力学、conditioning、游戏或decoder。
|
||||
|
||||
来源与逐试次完整表:`registry/feedback-context-review-20260930/`。
|
||||
9个输入文件均对照原有封存manifest核验,前后字节一致;13条小回路边与旧事件会计的源、目标、count逐条一致。
|
||||
全部输出有manifest和SHA-256。后续更新应新增材料,不重写已封存数据。
|
||||
@@ -0,0 +1,52 @@
|
||||
# Phase 4AB — calyx contact-scope diagnostic
|
||||
|
||||
Status: COMPLETE-SCOPE-COUNTERFACTUAL / NO-DYNAMICS-CANDIDATE.
|
||||
Diagnostic interventions only; no calibrated biological inhibition, no training, no parameter winner.
|
||||
|
||||
Eligible PNs: 229/259. CA mask: 20263 edges / 337099 contacts.
|
||||
Affected KCs: 3760. Mixed-ROI affected edges: 3323; retained other contacts: 28975.
|
||||
Broader PN→KC control: 21882 edges / 384555 contacts. All-fast-PN-output control: 116211 edges / 1268111 contacts.
|
||||
|
||||
| Odor | Condition | Active KC | KC late spikes | KC82312 late | VA6 late |
|
||||
|---|---|---:|---:|---:|---:|
|
||||
| ethyl (R)-(-)-3-hydroxybutanoate | frozen_reference | 160 | 114 | 60 | 213 |
|
||||
| ethyl (R)-(-)-3-hydroxybutanoate | calyx_PN_KC_contact_block | 1 | 39 | 0 | 214 |
|
||||
| ethyl (R)-(-)-3-hydroxybutanoate | all_PN_KC_block | 1 | 39 | 0 | 214 |
|
||||
| ethyl (R)-(-)-3-hydroxybutanoate | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||
| 3-penten-2-one | frozen_reference | 172 | 118 | 60 | 213 |
|
||||
| 3-penten-2-one | calyx_PN_KC_contact_block | 2 | 39 | 0 | 213 |
|
||||
| 3-penten-2-one | all_PN_KC_block | 1 | 39 | 0 | 213 |
|
||||
| 3-penten-2-one | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||
| (2R)-hexan-2-ol | frozen_reference | 144 | 117 | 61 | 213 |
|
||||
| (2R)-hexan-2-ol | calyx_PN_KC_contact_block | 1 | 39 | 0 | 213 |
|
||||
| (2R)-hexan-2-ol | all_PN_KC_block | 1 | 39 | 0 | 213 |
|
||||
| (2R)-hexan-2-ol | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||
| gamma-propyl-gamma-butyrolactone | frozen_reference | 151 | 117 | 60 | 212 |
|
||||
| gamma-propyl-gamma-butyrolactone | calyx_PN_KC_contact_block | 2 | 39 | 0 | 212 |
|
||||
| gamma-propyl-gamma-butyrolactone | all_PN_KC_block | 1 | 40 | 0 | 212 |
|
||||
| gamma-propyl-gamma-butyrolactone | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||
| 2-methyl butyl acetate | frozen_reference | 139 | 118 | 61 | 213 |
|
||||
| 2-methyl butyl acetate | calyx_PN_KC_contact_block | 1 | 39 | 0 | 212 |
|
||||
| 2-methyl butyl acetate | all_PN_KC_block | 1 | 39 | 0 | 212 |
|
||||
| 2-methyl butyl acetate | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||
| ethyl (S)-(+)-3-hydroxybutanoate | frozen_reference | 163 | 119 | 61 | 214 |
|
||||
| ethyl (S)-(+)-3-hydroxybutanoate | calyx_PN_KC_contact_block | 1 | 39 | 0 | 214 |
|
||||
| ethyl (S)-(+)-3-hydroxybutanoate | all_PN_KC_block | 1 | 39 | 0 | 214 |
|
||||
| ethyl (S)-(+)-3-hydroxybutanoate | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||
|
||||
Late means 500–1,000 ms; 120 ms old calibration odor input; one seed, six old odors. No held-out generalization claim.
|
||||
Identical scheduled requests across conditions. Delivered request-associated output differences versus reference: 459 (summed over all comparisons). See per-trial table; this is state/refractory feedback, not a changed RNG.
|
||||
|
||||
## Interpretation limits
|
||||
|
||||
CA selection uses exact primary_post labels plus matched APL→PN/ROI metadata, not bouton identities or inferred receptors. Unknown ROIs are not reclassified.
|
||||
Whole-PN control removes fast output, not somatic spikes or the frozen graded APL input. It is not a complete PN knockout.
|
||||
Reduction/silencing is not restored information or associative memory. No condition becomes a formal model. Fixed-event replay freezes other recorded events/APL; dynamic trials allow natural recurrent feedback.
|
||||
Local-inhibition motivation: [Prisco et al.](https://doi.org/10.7554/eLife.74172), [Amin et al.](https://doi.org/10.7554/eLife.56954). These sources do not establish the complete-block operator as physiological.
|
||||
|
||||
## Verification
|
||||
|
||||
Six original trials reproduced exactly (whole spike events, watched state and final counts/V/g). Four first-odor repeats exact. Five deterministic-v2 frozen reference trials exact. Finite state throughout.
|
||||
Original 230,239 files and both Phase 4AA manifests rechecked before/after. Base CSR/count/sign, frozen LIF/APL, eligibility-v2 and 14,232 plastic mask preserved.
|
||||
Timing includes diagnostic CPU/GPU observation overhead and is not a runtime speed benchmark. ComfyUI was not stopped or unloaded.
|
||||
Top-level acceptance gates remain 5/10 (50%); anatomical diagnosis is not evidence of learning success.
|
||||
@@ -0,0 +1,36 @@
|
||||
# Phase 4AB 机制解读
|
||||
|
||||
正式状态:**COMPLETE-SCOPE-COUNTERFACTUAL / NO-DYNAMICS-CANDIDATE**。
|
||||
|
||||
这一轮区分了“PN→KC 传入位置”与“维持 PN 放电的上游反馈”。没有修复或批准新的 APL 生理模型,也没有训练。
|
||||
|
||||
| 诊断范围 | 活跃 KC(6 个旧气味) | 目标 KC 晚期 spikes | VA6 PN 晚期 spikes |
|
||||
|---|---:|---:|---:|
|
||||
| 原模型 | 139–172 | 60–61 | 212–214 |
|
||||
| 仅明确 calyx 接触 | 1–2 | 0 | 212–214 |
|
||||
| 同批 PN 的全部 KC 输出 | 1 | 0 | 212–214 |
|
||||
| 同批 PN 的全部快速输出 | 0 | 0 | 0 |
|
||||
|
||||
晚期窗口是 500–1,000 ms。每个气味沿用 seed 131101;总计 24 组诊断、4 次精确重复,不是 5-seed 学习验证。
|
||||
|
||||
## 能说明什么
|
||||
|
||||
仅 calyx 接触阻断后,目标 KC82312 的晚期 spikes 范围为 0,VA6 仍为 212–214。
|
||||
同时 KC 总活跃数降为 1–2,原模型为 139–172。不能把这种接近静默的结果包装成编码或记忆改善。
|
||||
即使两个局部阻断条件的事件序列相同,其电压/g 仍可能不同;逐气味比较见 narrow-vs-allKC.csv。
|
||||
宽范围 PN 快速输出阻断影响反馈路径,不等价于局部 calyx 调制;它也没有关闭 PN 胞体或 frozen graded APL 的 PN 输入。
|
||||
|
||||
## 仍不能说明什么
|
||||
|
||||
完全阻断只是工程极端对照,不是 APL 的实测释放抑制比例。没有估计 receptor、bouton、局部扩散范围或时间常数。
|
||||
未使用 held-out 气味,未检验学习、保持、反转或动作输出。不得选取这次“让活动更少”的操作作为正式脑模型。
|
||||
剩余 late KC 的 ID/type 已单独保存;其来源不能仅凭残余计数猜测。
|
||||
|
||||
## 下一步边界
|
||||
|
||||
先继续 upstream feedback / compartment-specific physiology 的证据约束,区分 calyx 信号传递与触角叶持续放电,再确定可检验的局部动力学假设。
|
||||
不能靠增加整体抑制、调 eta/threshold、扩大 plastic mask 或让 KC 全静默宣称修复。当前不进入学习、游戏或视觉。
|
||||
|
||||
相关原始研究:[Prisco et al., 2021](https://doi.org/10.7554/eLife.74172)、[Amin et al., 2020](https://doi.org/10.7554/eLife.56954)。它们支持研究局部 APL 作用,不直接验证本实验完全阻断幅度。
|
||||
|
||||
顶层验收仍为 5/10(50%);本轮推进的是机制定位与可重复诊断能力。最终完整性状态见 regression/final-integrity.json。
|
||||
@@ -0,0 +1,71 @@
|
||||
# Phase 4AC:反馈环路足以持续放电,尚未得到学习修复
|
||||
|
||||
状态:`COMPLETE-SEMANTICS-AUDIT / LEARNING-NOT-ACHIEVED`。
|
||||
|
||||
## 这次真正增加的证据
|
||||
|
||||
从已有异常传播路径选取真实 MaleCNS 神经元和 13 条真实连接。
|
||||
只施加一次初始脉冲,随后无外部输入,观察 1 s。所有真实回路测试继续使用冻结动力学。
|
||||
|
||||
| 小回路 | 总放电数 | 500–1,000 ms 放电数 |
|
||||
|---|---:|---:|
|
||||
| 两枚 ALLN 互相连接 | 473 | 238 |
|
||||
| 三枚 ALLN | 1,064 | 535 |
|
||||
| 三枚 ALLN + VA6 PN + KC | 1,483 | 747 |
|
||||
| 只保留四条真实前向连接的对照 | 3 | 0 |
|
||||
| 五神经元回路,无初始输入 | 0 | 0 |
|
||||
|
||||
最小互相连接的两枚神经元是:
|
||||
|
||||
- neuron_idx 1381 / body_id 11478 → neuron_idx 1511 / body_id 11620:235 contacts。
|
||||
- neuron_idx 1511 / body_id 11620 → neuron_idx 1381 / body_id 11478:283 contacts。
|
||||
- 两者 metadata 均为 ALLN / lLN1_bc,递质 annotation 和 ground truth 均为 acetylcholine。未改变符号。
|
||||
|
||||
它们在冻结 LIF 下,从一次输入即可相互维持放电到 1 s 观察期末。
|
||||
五神经元回路的 VA6 PN(133666 / 527577)有 297 次放电,KC(82312 / 109321)有 80 次放电。
|
||||
这把“持续反馈驱动 KC”缩小到可逐步检查的真实局部回路。
|
||||
|
||||
**限定结论:**这是隔离回路中的充分性证据,不是全脑必要性证据;外部抑制、分级 APL 及其他回路在这里不参与。
|
||||
前向对照移除了反馈连接,只是诊断 harness,不是提交了一个删边新模型。1 s 持续不等于证明无限持续。
|
||||
|
||||
## 原作者语义差异,不等于已找到修复
|
||||
|
||||
[Shiu 作者固定版本代码](https://github.com/philshiu/Drosophila_brain_model/blob/91bdd1e7dcf193f3e7ca5a8933497fcef63b7960/model.py)
|
||||
在 spike 后清零 g,v/g 的不应期更新受限,使用 linear 积分和严格 > 阈值;刺激细胞的 Poisson 输入及不应期也与本项目不同。
|
||||
本项目的冻结版本明确记录了保留 g、不应期继续衰减/接收输入、Euler 积分等适配选择。
|
||||
因此不能把它说成 CUDA 引入的新错误,也不能把“g 清零”称为严格复现原作者模型。
|
||||
|
||||
本次单细胞 component tests 有意保留冻结的其他数学语义,仅分别比较 g reset 和 refractory gate。
|
||||
真实 13 条连接强度加一个单突触 fixture 下,冻结策略、reset-only、reset+gate 的单次输入 spike 数相同(0 或 1)。
|
||||
单独冻结不应期 g、但不清零 g,反而在 283-contact fixture 中产生 2 次 spike,而其他三种策略为 1 次。
|
||||
人工持续输入停止后,冻结策略有 4 次尾随 spike,reset-only 有 1 次、reset+gate 有 0 次,gate-only 则有 14 次。
|
||||
|
||||
这些结果表明组件选择确实会改变响应,但不支持“随便加一个不应期限制就能解决”。
|
||||
两个强连接各自仍能从一次输入触发一次响应,所以也不能仅凭单细胞 reset 测试宣称真实反馈环已被消除。
|
||||
所有替代组件仅运行于人工单细胞 fixture,没有部署到 MaleCNS 全脑或训练实验。
|
||||
|
||||
[Brian2 2.5.1 固定实现](https://github.com/brian-team/brian2/blob/577bb35ec677947d6f3d4af367a8a4b3b88815ee/brian2/groups/neurongroup.py)
|
||||
在默认非 legacy 设置下,不应期是 22 steps;第 23 step 才积分某些新到达输入属于调度顺序,不是不应期延长。
|
||||
原作者模型、license、环境文件、固定 commit、SHA-256 与源码位置均已记录;尚未执行独立 Brian2 oracle。
|
||||
|
||||
## 验证
|
||||
|
||||
- 7 项单元测试通过;17 组单细胞 fixture × 4 策略均有限且重复一致。
|
||||
- 五个真实小回路的全部事件、计数、每步 V/g/ref、最终状态和环形队列 CPU/GPU 精确一致。
|
||||
- 五组 deterministic-v2 全脑参考 trial 的事件、计数、最终 V/g 精确一致。
|
||||
- 逐条核对真实 edge_id、源 CSR 行、目标和原始 count;准备输入另有 SHA-256。
|
||||
- 完整性终检覆盖原快照 230,239 项,以及 Phase 4AA / 4AB 的模型与实验 manifest。
|
||||
- GPU 诊断含构建/观察/回归共 95.398 s;本进程 peak allocated VRAM 285,994,496 bytes。不是性能 benchmark,不含 ComfyUI 驻留显存。
|
||||
- 保留旧加载器只读 NumPy→Torch 警告;未修改加载器,完整性和回归另行验证。
|
||||
|
||||
## 学习目标与下一道关口
|
||||
|
||||
当前没有新的 learned model,没有训练,也没有重新宣称学习 PASS。
|
||||
可用学习仍须在独立评价种子上证明 A 相对中性 B 的特异性、MBON/downstream 功能变化及完整对照;权重变化、稀疏化或静默都不能替代。
|
||||
|
||||
下一步应先在明确授权的新模型分支中验证作者算子与有生理依据的局部反馈机制,并用独立 oracle 区分每一项语义。
|
||||
不能将减少放电自动选为正确模型;还必须保留输入区别、可传播性和后续关联记忆能力。
|
||||
不改 raw、CSR、原始突触数、已定递质符号、冻结版本、APL calibration、eligibility-v2 或 plastic mask。
|
||||
不进入游戏、decoder、RL 或视觉路线。
|
||||
|
||||
Git 只同步源代码、小报告与校验清单。完整数据仍在服务器,不能声称已完成异机大数据备份。
|
||||
@@ -0,0 +1,83 @@
|
||||
# Phase 4AC — LIF semantics and unchanged-dynamics motif audit
|
||||
|
||||
Status: COMPLETE-SEMANTICS-AUDIT / LEARNING-NOT-ACHIEVED.
|
||||
No alternative dynamics deployed to MaleCNS; no conditioning, learned candidate or new formal runtime.
|
||||
|
||||
## Author model versus frozen adapted model
|
||||
|
||||
Pinned author model resets g on a spike and declares v/g `(unless refractory)`, uses linear integration, strict > threshold and voltage Poisson input with zero refractory on stimulated cells.
|
||||
The frozen adapted model retains g, decays/accepts events during refractory, uses explicit Euler and >= threshold, and forced sensory spikes respect refractory.
|
||||
These are documented model choices, not a newly established GPU regression. g is an additive voltage-valued drive, not a measured conductance.
|
||||
W_syn=0.275 is transferred from a free parameter calibrated in the original FlyWire feeding model, not a measured universal MaleCNS synaptic efficacy.
|
||||
|
||||
## Synthetic single-cell component tests
|
||||
|
||||
All impulse amplitudes derive from the complete unique contact counts of the predeclared 13 real motif edges plus a one-contact fixture; other boundary/sustained cases are explicitly synthetic unit tests.
|
||||
These ablations retain frozen Euler arithmetic/scheduling and are NOT complete Brian2 replication. No successful amplitude or policy was selected after seeing results.
|
||||
|
||||
| Single-impulse fixture | Frozen | Reset g only | Refractory gate only | Reset + gate |
|
||||
|---|---:|---:|---:|---:|
|
||||
| one_impulse_contacts_1 | 0 | 0 | 0 | 0 |
|
||||
| one_impulse_contacts_104 | 0 | 0 | 0 | 0 |
|
||||
| one_impulse_contacts_172 | 1 | 1 | 1 | 1 |
|
||||
| one_impulse_contacts_210 | 1 | 1 | 1 | 1 |
|
||||
| one_impulse_contacts_226 | 1 | 1 | 1 | 1 |
|
||||
| one_impulse_contacts_235 | 1 | 1 | 1 | 1 |
|
||||
| one_impulse_contacts_259 | 1 | 1 | 1 | 1 |
|
||||
| one_impulse_contacts_283 | 1 | 1 | 2 | 1 |
|
||||
| one_impulse_contacts_43 | 0 | 0 | 0 | 0 |
|
||||
| one_impulse_contacts_57 | 0 | 0 | 0 | 0 |
|
||||
| one_impulse_contacts_64 | 0 | 0 | 0 | 0 |
|
||||
| one_impulse_contacts_70 | 0 | 0 | 0 | 0 |
|
||||
| one_impulse_contacts_76 | 0 | 0 | 0 | 0 |
|
||||
| one_impulse_contacts_95 | 0 | 0 | 0 | 0 |
|
||||
|
||||
Reset-only and combined policies can produce at most one spike from a single isolated input by construction. This does not establish biological correctness or whole-brain learning improvement.
|
||||
|
||||
## Real anatomical motifs — frozen mathematics ONLY
|
||||
|
||||
One forced seed spike at step 0 except the no-input control; no subsequent input; observed for 1 s. Late window=500–1,000 ms.
|
||||
The recurrent pair/trio/five are induced subgraphs. The feedforward control selects four existing edges and removes feedback only within this isolated diagnostic harness.
|
||||
External inhibition, graded APL and other whole-brain inputs are absent. A sustained isolated motif is evidence of sufficiency in this harness, NOT necessity in the complete brain.
|
||||
|
||||
| Motif | neuron_idx | Total spikes | Late spikes | Last ms |
|
||||
|---|---:|---:|---:|---:|
|
||||
| pair | 1381 | 237 | 119 | 999.3 |
|
||||
| pair | 1511 | 236 | 119 | 997.5 |
|
||||
| trio | 1197 | 355 | 179 | 999.3 |
|
||||
| trio | 1381 | 355 | 178 | 997.8 |
|
||||
| trio | 1511 | 354 | 178 | 997.4 |
|
||||
| five | 1197 | 370 | 185 | 998.8 |
|
||||
| five | 1381 | 369 | 185 | 997.4 |
|
||||
| five | 1511 | 367 | 186 | 999.5 |
|
||||
| five | 82312 | 80 | 41 | 990.3 |
|
||||
| five | 133666 | 297 | 150 | 999.5 |
|
||||
| feedforward | 1197 | 1 | 0 | 10.0 |
|
||||
| feedforward | 1381 | 1 | 0 | 0.0 |
|
||||
| feedforward | 1511 | 1 | 0 | 4.9 |
|
||||
| feedforward | 82312 | 0 | 0 | none |
|
||||
| feedforward | 133666 | 0 | 0 | none |
|
||||
| no_input | 1197 | 0 | 0 | none |
|
||||
| no_input | 1381 | 0 | 0 | none |
|
||||
| no_input | 1511 | 0 | 0 | none |
|
||||
| no_input | 82312 | 0 | 0 | none |
|
||||
| no_input | 133666 | 0 | 0 | none |
|
||||
|
||||
## Verification and boundaries
|
||||
|
||||
Seven unit tests; all five real motifs CPU/GPU event, count, final V/g/refractory, queue and timestep history exact; five archived deterministic-v2 full-brain trials exact.
|
||||
Every selected edge_id, source CSR row, destination and original weight validated; generated prepared inputs hashed. All original snapshot files and Phase 4AA/4AB model/experiment manifests checked before and after.
|
||||
Diagnostic wall time including compilation and observation: 95.398 s. Peak allocated process VRAM: 285994496 bytes. Not a runtime-speed benchmark.
|
||||
Original author code was inspected, not executed; no Brian2 oracle run and no new package installation. ComfyUI was not stopped or unloaded.
|
||||
|
||||
## Decision
|
||||
|
||||
The usable-learning gate remains unmet: independent evaluation, A-vs-neutral-B specificity in MBON/downstream, multiple training seeds and conditioning controls still required.
|
||||
Before any full-network alternative, obtain explicit separate model authorization and distinguish each semantic component; do not claim g reset alone reproduces the author implementation.
|
||||
No evidence here permits changing eta, thresholds, gain, frozen APL calibration, transmitter signs or the plastic mask.
|
||||
|
||||
## Primary provenance
|
||||
|
||||
[Shiu et al. 2024](https://www.nature.com/articles/s41586-024-07763-9)
|
||||
[Pinned author implementation](https://github.com/philshiu/Drosophila_brain_model/blob/91bdd1e7dcf193f3e7ca5a8933497fcef63b7960/model.py)
|
||||
Downloaded source, MIT license, environment specification, exact commit, SHA-256 and source clauses retained under external-resources and audit.
|
||||
@@ -0,0 +1,61 @@
|
||||
# Phase 4AC — upstream LIF semantics audit
|
||||
|
||||
Goal context: usable stimulus-specific associative learning remains unachieved.
|
||||
This stage is a prerequisite diagnosis, never a substitute for that goal.
|
||||
|
||||
All raw, base CSR, old models/experiments and signs remain read-only. No eta,
|
||||
threshold, gain, mask or APL calibration is changed. No conditioning, games,
|
||||
decoder, visual stimulation, or new formal runtime is produced.
|
||||
|
||||
## New evidence and hypotheses
|
||||
|
||||
The official Shiu paper links philshiu/Drosophila_brain_model. Commit
|
||||
91bdd1e7dcf193f3e7ca5a8933497fcef63b7960 (2024-09-14) model.py explicitly resets g
|
||||
on a spike, declares both v and g `(unless refractory)`, uses linear integration
|
||||
and strict `v > v_th`, and removes refractory time on Poisson-target neurons.
|
||||
Current frozen Phase 4B/P instead retains g, decays/accepts arrivals during
|
||||
refractory, uses explicit Euler, `>=`, and force requests respecting refractory.
|
||||
The Phase 4B config documents its refractory-g policy, so this is a documented
|
||||
adaptation difference, NOT evidence that deterministic CUDA regressed its oracle.
|
||||
Neither implementation is automatically a more accurate MaleCNS physiology model.
|
||||
|
||||
## Scope of work allowed without replacing frozen brain dynamics
|
||||
|
||||
1. Preserve official code/license at a pinned commit, with hashes; do not execute
|
||||
downloaded code. Extract exact source statements into an evidence table.
|
||||
2. Synthetic one-cell mathematical fixtures compare the frozen g policy with
|
||||
reset-only, refractory-only, and combined component ablations. Other arithmetic
|
||||
stays frozen. These are NOT a Brian2 reproduction (integration and scheduling
|
||||
also differ), and are not deployed to the MaleCNS brain.
|
||||
3. Simulate only the UNCHANGED frozen dynamics on actual induced 2/3/5-neuron
|
||||
circuits selected from the already observed Phase 4Z path. One force request at
|
||||
t=0, then no input, for 1,000 ms. Include no-input and real-edge feedforward
|
||||
controls. Missing external network inhibition/feedback is explicitly excluded;
|
||||
a sustained isolated response is not proof of whole-brain necessity.
|
||||
4. Validate every frozen CPU small-circuit event/state against the unchanged CUDA
|
||||
kernel, using exact float32 ordered accumulation and delay=18 steps.
|
||||
5. Recheck the five archived deterministic reference trials and all old hashes.
|
||||
|
||||
All single-cell amplitudes derive from the complete unique contact-count set in
|
||||
the selected real subgraph, plus a one-contact unit fixture. Do not choose a
|
||||
successful amplitude after observing outcomes. Add a refractory-arrival fixture
|
||||
at t=0/1/2/2.2/2.3 ms and a sustained-input-then-off fixture (100 ms then100 ms).
|
||||
These describe operator consequences, not measured cell physiology or tuning.
|
||||
|
||||
The full learning gate still requires >=5 training seeds, independent evaluation,
|
||||
A-vs-neutral-B specificity in MBON/downstream, appropriate controls, acquisition,
|
||||
reversal, retention and delayed-reward tests. Existing transfer PASS is not that.
|
||||
|
||||
## Next-stage authorization boundary
|
||||
|
||||
Testing alternative semantics or measured local physiology on the full MaleCNS
|
||||
network would be a NEW model experiment, not an exact runtime optimization.
|
||||
User confirmation is requested separately. This stage does not silently execute
|
||||
or promote that experiment, even if synthetic ablations reduce firing.
|
||||
|
||||
## Caveats to record
|
||||
|
||||
W_syn=0.275 is the original paper's free parameter selected on its feeding circuit,
|
||||
not a universal measured MaleCNS contact efficacy. g reset by itself does not make
|
||||
the model equivalent to the author's Brian2 implementation. Old reference PASS
|
||||
means consistency with our old oracle, not matching the original author software.
|
||||
@@ -0,0 +1,256 @@
|
||||
"""Evidence-only audit and unchanged-dynamics real motif tests; no learning."""
|
||||
import argparse
|
||||
import ast
|
||||
from datetime import datetime, timezone
|
||||
import json
|
||||
import os
|
||||
from pathlib import Path
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
import time
|
||||
import unittest
|
||||
import urllib.request
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
import yaml
|
||||
from math_reference import params, single, state, cpu_motif
|
||||
|
||||
CFG = yaml.safe_load(Path(__file__).with_name('config.yaml').read_text())
|
||||
ROOT = Path(CFG['root']); MODEL = ROOT/CFG['model']; EXP = ROOT/CFG['experiment']
|
||||
sys.path.insert(0, str(ROOT/'models/male-cns-lif/apl-pn-scope-audit-v1'))
|
||||
from audit import save, digest, immutable_check, seal
|
||||
sys.path.insert(0, str(ROOT/'models/male-cns-lif/terminal-scope-diagnostic-v1'))
|
||||
from diagnostic import manifest_check, queues
|
||||
|
||||
|
||||
def integrity():
|
||||
result = {'original': immutable_check(ROOT, ROOT/CFG['old_snapshot'], 4)}
|
||||
for name in CFG['additional_frozen']: result[name] = manifest_check(ROOT/name, digest)
|
||||
assert all(x['pass'] for x in result.values()), result
|
||||
return result
|
||||
|
||||
|
||||
def prepare():
|
||||
if EXP.exists() and any(EXP.iterdir()): raise RuntimeError('Refusing nonempty output')
|
||||
EXP.mkdir(exist_ok=True)
|
||||
for d in ['protocol', 'external-resources', 'audit', 'synthetic', 'motifs', 'regression', 'performance']:
|
||||
(EXP/d).mkdir()
|
||||
save(EXP/'protocol/preregistered.json', {'config': CFG, 'before_analysis': True,
|
||||
'timestamp_utc': datetime.now(timezone.utc).isoformat(),
|
||||
'parent_commit': subprocess.check_output(['git', '-C', str(ROOT), 'rev-parse', 'HEAD'], text=True).strip(),
|
||||
'sources': {p.name: digest(p) for p in sorted(MODEL.iterdir()) if p.is_file()}})
|
||||
save(EXP/'regression/preflight.json', integrity())
|
||||
external = EXP/'external-resources'; commit = CFG['author']['commit']; records = []
|
||||
for filename in ['model.py', 'LICENSE', 'environment_full.yml']:
|
||||
url = f'https://raw.githubusercontent.com/philshiu/Drosophila_brain_model/{commit}/{filename}'
|
||||
with urllib.request.urlopen(url, timeout=60) as response: data = response.read()
|
||||
target = external/filename
|
||||
with target.open('xb') as out: out.write(data)
|
||||
records.append({'path': filename, 'url': url, 'bytes': len(data), 'sha256': digest(target), 'license': 'MIT'})
|
||||
assert digest(external/'model.py') == CFG['author']['model_sha256']
|
||||
assert 'MIT License' in (external/'LICENSE').read_text()
|
||||
text = (external/'model.py').read_text(); ast.parse(text)
|
||||
clauses = ['dg/dt = -g / tau', '(unless refractory)', 'v = v_rst; w = 0; g = 0 * mV',
|
||||
"method='linear'", "'v > v_th'", 'neu[i].rfc = 0 * ms']
|
||||
assert all(clause in text for clause in clauses)
|
||||
lines = text.splitlines()
|
||||
save(EXP/'audit/author-source-clauses.json', [{'clause': clause, 'line_numbers_1based': [i+1 for i, line in enumerate(lines) if clause in line]} for clause in clauses])
|
||||
save(external/'provenance.json', {'files': records, 'commit': commit, 'paper': CFG['author']['paper'],
|
||||
'downloaded_code_executed': False, 'new_dependencies_installed': False})
|
||||
can = ROOT/CFG['canonical']; metadata = pd.read_parquet(can/'neuron-index/unified-metadata.parquet').sort_values('neuron_idx').reset_index(drop=True)
|
||||
ptr = np.load(can/'gpu/csr-indptr.int64.npy', mmap_mode='r'); dst = np.load(can/'gpu/csr-indices.int32.npy', mmap_mode='r'); raw = np.load(can/'gpu/csr-weights.int64.npy', mmap_mode='r')
|
||||
assert len(metadata) == 166700 and len(dst) == 25582938 and int(raw.sum()) == 124177617
|
||||
nodes = np.array(CFG['selected_nodes'], np.int32)
|
||||
meta = metadata.iloc[nodes].copy(); assert np.array_equal(meta.neuron_idx, nodes)
|
||||
assert meta.neurotransmitter.eq('acetylcholine').all(), 'No sign inference or reassignment'
|
||||
alln = meta[meta.annotation_class.eq('ALLN')]; assert alln.annotation_type.eq('lLN1_bc').all() and alln.nt_ground_truth.eq('acetylcholine').all()
|
||||
ids = np.concatenate([np.arange(ptr[n], ptr[n+1], dtype=np.int64) for n in nodes])
|
||||
src = np.concatenate([np.full(ptr[n+1]-ptr[n], n, np.int32) for n in nodes])
|
||||
keep = np.isin(dst[ids], nodes); ids = ids[keep]; src = src[keep]
|
||||
edges = pd.DataFrame({'edge_id': ids, 'source_neuron_idx': src, 'target_neuron_idx': dst[ids], 'raw_count': raw[ids]})
|
||||
edges['source_body_id'] = metadata.body_id.to_numpy()[src]; edges['target_body_id'] = metadata.body_id.to_numpy()[dst[ids]]
|
||||
assert len(edges) == 13
|
||||
meta.to_parquet(EXP/'audit/selected-metadata.parquet', index=False); edges.to_csv(EXP/'audit/selected-real-edges.csv', index=False)
|
||||
# Explicit metadata mapping only, not physiological parameter assignment.
|
||||
graded = metadata[metadata.annotation_type.isin(['lLN2P_a', 'lLN2P_b', 'lLN2P_c', 'lLN2F_b'])].copy()
|
||||
cols = ['neuron_idx','body_id','annotation_type','annotation_hemibrainType','annotation_flywireType','annotation_matchingNotes','neurotransmitter','nt_ground_truth']
|
||||
graded[cols].to_csv(EXP/'audit/local-inhibition-crosswalk.csv', index=False)
|
||||
frozen_yaml = ROOT/CFG['runtime']/'phase4p.yaml'; pc = yaml.safe_load(frozen_yaml.read_text())
|
||||
save(EXP/'protocol/frozen-input-hashes.json', {'runtime_config': digest(frozen_yaml),
|
||||
'runtime_cpp': digest(ROOT/CFG['runtime']/'phase4p_ext.cpp'), 'runtime_cuda': digest(ROOT/CFG['runtime']/'phase4p_ext.cu'),
|
||||
'baseline_phase4b': digest(ROOT/'models/male-cns-lif/phase4b.py'),
|
||||
'metadata': digest(can/'neuron-index/unified-metadata.parquet')})
|
||||
save(EXP/'protocol/dynamics.json', pc['model'])
|
||||
evidence = [
|
||||
['spike reset g', 'reset to zero', 'retain g'],
|
||||
['g during refractory', 'ODE paused; synaptic writes blocked', 'decay and accept arrivals'],
|
||||
['integration', 'linear exact state updater', 'forward Euler with decayed g'],
|
||||
['threshold', 'strict >', '>='],
|
||||
['within-step arrivals', 'after integration, before reset', 'before integration'],
|
||||
['stimulated neurons', 'voltage Poisson input; refractory=0', 'forced spikes subject to 22-step refractory'],
|
||||
['W_syn', 'free parameter calibrated on FlyWire feeding response', 'same value transferred to MaleCNS; not independently measured']]
|
||||
pd.DataFrame(evidence, columns=['item', 'author', 'frozen_adapted']).to_csv(EXP/'audit/semantics-differences.csv', index=False)
|
||||
prepared = ['protocol/dynamics.json','audit/selected-real-edges.csv','audit/selected-metadata.parquet',
|
||||
'protocol/frozen-input-hashes.json','audit/local-inhibition-crosswalk.csv']
|
||||
save(EXP/'protocol/prepared-input-hashes.json', {name:digest(EXP/name) for name in prepared})
|
||||
print('PREPARED: pinned author source, 13 actual motif edges, frozen integrity PASS', flush=True)
|
||||
|
||||
|
||||
def synthetic():
|
||||
m = json.loads((EXP/'protocol/dynamics.json').read_text()); p = params(m)
|
||||
edges = pd.read_csv(EXP/'audit/selected-real-edges.csv'); counts = np.unique(np.r_[1, edges.raw_count.to_numpy(np.int64)])
|
||||
results, traces = [], {}
|
||||
cases = {}
|
||||
for count in counts:
|
||||
a = np.zeros(round(100/m['dt_ms']), np.float32); a[0] = np.float32(count)*np.float32(m['w_syn_mv_per_anatomical_synapse'])
|
||||
cases[f'one_impulse_contacts_{count}'] = a
|
||||
# The separate refractory boundary fixture is a synthetic unit test, not a biological stimulation.
|
||||
a = np.zeros(round(20/m['dt_ms']), np.float32)
|
||||
a[0] = np.float32(2000) # enough for a spike at t=0 in every component policy
|
||||
a[[1,10,20,22,23]] += np.float32(10)
|
||||
cases['refractory_boundary'] = a
|
||||
a = np.zeros(round(200/m['dt_ms']), np.float32); a[:round(100/m['dt_ms'])] = np.float32(10)
|
||||
cases['sustained_then_off'] = a
|
||||
cases['zero_input'] = np.zeros(round(100/m['dt_ms']), np.float32)
|
||||
for name, a in cases.items():
|
||||
for policy in CFG['synthetic_policies']:
|
||||
events, history = single(a, p, policy)
|
||||
repeat = single(a, p, policy)
|
||||
assert np.array_equal(events, repeat[0]) and np.array_equal(history, repeat[1])
|
||||
if policy in ('reset_g_only', 'reset_and_refractory'): assert np.all(history[events,1] == 0)
|
||||
if name.startswith('one_impulse') and policy in ('reset_g_only', 'reset_and_refractory'): assert len(events) <= 1
|
||||
if name == 'zero_input': assert not len(events)
|
||||
if name == 'refractory_boundary' and policy == 'reset_and_refractory':
|
||||
assert np.all(history[:22,1] == 0) and history[22,1] > 0
|
||||
results.append({'case': name, 'policy': policy, 'spikes': len(events),
|
||||
'spike_times_ms': json.dumps((events.astype(float)*m['dt_ms']).tolist()),
|
||||
'post_input_spikes': int((events >= 1000).sum()) if name == 'sustained_then_off' else None,
|
||||
'final_g': float(history[-1,1]), 'finite': bool(np.isfinite(history).all()), 'exact_repeat': True,
|
||||
'not_full_Brian2_replication': True})
|
||||
traces[name+'__'+policy] = history
|
||||
traces[name+'__input'] = a
|
||||
pd.DataFrame(results).to_csv(EXP/'synthetic/results.csv', index=False)
|
||||
np.savez_compressed(EXP/'synthetic/traces.npz', **traces)
|
||||
save(EXP/'regression/synthetic.json', {'pass': True, 'cases': len(cases), 'policies': 4,
|
||||
'proves_only_operator_difference': True, 'brain_model_modified': False, 'Brian2_executed': False})
|
||||
|
||||
|
||||
def gpu_motif(rt, nodes, edges, weights, p, steps, seed):
|
||||
import torch
|
||||
n = len(nodes); lookup = {int(node): i for i, node in enumerate(nodes)}
|
||||
src = np.array([lookup[int(x)] for x in edges.source_neuron_idx], np.int32)
|
||||
dst = np.array([lookup[int(x)] for x in edges.target_neuron_idx], np.int32)
|
||||
d = rt.device; qlen = p['delay_steps']+1
|
||||
v = torch.full((n,), float(p['rest']), dtype=torch.float32, device=d); g = torch.zeros_like(v)
|
||||
ref = torch.zeros(n, dtype=torch.int32, device=d); spike = torch.zeros(n, dtype=torch.uint8, device=d); counts = torch.zeros_like(ref)
|
||||
queue = torch.zeros((qlen,n), dtype=torch.float32, device=d); wg = torch.as_tensor(weights, device=d)
|
||||
history = np.empty((steps,3,n), np.float32); ts, ns = [], []
|
||||
for t in range(steps):
|
||||
rt.ext.state_step(v,g,ref,queue[t%qlen],spike,counts,float(p['gd']),float(p['alpha']),float(p['rest']),float(p['reset']),float(p['threshold']),p['ref_steps'])
|
||||
if t == 0 and seed is not None:
|
||||
targets = torch.tensor([lookup[seed]], dtype=torch.int64, device=d); force = torch.ones(1,dtype=torch.uint8,device=d)
|
||||
rt.ext.force_step(v,ref,spike,counts,targets,force,float(p['reset']),p['ref_steps'])
|
||||
active = spike.cpu().numpy().astype(bool)
|
||||
indices = np.flatnonzero(active); ts.extend([t]*len(indices)); ns.extend(nodes[indices].tolist())
|
||||
selected = np.flatnonzero(active[src]); selected = selected[np.argsort(dst[selected],kind='stable')]
|
||||
if len(selected):
|
||||
st = dst[selected]; starts = np.flatnonzero(np.r_[True,st[1:] != st[:-1]])
|
||||
rt.ext.segmented_sum(torch.as_tensor(selected,dtype=torch.int64,device=d),
|
||||
torch.as_tensor(starts,dtype=torch.int64,device=d), torch.as_tensor(st[starts],dtype=torch.int32,device=d),
|
||||
wg,queue[(t+p['delay_steps'])%qlen])
|
||||
history[t] = torch.stack([v,g,ref.float()]).cpu().numpy()
|
||||
return {'step': np.asarray(ts,np.int32),'neuron_idx':np.asarray(ns,np.int32),'counts':counts.cpu().numpy(),
|
||||
'v':v.cpu().numpy(),'g':g.cpu().numpy(),'ref':ref.cpu().numpy(),'history':history,'queue':queue.cpu().numpy()}
|
||||
|
||||
|
||||
def run():
|
||||
pre = json.loads((EXP/'protocol/preregistered.json').read_text())
|
||||
assert all(digest(MODEL/name) == h for name,h in pre['sources'].items())
|
||||
assert not (EXP/'regression/run-start.json').exists(), 'Refusing overwrite'
|
||||
prepared = json.loads((EXP/'protocol/prepared-input-hashes.json').read_text())
|
||||
assert all(digest(EXP/name) == h for name,h in prepared.items()), 'Prepared-input drift'
|
||||
runtime = ROOT/CFG['runtime']; pc = yaml.safe_load((runtime/'phase4p.yaml').read_text())
|
||||
assert pc['model'] == json.loads((EXP/'protocol/dynamics.json').read_text())
|
||||
suite = unittest.defaultTestLoader.discover(str(MODEL), pattern='test_math.py')
|
||||
test_result = unittest.TextTestRunner(verbosity=2).run(suite)
|
||||
assert test_result.wasSuccessful() and test_result.testsRun == 7
|
||||
save(EXP/'regression/unit-tests.json', {'pass': True, 'tests': test_result.testsRun})
|
||||
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
|
||||
save(EXP/'regression/run-start.json', {'free_VRAM': free,'device':torch.cuda.get_device_name(),
|
||||
'whole_brain_uses_only_frozen_reference':True,'alternative_policies_only_synthetic_single_cell':True})
|
||||
start = time.perf_counter(); torch.cuda.reset_peak_memory_stats()
|
||||
rt = phase4p.CanonicalRuntime(pc,runtime,EXP); p = params(pc['model'])
|
||||
synthetic()
|
||||
edges = pd.read_csv(EXP/'audit/selected-real-edges.csv').sort_values('edge_id')
|
||||
eid=edges.edge_id.to_numpy(np.int64); src=edges.source_neuron_idx.to_numpy(np.int32)
|
||||
assert np.all(eid >= rt.indptr_np[src]) and np.all(eid < rt.indptr_np[src+1])
|
||||
assert np.array_equal(rt.indices_np[eid],edges.target_neuron_idx)
|
||||
assert np.array_equal(rt.raw_np[eid],edges.raw_count)
|
||||
save(EXP/'regression/anatomical-edge-validation.json', {'pass':True,'edges':len(edges),
|
||||
'checks':['canonical edge_id in source CSR row','exact target','exact raw int64 count','exact effective float32 weight']})
|
||||
effective = rt.weights.cpu().numpy(); rows, regress = [], []
|
||||
assert np.array_equal(effective[edges.edge_id], edges.raw_count.to_numpy(np.float32)*np.float32(pc['model']['w_syn_mv_per_anatomical_synapse']))
|
||||
for spec in CFG['motifs']:
|
||||
queues(); nodes = np.sort(np.array(spec['nodes'],np.int32)); subset = edges[edges.source_neuron_idx.isin(nodes)&edges.target_neuron_idx.isin(nodes)].copy()
|
||||
if 'pairs' in spec:
|
||||
pairs = {tuple(x) for x in spec['pairs']}
|
||||
subset = subset[[tuple(x) in pairs for x in subset[['source_neuron_idx','target_neuron_idx']].to_numpy()]]
|
||||
assert len(subset) == len(pairs)
|
||||
w = effective[subset.edge_id]; seed = CFG['seed_node'] if spec.get('force',True) else None
|
||||
steps = round(CFG['duration_ms']/pc['model']['dt_ms']); t0 = time.perf_counter()
|
||||
cpu = cpu_motif(nodes,subset,w,p,steps,seed); gpu = gpu_motif(rt,nodes,subset,w,p,steps,seed)
|
||||
eq = {key:bool(np.array_equal(value,gpu[key])) for key,value in cpu.items()}
|
||||
save(EXP/'regression'/(spec['name']+'.json'), {'exact':eq,'pass':all(eq.values())}); assert all(eq.values()),eq
|
||||
if seed is None: assert len(cpu['step']) == 0
|
||||
subset.to_csv(EXP/'motifs'/(spec['name']+'-edges.csv'),index=False)
|
||||
pd.DataFrame({'step':cpu['step'],'neuron_idx':cpu['neuron_idx']}).to_parquet(EXP/'motifs'/(spec['name']+'-events.parquet'),index=False)
|
||||
np.savez_compressed(EXP/'motifs'/(spec['name']+'-state.npz'), nodes=nodes, **{k:v for k,v in cpu.items() if k not in ('step','neuron_idx')})
|
||||
late = cpu['step'] >= round(CFG['late_start_ms']/pc['model']['dt_ms'])
|
||||
for node in nodes:
|
||||
chosen = cpu['neuron_idx'] == node
|
||||
rows.append({'motif':spec['name'],'neuron_idx':int(node),'spikes':int(chosen.sum()),
|
||||
'late_spikes':int((chosen&late).sum()),'first_ms':float(cpu['step'][chosen][0]*pc['model']['dt_ms']) if chosen.any() else None,
|
||||
'last_ms':float(cpu['step'][chosen][-1]*pc['model']['dt_ms']) if chosen.any() else None,
|
||||
'external_force_requests':int(seed == node),'frozen_math_unchanged':True,'whole_brain_necessity_proven':False})
|
||||
regress.append({'motif':spec['name'],'CPU_GPU_exact':True,'wall_seconds':time.perf_counter()-t0})
|
||||
print(json.dumps({'motif':spec['name'],'events':len(cpu['step']),'late_events':int(late.sum()),'exact':True}),flush=True)
|
||||
pd.DataFrame(rows).to_csv(EXP/'motifs/summary.csv',index=False)
|
||||
save(EXP/'regression/motifs.json',regress)
|
||||
refs=[]
|
||||
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={'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()};assert all(eq.values()),eq
|
||||
refs.append({'trial':spec['name'],'exact':eq,'wall_seconds':r['metrics']['wall_seconds']})
|
||||
print(json.dumps({'frozen_trial':spec['name'],'exact':True}),flush=True)
|
||||
save(EXP/'regression/frozen-five.json',{'pass':True,'trials':refs,'oracle':'frozen deterministic-v2, not Brian2'})
|
||||
save(EXP/'performance/summary.json',{'wall_seconds':time.perf_counter()-start,'peak_allocated_VRAM':int(torch.cuda.max_memory_allocated()),
|
||||
'not_runtime_benchmark':True,'ComfyUI_unloaded':False})
|
||||
save(EXP/'audit/run-complete.json',{'synthetic_policies':4,'real_motifs_frozen_only':5,'all_CPU_GPU_exact':True,'learning_achieved':False,
|
||||
'alternative_MaleCNS_dynamics_run':False,'original_author_code_executed':False})
|
||||
|
||||
|
||||
def finalize():
|
||||
assert (EXP/'audit/run-complete.json').exists()
|
||||
post=integrity();assert post==json.loads((EXP/'regression/preflight.json').read_text())
|
||||
save(EXP/'regression/final-integrity.json',post)
|
||||
pre=json.loads((EXP/'protocol/preregistered.json').read_text());assert all(digest(MODEL/n)==h for n,h in pre['sources'].items())
|
||||
from report import write_report
|
||||
write_report(EXP)
|
||||
save(EXP/'audit/final-status.json',{'status':'COMPLETE-SEMANTICS-AUDIT / LEARNING-NOT-ACHIEVED','frozen_integrity_pass':True,
|
||||
'documented_adaptation_not_GPU_regression':True,'new_model_authorization_separate':True,'goal_remains_active':True})
|
||||
for folder in (MODEL,EXP):
|
||||
print('SEALED',folder,seal(folder),flush=True);assert manifest_check(folder,digest)['pass']
|
||||
|
||||
|
||||
if __name__=='__main__':
|
||||
parser=argparse.ArgumentParser();parser.add_argument('task',choices=['prepare','run','finalize']);a=parser.parse_args();globals()[a.task]()
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"version": "Brian2 2.5.1",
|
||||
"source_commit": "577bb35ec677947d6f3d4af367a8a4b3b88815ee",
|
||||
"method": "Read official source and tests; no executable oracle run",
|
||||
"claims": [
|
||||
{
|
||||
"claim": "Every differential variable flagged unless refractory has writes guarded by not_refractory; this includes g. Reset explicitly bypasses the guard.",
|
||||
"source": "https://github.com/brian-team/brian2/blob/577bb35ec677947d6f3d4af367a8a4b3b88815ee/brian2/groups/neurongroup.py",
|
||||
"lines_1based": [[794,802],[334,351]]
|
||||
},
|
||||
{
|
||||
"claim": "Default non-legacy refractory release compares integer elapsed steps >= refractory steps; with 2.2 ms and dt 0.1 ms release is n+22.",
|
||||
"source": "https://github.com/brian-team/brian2/blob/577bb35ec677947d6f3d4af367a8a4b3b88815ee/brian2/groups/neurongroup.py",
|
||||
"lines_1based": [[178,198],[215,239]]
|
||||
},
|
||||
{
|
||||
"claim": "Default schedule places groups before thresholds, then synapses, then resets. Newly accepted g at n+22 is integrated in the next groups slot; this is not a 23-step refractory duration.",
|
||||
"source": "https://github.com/brian-team/brian2/blob/577bb35ec677947d6f3d4af367a8a4b3b88815ee/brian2/core/network.py",
|
||||
"lines_1based": [[34,42]]
|
||||
},
|
||||
{
|
||||
"claim": "Official tests assert ten-dt refractory gives ten-dt spike spacing and reject same-tick writes on spiking refractory targets.",
|
||||
"source": "https://github.com/brian-team/brian2/blob/577bb35ec677947d6f3d4af367a8a4b3b88815ee/brian2/tests/test_refractory.py",
|
||||
"lines_1based": [[120,127],[232,248]]
|
||||
}
|
||||
],
|
||||
"caveats": [
|
||||
"Assumes default schedule/clocks and legacy.refractory_timing=False.",
|
||||
"The version 2.5.1 prose refractory documentation uses an inconsistent <= example; use pinned implementation and tests for the release boundary.",
|
||||
"Synthetic reset/refractory ablations in this audit retain frozen Euler and arrival timing; they are not a Brian2 reproduction."
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
484296e132a836900efaa336d387b6974aa39c6af2dee211b7ba668cf71be257 PROTOCOL.md
|
||||
f20724387ca7ed63b9e35fb9ce3d2964da44f85318856b7403b5536a442422b8 audit_semantics.py
|
||||
bebd4dfa2dda1aca601a52b24e3eabdd887ce261c3548e377198ab154d81f16e brian2-evidence.json
|
||||
433151183a4755f5fdfec33f6a9404aa5fb186ec45866ebb58be4ba3e4ebb568 config.yaml
|
||||
5166366251f99359b1301f514f5d9ae5f0f041fd3a3f98902386192117f01aea math_reference.py
|
||||
76a21eca32ff8caba88ab84616e226e687dd0d2df5da62816c81b5ba08297394 report.py
|
||||
9ee96ed78bfa692b12f0db6862087a19dc351c4afd9bb94cf02733ec6a002f01 test_math.py
|
||||
@@ -0,0 +1,33 @@
|
||||
phase: 4AC
|
||||
root: /data/digital-drosophila
|
||||
model: models/male-cns-lif/lif-semantics-audit-v1
|
||||
experiment: experiments/phase4ac-lif-semantics
|
||||
runtime: models/male-cns-lif/deterministic-runtime-v2
|
||||
canonical: datasets/male-cns-v1.0/processed/neuron-only
|
||||
old_snapshot: registry/snapshots/bootstrap-20260929
|
||||
additional_frozen:
|
||||
- models/male-cns-lif/apl-pn-scope-audit-v1
|
||||
- experiments/phase4aa-apl-pn-scope
|
||||
- models/male-cns-lif/terminal-scope-diagnostic-v1
|
||||
- experiments/phase4ab-terminal-scope
|
||||
author:
|
||||
repository: https://github.com/philshiu/Drosophila_brain_model
|
||||
commit: 91bdd1e7dcf193f3e7ca5a8933497fcef63b7960
|
||||
model_sha256: fc45837d7122c6ce2a7f3f2f23c515992e4b232aadb919efabb72337fac88e4e
|
||||
paper: https://www.nature.com/articles/s41586-024-07763-9
|
||||
selected_nodes: [1197, 1381, 1511, 82312, 133666]
|
||||
seed_node: 1381
|
||||
duration_ms: 1000
|
||||
late_start_ms: 500
|
||||
motifs:
|
||||
- {name: pair, nodes: [1381, 1511]}
|
||||
- {name: trio, nodes: [1197, 1381, 1511]}
|
||||
- {name: five, nodes: [1197, 1381, 1511, 82312, 133666]}
|
||||
- {name: feedforward, nodes: [1197, 1381, 1511, 82312, 133666], pairs: [[1381,1511],[1511,1197],[1197,133666],[133666,82312]]}
|
||||
- {name: no_input, nodes: [1197, 1381, 1511, 82312, 133666], force: false}
|
||||
synthetic_policies: [frozen, reset_g_only, refractory_gate_only, reset_and_refractory]
|
||||
scope:
|
||||
full_brain_alternative_dynamics: false
|
||||
conditioning: false
|
||||
learned_candidate: false
|
||||
requires_separate_authorization_for_new_brain_model: true
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"created_utc": "2026-09-29T16:58:20.616795+00:00",
|
||||
"files": [
|
||||
{
|
||||
"bytes": 3661,
|
||||
"path": "PROTOCOL.md",
|
||||
"sha256": "484296e132a836900efaa336d387b6974aa39c6af2dee211b7ba668cf71be257"
|
||||
},
|
||||
{
|
||||
"bytes": 18769,
|
||||
"path": "audit_semantics.py",
|
||||
"sha256": "f20724387ca7ed63b9e35fb9ce3d2964da44f85318856b7403b5536a442422b8"
|
||||
},
|
||||
{
|
||||
"bytes": 1963,
|
||||
"path": "brian2-evidence.json",
|
||||
"sha256": "bebd4dfa2dda1aca601a52b24e3eabdd887ce261c3548e377198ab154d81f16e"
|
||||
},
|
||||
{
|
||||
"bytes": 1464,
|
||||
"path": "config.yaml",
|
||||
"sha256": "433151183a4755f5fdfec33f6a9404aa5fb186ec45866ebb58be4ba3e4ebb568"
|
||||
},
|
||||
{
|
||||
"bytes": 3768,
|
||||
"path": "math_reference.py",
|
||||
"sha256": "5166366251f99359b1301f514f5d9ae5f0f041fd3a3f98902386192117f01aea"
|
||||
},
|
||||
{
|
||||
"bytes": 5237,
|
||||
"path": "report.py",
|
||||
"sha256": "76a21eca32ff8caba88ab84616e226e687dd0d2df5da62816c81b5ba08297394"
|
||||
},
|
||||
{
|
||||
"bytes": 2902,
|
||||
"path": "test_math.py",
|
||||
"sha256": "9ee96ed78bfa692b12f0db6862087a19dc351c4afd9bb94cf02733ec6a002f01"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
"""Exact float32 frozen state arithmetic plus explicitly labelled synthetic ablations."""
|
||||
import numpy as np
|
||||
|
||||
|
||||
def params(model):
|
||||
f = np.float32
|
||||
return {'gd': f(1-model['dt_ms']/model['synaptic_tau_ms']),
|
||||
'alpha': f(model['dt_ms']/model['membrane_tau_ms']),
|
||||
'rest': f(model['resting_potential_mv']), 'reset': f(model['reset_potential_mv']),
|
||||
'threshold': f(model['threshold_mv']),
|
||||
'ref_steps': round(model['refractory_ms']/model['dt_ms']),
|
||||
'delay_steps': round(model['synaptic_delay_ms']/model['dt_ms'])}
|
||||
|
||||
|
||||
def state(v, g, ref, arrival, p, policy='frozen'):
|
||||
if policy not in ('frozen', 'reset_g_only', 'refractory_gate_only', 'reset_and_refractory'):
|
||||
raise ValueError('Unknown synthetic policy: '+policy)
|
||||
r = np.maximum(ref-1, 0).astype(np.int32)
|
||||
available = r == 0
|
||||
gi = np.add(np.multiply(g, p['gd'], dtype=np.float32), arrival, dtype=np.float32)
|
||||
if policy in ('refractory_gate_only', 'reset_and_refractory'):
|
||||
gi = np.where(available, gi, g).astype(np.float32)
|
||||
leak = np.subtract(v, p['rest'], dtype=np.float32)
|
||||
dv = np.multiply(p['alpha'], np.subtract(gi, leak, dtype=np.float32), dtype=np.float32)
|
||||
vi = np.where(available, np.add(v, dv, dtype=np.float32), p['reset']).astype(np.float32)
|
||||
fire = available & (vi >= p['threshold'])
|
||||
vi[fire] = p['reset']; r[fire] = p['ref_steps']
|
||||
if policy in ('reset_g_only', 'reset_and_refractory'): gi[fire] = np.float32(0)
|
||||
return vi, gi, r, fire
|
||||
|
||||
|
||||
def single(arrivals, p, policy='frozen'):
|
||||
v = np.array([p['rest']], np.float32); g = np.zeros(1, np.float32); r = np.zeros(1, np.int32)
|
||||
history = np.empty((len(arrivals), 3), np.float32); events = []
|
||||
for t, a in enumerate(arrivals):
|
||||
v, g, r, fire = state(v, g, r, np.array([a], np.float32), p, policy)
|
||||
if fire[0]: events.append(t)
|
||||
history[t] = v[0], g[0], r[0]
|
||||
return np.asarray(events, np.int32), history
|
||||
|
||||
|
||||
def cpu_motif(nodes, edges, weights, p, steps, seed):
|
||||
assert np.all(np.diff(nodes) > 0), 'Canonical nodes must be sorted and unique'
|
||||
assert np.all(np.diff(edges.edge_id.to_numpy()) > 0), 'Canonical edge order required'
|
||||
n = len(nodes); lookup = {int(node): i for i, node in enumerate(nodes)}
|
||||
src = np.array([lookup[int(x)] for x in edges.source_neuron_idx], np.int32)
|
||||
dst = np.array([lookup[int(x)] for x in edges.target_neuron_idx], np.int32)
|
||||
qlen = p['delay_steps']+1; queue = np.zeros((qlen, n), np.float32)
|
||||
v = np.full(n, p['rest'], np.float32); g = np.zeros(n, np.float32); ref = np.zeros(n, np.int32)
|
||||
counts = np.zeros(n, np.int32); history = np.empty((steps, 3, n), np.float32)
|
||||
ts, ns = [], []
|
||||
for t in range(steps):
|
||||
slot = t % qlen
|
||||
v, g, ref, fire = state(v, g, ref, queue[slot], p); queue[slot] = 0
|
||||
if t == 0 and seed is not None:
|
||||
i = lookup[seed]
|
||||
assert not fire[i] and ref[i] == 0
|
||||
fire[i] = True; v[i] = p['reset']; ref[i] = p['ref_steps']
|
||||
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]):
|
||||
ix = selected[dst[selected] == target]; acc = np.float32(0)
|
||||
for e in ix: acc = np.float32(acc+weights[e])
|
||||
outslot = (t+p['delay_steps']) % qlen
|
||||
queue[outslot, target] = np.float32(queue[outslot, target]+acc)
|
||||
history[t] = v, g, ref
|
||||
return {'step': np.asarray(ts, np.int32), 'neuron_idx': np.asarray(ns, np.int32), 'counts': counts,
|
||||
'v': v, 'g': g, 'ref': ref, 'history': history, 'queue': queue}
|
||||
@@ -0,0 +1,49 @@
|
||||
"""Derive a descriptive report, never pick a model winner from activity reduction."""
|
||||
import json
|
||||
import pandas as pd
|
||||
|
||||
|
||||
def write_report(exp):
|
||||
synthetic = pd.read_csv(exp/'synthetic/results.csv')
|
||||
motifs = pd.read_csv(exp/'motifs/summary.csv')
|
||||
one = synthetic[synthetic['case'].str.startswith('one_impulse')]
|
||||
combined = one.pivot(index='case',columns='policy',values='spikes')
|
||||
lines = [
|
||||
'# Phase 4AC — LIF semantics and unchanged-dynamics motif audit', '',
|
||||
'Status: COMPLETE-SEMANTICS-AUDIT / LEARNING-NOT-ACHIEVED.',
|
||||
'No alternative dynamics deployed to MaleCNS; no conditioning, learned candidate or new formal runtime.', '',
|
||||
'## Author model versus frozen adapted model', '',
|
||||
'Pinned author model resets g on a spike and declares v/g `(unless refractory)`, uses linear integration, strict > threshold and voltage Poisson input with zero refractory on stimulated cells.',
|
||||
'The frozen adapted model retains g, decays/accepts events during refractory, uses explicit Euler and >= threshold, and forced sensory spikes respect refractory.',
|
||||
'These are documented model choices, not a newly established GPU regression. g is an additive voltage-valued drive, not a measured conductance.',
|
||||
'W_syn=0.275 is transferred from a free parameter calibrated in the original FlyWire feeding model, not a measured universal MaleCNS synaptic efficacy.', '',
|
||||
'## Synthetic single-cell component tests', '',
|
||||
'All impulse amplitudes derive from the complete unique contact counts of the predeclared 13 real motif edges plus a one-contact fixture; other boundary/sustained cases are explicitly synthetic unit tests.',
|
||||
'These ablations retain frozen Euler arithmetic/scheduling and are NOT complete Brian2 replication. No successful amplitude or policy was selected after seeing results.', '',
|
||||
'| Single-impulse fixture | Frozen | Reset g only | Refractory gate only | Reset + gate |',
|
||||
'|---|---:|---:|---:|---:|']
|
||||
for name,row in combined.iterrows():
|
||||
lines.append(f"| {name} | {int(row.frozen)} | {int(row.reset_g_only)} | {int(row.refractory_gate_only)} | {int(row.reset_and_refractory)} |")
|
||||
lines += ['', 'Reset-only and combined policies can produce at most one spike from a single isolated input by construction. This does not establish biological correctness or whole-brain learning improvement.', '',
|
||||
'## Real anatomical motifs — frozen mathematics ONLY', '',
|
||||
'One forced seed spike at step 0 except the no-input control; no subsequent input; observed for 1 s. Late window=500–1,000 ms.',
|
||||
'The recurrent pair/trio/five are induced subgraphs. The feedforward control selects four existing edges and removes feedback only within this isolated diagnostic harness.',
|
||||
'External inhibition, graded APL and other whole-brain inputs are absent. A sustained isolated motif is evidence of sufficiency in this harness, NOT necessity in the complete brain.', '',
|
||||
'| Motif | neuron_idx | Total spikes | Late spikes | Last ms |', '|---|---:|---:|---:|---:|']
|
||||
for r in motifs.itertuples():
|
||||
lines.append(f'| {r.motif} | {r.neuron_idx} | {r.spikes} | {r.late_spikes} | {r.last_ms if pd.notna(r.last_ms) else "none"} |')
|
||||
perf=json.loads((exp/'performance/summary.json').read_text())
|
||||
lines += ['', '## Verification and boundaries', '',
|
||||
'Seven unit tests; all five real motifs CPU/GPU event, count, final V/g/refractory, queue and timestep history exact; five archived deterministic-v2 full-brain trials exact.',
|
||||
'Every selected edge_id, source CSR row, destination and original weight validated; generated prepared inputs hashed. All original snapshot files and Phase 4AA/4AB model/experiment manifests checked before and after.',
|
||||
f"Diagnostic wall time including compilation and observation: {perf['wall_seconds']:.3f} s. Peak allocated process VRAM: {perf['peak_allocated_VRAM']} bytes. Not a runtime-speed benchmark.",
|
||||
'Original author code was inspected, not executed; no Brian2 oracle run and no new package installation. ComfyUI was not stopped or unloaded.', '',
|
||||
'## Decision', '',
|
||||
'The usable-learning gate remains unmet: independent evaluation, A-vs-neutral-B specificity in MBON/downstream, multiple training seeds and conditioning controls still required.',
|
||||
'Before any full-network alternative, obtain explicit separate model authorization and distinguish each semantic component; do not claim g reset alone reproduces the author implementation.',
|
||||
'No evidence here permits changing eta, thresholds, gain, frozen APL calibration, transmitter signs or the plastic mask.', '',
|
||||
'## Primary provenance', '',
|
||||
'[Shiu et al. 2024](https://www.nature.com/articles/s41586-024-07763-9)',
|
||||
'[Pinned author implementation](https://github.com/philshiu/Drosophila_brain_model/blob/91bdd1e7dcf193f3e7ca5a8933497fcef63b7960/model.py)',
|
||||
'Downloaded source, MIT license, environment specification, exact commit, SHA-256 and source clauses retained under external-resources and audit.', '']
|
||||
with (exp/'REPORT.md').open('x',encoding='utf-8') as f: f.write('\n'.join(lines))
|
||||
@@ -0,0 +1,59 @@
|
||||
"""Independent fixtures; no access to the MaleCNS raw data or experiment outputs."""
|
||||
import unittest
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
from math_reference import params, state, single, cpu_motif
|
||||
|
||||
|
||||
class Operators(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.p = params(dict(dt_ms=.1, synaptic_tau_ms=5., membrane_tau_ms=20.,
|
||||
resting_potential_mv=-52., reset_potential_mv=-52., threshold_mv=-45.,
|
||||
refractory_ms=2.2, synaptic_delay_ms=1.8))
|
||||
|
||||
def test_zero_input_and_exact_repeat(self):
|
||||
for policy in ('frozen','reset_g_only','refractory_gate_only','reset_and_refractory'):
|
||||
a, h = single(np.zeros(1000,np.float32),self.p,policy)
|
||||
self.assertEqual(len(a),0)
|
||||
np.testing.assert_array_equal(h[:,0],np.full(1000,-52,np.float32))
|
||||
self.assertTrue(np.isfinite(h).all())
|
||||
np.testing.assert_array_equal(h,single(np.zeros(1000,np.float32),self.p,policy)[1])
|
||||
|
||||
def test_single_spike_reset(self):
|
||||
a = np.zeros(1000,np.float32); a[0] = 2000
|
||||
for policy in ('reset_g_only','reset_and_refractory'):
|
||||
ev, h = single(a,self.p,policy)
|
||||
np.testing.assert_array_equal(ev,[0]); self.assertEqual(h[0,1],0)
|
||||
|
||||
def test_refractory_release_at_22(self):
|
||||
a = np.zeros(30,np.float32); a[0] = 2000; a[1:23] = 10
|
||||
ev, h = single(a,self.p,'reset_and_refractory')
|
||||
self.assertEqual(ev[0],0)
|
||||
np.testing.assert_array_equal(h[:22,1],np.zeros(22))
|
||||
self.assertEqual(h[21,2],1); self.assertEqual(h[22,2],0)
|
||||
self.assertEqual(h[22,1],10)
|
||||
|
||||
def test_inhibitory_arrival_sign_preserved(self):
|
||||
v,g,r,f = state(np.array([-52],np.float32),np.zeros(1,np.float32),
|
||||
np.zeros(1,np.int32),np.array([-10],np.float32),self.p)
|
||||
self.assertLess(v[0],-52); self.assertEqual(g[0],-10); self.assertFalse(f[0])
|
||||
|
||||
def test_exact_delay_and_no_duplicate_count(self):
|
||||
edges = pd.DataFrame(dict(edge_id=[17],source_neuron_idx=[100],target_neuron_idx=[200]))
|
||||
r = cpu_motif(np.array([100,200],np.int32),edges,np.array([1],np.float32),self.p,40,100)
|
||||
np.testing.assert_array_equal(r['step'],[0]); np.testing.assert_array_equal(r['counts'],[1,0])
|
||||
self.assertTrue((r['history'][:18,1,1] == 0).all())
|
||||
self.assertEqual(r['history'][18,1,1],1)
|
||||
np.testing.assert_array_equal(r['queue'],np.zeros((19,2),np.float32))
|
||||
|
||||
def test_ref_gate_is_not_identical_to_reset(self):
|
||||
a = np.zeros(60,np.float32); a[0] = 2000
|
||||
_, frozen = single(a,self.p,'frozen')
|
||||
_, gate = single(a,self.p,'refractory_gate_only')
|
||||
self.assertLess(frozen[1,1],frozen[0,1]); self.assertEqual(gate[1,1],gate[0,1])
|
||||
|
||||
def test_unknown_policy_rejected(self):
|
||||
with self.assertRaises(ValueError): single(np.zeros(1,np.float32),self.p,'guess')
|
||||
|
||||
|
||||
if __name__ == '__main__': unittest.main(verbosity=2)
|
||||
@@ -0,0 +1,86 @@
|
||||
# Phase 4AB — calyx contact-scope counterfactuals
|
||||
|
||||
This is an exploratory mechanism diagnostic, NOT an APL physiological model,
|
||||
learning experiment, parameter calibration or new formal runtime candidate.
|
||||
All previous scientific artifacts remain read-only. Only new output directories
|
||||
are permitted. No additional download is required.
|
||||
|
||||
## Question and predeclared controls
|
||||
|
||||
Does removal of anatomically labelled calyx PN→KC input alter persistent KC
|
||||
activity without also removing the same PNs' antennal-lobe output?
|
||||
|
||||
Select PN/ROI pairs from actual Phase 4AA APL→ALPN synaptic contacts whose
|
||||
`primary_post` is exactly `CA(L)` or `CA(R)`. Select PN→KC contacts only when
|
||||
their source PN and actual `primary_post` match that pair. This is **ROI-level
|
||||
co-location**, not proof of the same bouton, receptor, physiological coefficient,
|
||||
or even a per-presynaptic-site ROI annotation. `primary_post` labels the
|
||||
postsynaptic site. Never reclassify `CentralBrain-unspecified` by proximity.
|
||||
|
||||
Compare four conditions on the same eligible PN set:
|
||||
|
||||
1. Frozen reference; no changed weights or injected current.
|
||||
2. Block only the matched CA PN→KC contact component.
|
||||
3. Block all PN→KC output of those PNs, irrespective of ROI.
|
||||
4. Block all fast outgoing synaptic weights of those PNs (broad scope control).
|
||||
|
||||
These are complete-block engineering interventions, not estimates of biological
|
||||
APL inhibition. There is no strength sweep or winner selection. Condition 4
|
||||
does **not** silence PN somata or alter their force requests. The frozen graded
|
||||
APL input matrix remains active in all four conditions; condition 4 is therefore
|
||||
not a complete PN knockout. All fast edge slots remain present. Output masks are
|
||||
not plastic masks, and nothing is written back to base CSR or an old model.
|
||||
|
||||
For condition 2, the in-memory diagnostic effective weight is
|
||||
`float32(float64(frozen_effective_weight) * (raw_count - CA_count) / raw_count)`.
|
||||
The linear per-contact decomposition is an engineering consequence of the
|
||||
existing linear weight model, not a measured transmitter-release law.
|
||||
At strength zero there is no arithmetic or write at all; identity must be exact.
|
||||
Conditions 3/4 set only the declared fast effective weights to zero. Anatomical
|
||||
counts, transmitter signs, LIF/refractory/delay, APL matrices and calibration,
|
||||
eligibility-v2 and the 14,232 plastic-edge mask remain frozen.
|
||||
|
||||
## Trials and measurements, declared before results
|
||||
|
||||
Use all six old calibration odors, seed 131101, the frozen Phase 4V DoOR→PN
|
||||
request generator, 120 ms stimulus followed by observation to 1,000 ms. Do not
|
||||
consume held-out odors. Reset all states between trials. Repeat every condition
|
||||
for odor 0 to test exact determinism. No DAN reinforcement or weight training.
|
||||
|
||||
Record all spike events, all final counts/V/g, watched PN/KC/ALLN states, original
|
||||
force requests and their accepted/preexisting/blocked status, KC active fraction,
|
||||
late KC82312/VA6/ALLN activity (500–1,000 ms), and class-wise counts. All conditions
|
||||
share requested inputs; delivered events need not match because recurrent state
|
||||
and refractory periods can change. Explicitly report this distinction.
|
||||
|
||||
Unmodified trials must reproduce Phase 4Z whole events, watched states and
|
||||
Phase 4Y final arrays bit-for-bit. Each first-odor repeat must be exact. Run the
|
||||
five frozen Phase 4C trials against the deterministic-v2 archived oracle in new
|
||||
output paths. Original v1 files remain preserved, not relabelled as deterministic.
|
||||
|
||||
Additionally, replay the first frozen trial with its recorded events fixed, using
|
||||
the frozen ordered reduction and 18-step queue to validate locality: no terminal
|
||||
mask affects non-KC arrivals; broad controls may do so. This fixed-event test
|
||||
only measures the direct operator, not whole-brain causality.
|
||||
|
||||
## Interpretation gate
|
||||
|
||||
Reduced KC activity alone is not repaired encoding or memory. A broad blockade
|
||||
can destroy useful drive. If CA blockade fails to remove the late KC response,
|
||||
report that it is insufficient under this model; do not increase gain or relabel
|
||||
unknown contacts. If it succeeds while ALPN/ALLN persist, report scope-specific
|
||||
model counterfactual evidence, not proof that biological APL has that strength.
|
||||
No result in this phase can generate a learned/physiological candidate.
|
||||
|
||||
## Source boundaries
|
||||
|
||||
- MaleCNS official v1.0 syn-partners, CC BY 4.0, already verified in Phase 4AA:
|
||||
https://male-cns.janelia.org/download/
|
||||
- Prisco et al. (2021), doi:10.7554/eLife.74172: local calyx APL interactions;
|
||||
does not assign MaleCNS edge-specific inhibition coefficients.
|
||||
- Amin et al. (2020), doi:10.7554/eLife.56954: spatially localized APL activity
|
||||
and inhibition; does not validate the present engineering complete-block rule.
|
||||
|
||||
Unknown: bouton identity, receptor distribution, strength/time course of terminal
|
||||
release modulation, and whether adding such physiology would rescue memory.
|
||||
No game, decoder, RL, visual input, threshold/eta tuning, or next-phase training.
|
||||
@@ -0,0 +1,39 @@
|
||||
# Terminal-scope diagnostic v1 (Phase 4AB)
|
||||
|
||||
Independent engineering counterfactual harness, **not a formal brain model**.
|
||||
Read `PROTOCOL.md` before interpreting any result. Frozen input datasets and
|
||||
scientific sources are mandatory; no data are fetched by this stage.
|
||||
|
||||
## Sequence
|
||||
|
||||
Use the existing scientific environment with `PYTHONDONTWRITEBYTECODE=1`,
|
||||
`OMP_NUM_THREADS=4`, `OPENBLAS_NUM_THREADS=4`, `MKL_NUM_THREADS=4`:
|
||||
|
||||
1. `python -B -m unittest -v test_scope`
|
||||
2. `python -B diagnostic.py prepare` (new empty experiment directory only)
|
||||
3. `python -B validate.py`
|
||||
4. `python -B launch.py` (explicit frozen module paths, single 4090)
|
||||
5. `python -B environment.py`
|
||||
6. `python -B analyze.py`
|
||||
7. `python -B diagnostic.py finalize`
|
||||
8. `python -B publish.py` (new small Git evidence copies only)
|
||||
|
||||
The completed output is sealed. **Do not rerun these commands into its directory.**
|
||||
Unit tests may be rerun read-only. An independent full replication requires a new
|
||||
isolated experiment/model directory, with its paths changed consistently in the
|
||||
copied configuration/entry points before preregistration. Retain this original
|
||||
source and every old output. The current protocol also includes four in-run exact
|
||||
repeats, six historical exact comparisons and five archived reference checks.
|
||||
|
||||
`launch.py` fixes the initial import-path failure without editing the five
|
||||
preregistered source/config files. `analyze.py` is a post-hoc summary only and
|
||||
does not launch any additional experiment or fit any parameter. Additional helper
|
||||
hashes and imported code hashes are captured in the final manifest/protocol.
|
||||
|
||||
The existing environment is reused, never upgraded. ComfyUI queues are checked
|
||||
between trials; a busy service causes deferral, not eviction. Performance includes
|
||||
observation overhead. The historical APL graded input/output remains unchanged.
|
||||
|
||||
All-fast-PN-output blockade is not somatic silencing and not a complete knockout:
|
||||
PN spikes still contribute to the frozen graded APL input. `primary_post` is a
|
||||
postsynaptic ROI label, not a reconstructed bouton identity. Unknown stays unknown.
|
||||
@@ -0,0 +1,89 @@
|
||||
"""Post-hoc interpretation only; no further trials, selection or parameter changes."""
|
||||
from pathlib import Path
|
||||
import sys
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
|
||||
ROOT = Path('/data/digital-drosophila'); MODEL = ROOT/'models/male-cns-lif/terminal-scope-diagnostic-v1'
|
||||
EXP = ROOT/'experiments/phase4ab-terminal-scope'
|
||||
sys.path.insert(0, str(MODEL))
|
||||
import diagnostic
|
||||
cfg, _, _, _, save, digest, _, _ = diagnostic.load_context()
|
||||
assert (EXP/'audit/run-complete.json').exists()
|
||||
m = pd.read_parquet(ROOT/cfg['canonical']/'neuron-index/unified-metadata.parquet').sort_values('neuron_idx').reset_index(drop=True)
|
||||
trials = pd.read_csv(EXP/'audit/trials.csv'); watched = pd.read_csv(EXP/'audit/watched-counts.csv')
|
||||
remaining, comparisons = [], []
|
||||
for oi in cfg['odor_indices']:
|
||||
names = {c: f'{oi}-{cfg["seed"]}-{c}' for c in cfg['conditions']}
|
||||
narrow = pd.read_parquet(EXP/'events'/f'{names["calyx_PN_KC_contact_block"]}.parquet')
|
||||
allkc = pd.read_parquet(EXP/'events'/f'{names["all_PN_KC_block"]}.parquet')
|
||||
a = np.load(EXP/'states'/f'{names["calyx_PN_KC_contact_block"]}.npz')
|
||||
b = np.load(EXP/'states'/f'{names["all_PN_KC_block"]}.npz')
|
||||
comparisons.append({'odor_index': oi, 'terminal_vs_allKC_events_exact': narrow.equals(allkc),
|
||||
'counts_exact': bool(np.array_equal(a['counts'], b['counts'])),
|
||||
'max_V_difference': float(np.abs(a['final_v'].astype(float)-b['final_v']).max()),
|
||||
'max_g_difference': float(np.abs(a['final_g'].astype(float)-b['final_g']).max())})
|
||||
kc = np.flatnonzero(m.annotation_class.eq('Kenyon_Cell'))
|
||||
late = narrow[(narrow.step >= 5000) & narrow.neuron_idx.isin(kc)]
|
||||
for node, group in late.groupby('neuron_idx'):
|
||||
row = m.iloc[node]
|
||||
remaining.append({'odor_index': oi, 'neuron_idx': int(node), 'body_id': int(row.body_id),
|
||||
'type': str(row.annotation_type), 'late_spikes': len(group),
|
||||
'first_late_spike_ms': float(group.step.min()/10), 'last_spike_ms': float(group.step.max()/10),
|
||||
'source_identity_not_inferred_from_this_count': True})
|
||||
pd.DataFrame(remaining).to_csv(EXP/'audit/remaining-late-KCs.csv', index=False)
|
||||
pd.DataFrame(comparisons).to_csv(EXP/'audit/narrow-vs-allKC.csv', index=False)
|
||||
|
||||
rows = []
|
||||
for name, g in trials.groupby('condition', sort=False):
|
||||
row = {'condition': name}
|
||||
for key in ['whole_spikes', 'KC_active', 'KC_spikes', 'KC_late_spikes', 'KC82312_late_spikes', 'VA6_late_spikes', 'wall_seconds']:
|
||||
row[key+'_min'] = float(g[key].min()); row[key+'_max'] = float(g[key].max())
|
||||
rows.append(row)
|
||||
pd.DataFrame(rows).to_csv(EXP/'audit/condition-ranges.csv', index=False)
|
||||
ca = trials[trials.condition == 'calyx_PN_KC_contact_block']
|
||||
wide = trials[trials.condition == 'whole_PN_output_block']
|
||||
local = watched[(watched.population == 'ALLN') & watched.trial.str.endswith('calyx_PN_KC_contact_block')]
|
||||
result = {'posthoc_summary_not_new_experiment': True,
|
||||
'all_six_CA_block_targetKC_late_zero': bool(ca.KC82312_late_spikes.eq(0).all()),
|
||||
'all_six_CA_block_VA6_late_persists': bool(ca.VA6_late_spikes.gt(0).all()),
|
||||
'all_six_broad_block_KC_and_VA6_late_zero': bool((wide.KC_late_spikes.eq(0) & wide.VA6_late_spikes.eq(0)).all()),
|
||||
'CA_block_active_KC_range': [int(ca.KC_active.min()), int(ca.KC_active.max())],
|
||||
'CA_block_ALLN_watched_late_rate_range_hz': [float(local.late_rate_hz.min()), float(local.late_rate_hz.max())],
|
||||
'CA_vs_allKC_spike_sequence_exact_for_all_odors': bool(all(x['terminal_vs_allKC_events_exact'] for x in comparisons)),
|
||||
'not_a_physiological_APL_gain_estimate': True, 'not_a_memory_or_separability_success': True,
|
||||
'new_candidate': False, 'source_sha256': digest(Path(__file__))}
|
||||
save(EXP/'audit/mechanism-interpretation.json', result)
|
||||
|
||||
def span(frame, key):
|
||||
lo, hi = frame[key].min(), frame[key].max()
|
||||
return str(int(lo)) if lo == hi else f'{int(lo)}–{int(hi)}'
|
||||
ref = trials[trials.condition == 'frozen_reference']
|
||||
lines = ['# Phase 4AB 机制解读', '',
|
||||
'正式状态:**COMPLETE-SCOPE-COUNTERFACTUAL / NO-DYNAMICS-CANDIDATE**。', '',
|
||||
'这一轮区分了“PN→KC 传入位置”与“维持 PN 放电的上游反馈”。没有修复或批准新的 APL 生理模型,也没有训练。', '',
|
||||
'| 诊断范围 | 活跃 KC(6 个旧气味) | 目标 KC 晚期 spikes | VA6 PN 晚期 spikes |',
|
||||
'|---|---:|---:|---:|']
|
||||
labels = {'frozen_reference': '原模型', 'calyx_PN_KC_contact_block': '仅明确 calyx 接触',
|
||||
'all_PN_KC_block': '同批 PN 的全部 KC 输出', 'whole_PN_output_block': '同批 PN 的全部快速输出'}
|
||||
for name in cfg['conditions']:
|
||||
g = trials[trials.condition == name]
|
||||
lines.append(f'| {labels[name]} | {span(g,"KC_active")} | {span(g,"KC82312_late_spikes")} | {span(g,"VA6_late_spikes")} |')
|
||||
lines += ['', '晚期窗口是 500–1,000 ms。每个气味沿用 seed 131101;总计 24 组诊断、4 次精确重复,不是 5-seed 学习验证。', '',
|
||||
'## 能说明什么', '',
|
||||
f'仅 calyx 接触阻断后,目标 KC82312 的晚期 spikes 范围为 {span(ca,"KC82312_late_spikes")},VA6 仍为 {span(ca,"VA6_late_spikes")}。',
|
||||
f'同时 KC 总活跃数降为 {span(ca,"KC_active")},原模型为 {span(ref,"KC_active")}。不能把这种接近静默的结果包装成编码或记忆改善。',
|
||||
'即使两个局部阻断条件的事件序列相同,其电压/g 仍可能不同;逐气味比较见 narrow-vs-allKC.csv。',
|
||||
'宽范围 PN 快速输出阻断影响反馈路径,不等价于局部 calyx 调制;它也没有关闭 PN 胞体或 frozen graded APL 的 PN 输入。', '',
|
||||
'## 仍不能说明什么', '',
|
||||
'完全阻断只是工程极端对照,不是 APL 的实测释放抑制比例。没有估计 receptor、bouton、局部扩散范围或时间常数。',
|
||||
'未使用 held-out 气味,未检验学习、保持、反转或动作输出。不得选取这次“让活动更少”的操作作为正式脑模型。',
|
||||
'剩余 late KC 的 ID/type 已单独保存;其来源不能仅凭残余计数猜测。', '',
|
||||
'## 下一步边界', '',
|
||||
'先继续 upstream feedback / compartment-specific physiology 的证据约束,区分 calyx 信号传递与触角叶持续放电,再确定可检验的局部动力学假设。',
|
||||
'不能靠增加整体抑制、调 eta/threshold、扩大 plastic mask 或让 KC 全静默宣称修复。当前不进入学习、游戏或视觉。', '',
|
||||
'相关原始研究:[Prisco et al., 2021](https://doi.org/10.7554/eLife.74172)、[Amin et al., 2020](https://doi.org/10.7554/eLife.56954)。它们支持研究局部 APL 作用,不直接验证本实验完全阻断幅度。', '',
|
||||
'顶层验收仍为 5/10(50%);本轮推进的是机制定位与可重复诊断能力。最终完整性状态见 regression/final-integrity.json。']
|
||||
with (EXP/'INTERPRETATION.zh.md').open('x', encoding='utf-8') as out:
|
||||
out.write('\n'.join(lines)+'\n')
|
||||
print(result)
|
||||
@@ -0,0 +1,11 @@
|
||||
451b53b128eb0ad67acb81f060f3676794a68c98637dd2c0eddd137da509fccf PROTOCOL.md
|
||||
2842b5dd94ed30fc01d1a8b8d95e235de78695d3d1c1076402499276fb903261 README.md
|
||||
33ba5f323e9ed3343f43a8d64fb7e862c8a4f1118b9b441f4745e26cc14303a8 analyze.py
|
||||
e22088d9847504a50c0e684d2cee9420f484ab1ebef9d6057921062d8f785e73 config.yaml
|
||||
c8ec2ae6e72d35fedbd42acc6e6b5e7af2634d5b9805dc20e777b172c55d5aa4 diagnostic.py
|
||||
be92ce24e63910f67da0238b19e3abb882e1afd317561fccf01734f1b4a56f25 environment.py
|
||||
0b2f71365267886933ba5becb52f4123d3d4e95e9c5bc0cf19c9bf0563831625 launch.py
|
||||
bc194bb857336908b1c3fe71cc0e7b7fe4152794745bd3443533d47da886f5ec publish.py
|
||||
8f5774496dcceaee1c2793a5308754cbd0864c4a38d507481071d988f9de424d scope.py
|
||||
38a1c6e653ae97e77e5feda3ee8f2f8a3c366755bfbbd57ca1373b9b8f971bbb test_scope.py
|
||||
971136a667367a84cfc50ebc3fa73a749eddb8b8e1ca6931708ba67bfc12f0c1 validate.py
|
||||
@@ -0,0 +1,22 @@
|
||||
phase: 4AB
|
||||
root: /data/digital-drosophila
|
||||
model: models/male-cns-lif/terminal-scope-diagnostic-v1
|
||||
experiment: experiments/phase4ab-terminal-scope
|
||||
prior_model: models/male-cns-lif/apl-pn-scope-audit-v1
|
||||
prior_experiment: experiments/phase4aa-apl-pn-scope
|
||||
runtime: models/male-cns-lif/deterministic-runtime-v2
|
||||
snapshot: registry/snapshots/bootstrap-20260929
|
||||
canonical: datasets/male-cns-v1.0/processed/neuron-only
|
||||
event_prior: experiments/phase4z-pn-feedback-audit
|
||||
state_prior: experiments/phase4y-dpm-hypothesis
|
||||
input_model: models/male-cns-lif/csus-audit-v1
|
||||
roi_labels: [CA(L), CA(R)]
|
||||
seed: 131101
|
||||
odor_indices: [0, 1, 2, 3, 4, 5]
|
||||
repeat_odor_index: 0
|
||||
late_start_ms: 500
|
||||
target_KC: 82312
|
||||
watched_VA6: 133666
|
||||
conditions: [frozen_reference, calyx_PN_KC_contact_block, all_PN_KC_block, whole_PN_output_block]
|
||||
workers: 4
|
||||
no_candidate: true
|
||||
@@ -0,0 +1,369 @@
|
||||
"""New-path-only Phase 4AB scope diagnostics; never edits frozen scientific files."""
|
||||
import argparse
|
||||
from datetime import datetime, timezone
|
||||
import json
|
||||
import os
|
||||
from pathlib import Path
|
||||
import subprocess
|
||||
import sys
|
||||
import time
|
||||
import urllib.request
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
import yaml
|
||||
from scope import contact_scope, edge_ids_for_pairs, blocked_weights
|
||||
|
||||
|
||||
def load_context():
|
||||
cfg = yaml.safe_load(Path(__file__).with_name('config.yaml').read_text())
|
||||
root = Path(cfg['root']); model = root/cfg['model']; exp = root/cfg['experiment']
|
||||
sys.path.insert(0, str(root/cfg['prior_model']))
|
||||
from audit import save, digest, immutable_check, seal
|
||||
return cfg, root, model, exp, save, digest, immutable_check, seal
|
||||
|
||||
|
||||
def manifest_check(folder, digest):
|
||||
manifest = folder/'manifest.json'
|
||||
rows = json.loads(manifest.read_text())['files']
|
||||
bad = []
|
||||
for row in rows:
|
||||
path = folder/row['path']
|
||||
if not path.is_file() or path.stat().st_size != row['bytes'] or digest(path) != row['sha256']:
|
||||
bad.append(row['path'])
|
||||
return {'pass': not bad, 'checked': len(rows), 'mismatches': bad,
|
||||
'manifest_sha256': digest(manifest), 'checksums_sha256': digest(folder/'checksums.sha256')}
|
||||
|
||||
|
||||
def integrity(cfg, root, digest, immutable_check):
|
||||
result = {'original': immutable_check(root, root/cfg['snapshot'], cfg['workers'])}
|
||||
for key in ('prior_model', 'prior_experiment'):
|
||||
result[key] = manifest_check(root/cfg[key], digest)
|
||||
assert all(x['pass'] for x in result.values()), result
|
||||
return result
|
||||
|
||||
|
||||
def queues():
|
||||
out = []
|
||||
for port in (8188, 8189, 8190):
|
||||
with urllib.request.urlopen(f'http://192.168.10.51:{port}/queue', timeout=5) as r:
|
||||
q = json.load(r)
|
||||
out.append({'port': port, 'running': len(q['queue_running']), 'pending': len(q['queue_pending'])})
|
||||
assert all(x['running'] == x['pending'] == 0 for x in out), 'ComfyUI busy: defer, never evict'
|
||||
return out
|
||||
|
||||
|
||||
def prepare():
|
||||
cfg, root, model, exp, save, digest, immutable_check, _ = load_context()
|
||||
assert exp.parent == root/'experiments' and model.parent == root/'models/male-cns-lif'
|
||||
if exp.exists() and any(exp.iterdir()): raise RuntimeError('Refusing nonempty experiment')
|
||||
exp.mkdir(exist_ok=True)
|
||||
for d in ('protocol', 'audit', 'masks', 'events', 'states', 'observations', 'requests', 'replay', 'regression', 'performance'):
|
||||
(exp/d).mkdir()
|
||||
save(exp/'protocol/preregistered.json', {'config': cfg, 'before_analysis': True,
|
||||
'timestamp_utc': datetime.now(timezone.utc).isoformat(),
|
||||
'parent_commit': subprocess.check_output(['git', '-C', str(root), 'rev-parse', 'HEAD'], text=True).strip(),
|
||||
'source_hashes': {p.name: digest(p) for p in sorted(model.iterdir()) if p.is_file()}})
|
||||
save(exp/'regression/preflight.json', integrity(cfg, root, digest, immutable_check))
|
||||
can = root/cfg['canonical']; prior = root/cfg['prior_experiment']
|
||||
m = pd.read_parquet(can/'neuron-index/unified-metadata.parquet').sort_values('neuron_idx').reset_index(drop=True)
|
||||
ptr = np.load(can/'gpu/csr-indptr.int64.npy', mmap_mode='r')
|
||||
dst = np.load(can/'gpu/csr-indices.int32.npy', mmap_mode='r')
|
||||
raw = np.load(can/'gpu/csr-weights.int64.npy', mmap_mode='r')
|
||||
assert len(m) == 166700 and len(dst) == 25582938 and int(raw.sum()) == 124177617
|
||||
assert m.body_id.dtype == np.uint64 and np.array_equal(m.neuron_idx, np.arange(len(m)))
|
||||
src = np.repeat(np.arange(len(m), dtype=np.int32), np.diff(ptr))
|
||||
apl = np.flatnonzero(m.annotation_type.eq('APL')); pn = np.flatnonzero(m.annotation_class.eq('ALPN'))
|
||||
kc = np.flatnonzero(m.annotation_class.eq('Kenyon_Cell'))
|
||||
contacts = pd.read_parquet(prior/'localization/APL-incident.parquet')
|
||||
ap = contacts[contacts.source_neuron_idx.isin(apl) & contacts.target_neuron_idx.isin(pn)].copy()
|
||||
pk = pd.read_parquet(prior/'localization/APL-target-PN-to-KC.parquet')
|
||||
assert len(ap) == 4600 and ap.target_neuron_idx.nunique() == 259 and len(pk) == 385229
|
||||
assert pk.source_neuron_idx.isin(pn).all() and pk.target_neuron_idx.isin(kc).all()
|
||||
pairs, allowed, keep = contact_scope(ap, pk, cfg['roi_labels'])
|
||||
ids = edge_ids_for_pairs(pairs, ptr, dst)
|
||||
assert np.array_equal(raw[ids], pairs.raw_partner_count)
|
||||
full_expected = np.flatnonzero(np.isin(src, ap.target_neuron_idx.unique()) & np.isin(dst, kc))
|
||||
assert np.array_equal(np.sort(ids), full_expected), 'Missing whole PN->KC pairs'
|
||||
pairs['edge_id'] = ids
|
||||
pairs['source_body_id'] = m.body_id.to_numpy()[pairs.source_neuron_idx]
|
||||
pairs['target_body_id'] = m.body_id.to_numpy()[pairs.target_neuron_idx]
|
||||
ca = pairs[pairs.blocked_contact_count > 0].sort_values('edge_id').copy()
|
||||
eligible = np.sort(ca.source_neuron_idx.unique()).astype(np.int32)
|
||||
all_pk = np.flatnonzero(np.isin(src, eligible) & np.isin(dst, kc))
|
||||
whole = np.flatnonzero(np.isin(src, eligible))
|
||||
assert set(ca.edge_id).issubset(all_pk) and set(all_pk).issubset(whole)
|
||||
assert not np.any(np.isin(src[ca.edge_id], apl)) and not np.any(ca.retained_contact_count < 0)
|
||||
for name, eids, count in [
|
||||
('calyx_PN_KC_contact_block', ca.edge_id.to_numpy(np.int64), ca.blocked_contact_count.to_numpy(np.int64)),
|
||||
('all_PN_KC_block', all_pk, raw[all_pk]), ('whole_PN_output_block', whole, raw[whole])]:
|
||||
frame = pd.DataFrame({'edge_id': eids, 'source_neuron_idx': src[eids], 'target_neuron_idx': dst[eids],
|
||||
'raw_synapse_count': raw[eids], 'blocked_contact_count': count})
|
||||
frame['source_body_id'] = m.body_id.to_numpy()[src[eids]]
|
||||
frame['target_body_id'] = m.body_id.to_numpy()[dst[eids]]
|
||||
frame.to_parquet(exp/'masks'/f'{name}.parquet', index=False)
|
||||
pairs.to_parquet(exp/'audit/all-PN-KC-contact-partitions.parquet', index=False)
|
||||
allowed.to_parquet(exp/'audit/observed-APL-PN-ROI-pairs.parquet', index=False)
|
||||
pns = m.iloc[np.sort(ap.target_neuron_idx.unique().astype(np.int32))].copy()
|
||||
pns['eligible_for_diagnostic'] = pns.neuron_idx.isin(eligible)
|
||||
pns.to_parquet(exp/'audit/all-259-APL-target-PNs.parquet', index=False)
|
||||
roi = pk.assign(in_scope=keep).groupby(['primary_post', 'in_scope'], observed=True, dropna=False).size().reset_index(name='contacts')
|
||||
roi.to_csv(exp/'audit/ROI-partition.csv', index=False)
|
||||
summary = {'neurons': len(m), 'edges': len(dst), 'raw_contacts': int(raw.sum()), 'APL_target_PNs': len(pns),
|
||||
'eligible_PNs': len(eligible), 'ineligible_PNs': int((~pns.eligible_for_diagnostic).sum()),
|
||||
'calyx_mask_edges': len(ca), 'calyx_blocked_contacts': int(ca.blocked_contact_count.sum()),
|
||||
'calyx_affected_KCs': int(ca.target_neuron_idx.nunique()), 'mixed_CA_nonCA_edges': int((ca.retained_contact_count > 0).sum()),
|
||||
'calyx_other_contacts_retained_on_affected_edges': int(ca.retained_contact_count.sum()),
|
||||
'all_PN_KC_edges': len(all_pk), 'all_PN_KC_contacts': int(raw[all_pk].sum()),
|
||||
'whole_PN_edges': len(whole), 'whole_PN_contacts': int(raw[whole].sum()),
|
||||
'unknown_ROI_contacts_in_original_PN_KC': int(pk.primary_post.eq('CentralBrain-unspecified').sum()),
|
||||
'unknown_contacts_relabelled': 0, 'same_bouton_confirmed': False, 'biophysical_coefficient_known': False}
|
||||
save(exp/'audit/scope-summary.json', summary)
|
||||
inputs = [prior/'localization/APL-incident.parquet', prior/'localization/APL-target-PN-to-KC.parquet',
|
||||
prior/'external-resources/synaptic-partners/download-verification.json',
|
||||
can/'neuron-index/unified-metadata.parquet'] + list((can/'gpu').glob('csr-*.npy'))
|
||||
save(exp/'protocol/input-hashes.json', [{'path': str(p.relative_to(root)), 'sha256': digest(p), 'bytes': p.stat().st_size} for p in inputs])
|
||||
save(exp/'protocol/mask-hashes.json', {p.name: digest(p) for p in sorted((exp/'masks').iterdir())})
|
||||
print(json.dumps(summary), flush=True)
|
||||
|
||||
|
||||
def run():
|
||||
cfg, root, model, exp, save, digest, _, _ = load_context()
|
||||
pre = json.loads((exp/'protocol/preregistered.json').read_text())
|
||||
assert all(digest(model/n) == h for n, h in pre['source_hashes'].items()), 'Source changed since preregistration'
|
||||
assert not (exp/'regression/run-start.json').exists(), 'Refusing rerun into existing outputs'
|
||||
assert all(digest(exp/'masks'/n) == h for n, h in json.loads((exp/'protocol/mask-hashes.json').read_text()).items())
|
||||
q = queues(); runtime = root/cfg['runtime']
|
||||
pc = yaml.safe_load((runtime/'phase4p.yaml').read_text())
|
||||
os.environ['CUDA_VISIBLE_DEVICES'] = pc['device']['visible_gpu_uuid']
|
||||
os.environ['CUDA_HOME'] = '/usr/local/cuda'; os.environ['TORCH_CUDA_ARCH_LIST'] = '8.9'; os.environ['MAX_JOBS'] = '2'
|
||||
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
|
||||
import phase4p, phase4v, phase4z
|
||||
from phase4p_revalidate import DeterministicAPLSim, door_inputs, make_drive
|
||||
from phase4r import arrhash
|
||||
free, total = torch.cuda.mem_get_info(); assert free > 2*1024**3
|
||||
save(exp/'regression/run-start.json', {'ComfyUI_queues': q, 'free_VRAM': free, 'total_VRAM': total,
|
||||
'device': torch.cuda.get_device_name(), 'timestamp_utc': datetime.now(timezone.utc).isoformat()})
|
||||
start = time.perf_counter(); torch.cuda.reset_peak_memory_stats()
|
||||
rt = phase4p.CanonicalRuntime(pc, runtime, exp)
|
||||
sim = DeterministicAPLSim(rt); sim.install(None)
|
||||
assert len(sim.identity) == 14232 and sim.n == 166700 and len(rt.raw_np) == 25582938 and rt.delay_steps == 18
|
||||
frozen = rt.weights.cpu().numpy().copy(); anatomical_hash = arrhash(rt.raw_np)
|
||||
original_install = sim.install
|
||||
apl_input_hash = arrhash(sim.input_gpu.cpu().numpy(), sim.output_gpu.cpu().numpy())
|
||||
base_hash = arrhash(sim.base.cpu().numpy())
|
||||
masks = {n: pd.read_parquet(exp/'masks'/f'{n}.parquet') for n in cfg['conditions'][1:]}
|
||||
updates = {}
|
||||
for name, mask in masks.items():
|
||||
ids = mask.edge_id.to_numpy(np.int64)
|
||||
values = blocked_weights(frozen[ids], rt.raw_np[ids], mask.blocked_contact_count.to_numpy(np.int64))
|
||||
assert np.all(np.abs(values) <= np.abs(frozen[ids]))
|
||||
updates[name] = (torch.as_tensor(ids, device=rt.device), torch.as_tensor(values, device=rt.device))
|
||||
mask.assign(frozen_effective_weight=frozen[ids], diagnostic_effective_weight=values,
|
||||
diagnostic_delta=(values.astype(float)-frozen[ids])).to_parquet(exp/'audit'/f'{name}-effective-overlay.parquet', index=False)
|
||||
condition = 'frozen_reference'
|
||||
def install(E):
|
||||
assert E is None, 'No learning allowed'
|
||||
original_install(None)
|
||||
if condition != 'frozen_reference':
|
||||
ix, values = updates[condition]; rt.weights[ix] = values
|
||||
sim.install = install
|
||||
vc = yaml.safe_load((root/cfg['input_model']/'phase4v.yaml').read_text())
|
||||
assert vc['short_duration_ms'] == 120 and vc['observation_duration_ms'] == 1000
|
||||
oldwatch = json.loads((root/cfg['event_prior']/'protocol/watched.json').read_text())
|
||||
watch = np.asarray(oldwatch['all_watched'], np.int32)
|
||||
targetkc = np.unique(sim.identity.loc[sim.identity.compartment.eq(vc['target_compartment']), 'source_neuron_idx'].to_numpy(np.int32))
|
||||
oc, panel, vectors, selection, mapping = door_inputs(); panel = panel[panel.split == 'calibration'].reset_index(drop=True)
|
||||
assert len(panel) == 6
|
||||
save(exp/'protocol/calibration-panel.json', panel.to_dict('records'))
|
||||
codes = phase4z.role_codes(sim.meta)
|
||||
trials, regress, request_summary, populations, watched, hashes = [], [], [], [], [], []
|
||||
baseline0 = None
|
||||
try:
|
||||
for oi in cfg['odor_indices']:
|
||||
odor = panel.iloc[oi]
|
||||
targets, rates = make_drive(oc, panel, vectors, selection, mapping, odor.odor_id, 'physiological')
|
||||
forcing_seed = vc['seed_namespace'] + oi*vc['odor_seed_offset'] + cfg['seed']
|
||||
force = phase4v.forcing(sim, targets, rates, forcing_seed, vc, 'offset'); ff = force.cpu().numpy()
|
||||
hashes.append({'odor_index': oi, 'seed': forcing_seed, 'forcing': arrhash(ff), 'targets_rates': arrhash(targets, rates)})
|
||||
np.savez_compressed(exp/'requests'/f'{oi}-scheduled.npz', forcing=ff, targets=targets, rates=rates)
|
||||
requests0 = None
|
||||
for condition in cfg['conditions']:
|
||||
queues(); name = f'{oi}-{cfg["seed"]}-{condition}'
|
||||
obs = phase4z.Observer(rt, watch, ff, targets); obs.attach()
|
||||
try: result = phase4v.observed(sim, targets, force, targetkc, vc)
|
||||
finally: obs.detach()
|
||||
assert result['finite'] and np.isfinite(result['final_v']).all() and np.isfinite(result['final_g']).all()
|
||||
ev = obs.events(); states = np.asarray(obs.states); req = pd.DataFrame(obs.request_rows)
|
||||
assert len(req) == int(ff.sum())
|
||||
assert np.array_equal(np.bincount(ev.neuron_idx, minlength=sim.n), result['counts'])
|
||||
expected_weights = frozen.copy()
|
||||
if condition != 'frozen_reference':
|
||||
ids = masks[condition].edge_id.to_numpy(np.int64)
|
||||
expected_weights[ids] = updates[condition][1].cpu().numpy()
|
||||
assert np.array_equal(rt.weights.cpu().numpy(), expected_weights), 'Undeclared weight change'
|
||||
row = {'trial': name, 'declared_weight_scope_exact': True}
|
||||
if condition == 'frozen_reference':
|
||||
old_ev = pd.read_parquet(root/cfg['event_prior']/'events'/f'{name}-whole-brain.parquet')
|
||||
old_state = np.load(root/cfg['event_prior']/'states'/f'{name}-watched.npz')
|
||||
old_final = np.load(root/cfg['state_prior']/'states'/f'{name}.npz')
|
||||
row['prior_exact'] = {'events': ev.equals(old_ev), 'watched_states': np.array_equal(states, old_state['state']),
|
||||
**{key: bool(np.array_equal(result[key], old_final[key])) for key in ('counts', 'final_v', 'final_g', 'trace')}}
|
||||
assert all(row['prior_exact'].values()), row
|
||||
requests0 = req
|
||||
if oi == cfg['repeat_odor_index']: baseline0 = ev, states, req, result
|
||||
paired = requests0.merge(req, on=['step', 'neuron_idx'], suffixes=('_ref', '_diagnostic'), validate='one_to_one', how='outer', indicator=True)
|
||||
assert paired['_merge'].eq('both').all()
|
||||
request_summary.append({'trial': name, 'scheduled': len(req), 'identical_request_keys': True,
|
||||
'accepted': int(req.status.eq('accepted').sum()), 'blocked': int(req.status.eq('blocked').sum()), 'preexisting': int(req.status.eq('preexisting').sum()),
|
||||
'status_differences_vs_reference': int((paired.status_ref != paired.status_diagnostic).sum()),
|
||||
'actual_output_differences_vs_reference': int((paired.actual_output_spike_ref != paired.actual_output_spike_diagnostic).sum())})
|
||||
late = ev[ev.step >= round(cfg['late_start_ms']/rt.dt)]
|
||||
period_count = np.bincount(late.neuron_idx, minlength=sim.n)
|
||||
for code in np.unique(codes):
|
||||
nodes = np.flatnonzero(codes == code)
|
||||
populations.append({'trial': name, 'population': str(code), 'neurons': len(nodes), 'active': int((result['counts'][nodes] > 0).sum()),
|
||||
'spikes': int(result['counts'][nodes].sum()), 'late_spikes': int(period_count[nodes].sum())})
|
||||
for node in watch:
|
||||
watched.append({'trial': name, 'neuron_idx': int(node), 'body_id': int(sim.meta.iloc[node].body_id),
|
||||
'type': str(sim.meta.iloc[node].annotation_type), 'population': str(codes[node]),
|
||||
'spikes': int(result['counts'][node]), 'late_spikes': int(period_count[node]),
|
||||
'late_rate_hz': float(period_count[node]/((1000-cfg['late_start_ms'])/1000))})
|
||||
trials.append({'trial': name, 'odor_index': oi, 'odor_name': str(odor.odor_name), 'seed': cfg['seed'], 'condition': condition,
|
||||
'whole_spikes': len(ev), 'KC_active': int(np.count_nonzero(result['counts'][sim.kc])),
|
||||
'KC_active_fraction': float(np.count_nonzero(result['counts'][sim.kc])/len(sim.kc)),
|
||||
'KC_spikes': int(result['counts'][sim.kc].sum()), 'KC_late_spikes': int(period_count[sim.kc].sum()),
|
||||
'KC82312_late_spikes': int(period_count[cfg['target_KC']]), 'VA6_late_spikes': int(period_count[cfg['watched_VA6']]),
|
||||
'finite': True, 'wall_seconds': result['wall_seconds'], 'biological_ms': 1000})
|
||||
ev.to_parquet(exp/'events'/f'{name}.parquet', index=False)
|
||||
req.to_parquet(exp/'requests'/f'{name}.parquet', index=False)
|
||||
pd.DataFrame(result['samples']).to_parquet(exp/'observations'/f'{name}.parquet', index=False)
|
||||
np.savez_compressed(exp/'states'/f'{name}.npz', counts=result['counts'], final_v=result['final_v'], final_g=result['final_g'], trace=result['trace'])
|
||||
np.savez_compressed(exp/'states'/f'{name}-watched.npz', state=states, watch=watch)
|
||||
if oi == cfg['repeat_odor_index']:
|
||||
queues(); again = phase4z.Observer(rt, watch, ff, targets); again.attach()
|
||||
try: repeat = phase4v.observed(sim, targets, force, targetkc, vc)
|
||||
finally: again.detach()
|
||||
row['repeat_exact'] = {'events': ev.equals(again.events()), 'states': np.array_equal(states, again.states),
|
||||
'requests': req.equals(pd.DataFrame(again.request_rows)),
|
||||
**{key: bool(np.array_equal(result[key], repeat[key])) for key in ('counts', 'final_v', 'final_g', 'trace')}}
|
||||
assert all(row['repeat_exact'].values()), row
|
||||
regress.append(row); save(exp/'regression'/f'{name}.json', row)
|
||||
print(json.dumps(trials[-1]), flush=True)
|
||||
# Fixed-event replay is an independent direct-operator check, not the dynamic whole-brain result.
|
||||
replay_check(cfg, exp, sim, masks, frozen, baseline0, watch, phase4z, save)
|
||||
finally:
|
||||
sim.install = original_install; original_install(None)
|
||||
assert np.array_equal(rt.weights.cpu().numpy(), frozen)
|
||||
assert arrhash(rt.raw_np) == anatomical_hash and arrhash(sim.base.cpu().numpy()) == base_hash
|
||||
assert arrhash(sim.input_gpu.cpu().numpy(), sim.output_gpu.cpu().numpy()) == apl_input_hash
|
||||
save(exp/'regression/restored.json', {'base': True, 'raw': True, 'APL_matrices': True, 'frozen_effective_weights': True})
|
||||
for name, rows in [('trials', trials), ('request-comparison', request_summary), ('population-counts', populations), ('watched-counts', watched)]:
|
||||
pd.DataFrame(rows).to_csv(exp/'audit'/f'{name}.csv', index=False)
|
||||
save(exp/'protocol/forcing-hashes.json', hashes)
|
||||
# Separate reference trials do not include the graded APL overlay, exactly as archived.
|
||||
rt.weights.copy_(sim.base)
|
||||
reference = []
|
||||
for spec in pc['reference_trials']:
|
||||
queues(); ref = root/'experiments/phase4p-deterministic-runtime/phase4c-v2/reference'/spec['name']
|
||||
ev = pd.read_parquet(ref/'spike-events.parquet')
|
||||
expected = {'step': ev.step.to_numpy(), 'neuron_idx': ev.neuron_idx.to_numpy(),
|
||||
'counts': np.load(ref/'per-neuron-spike-counts.int32.npy'), 'v': np.load(ref/'final-voltage.float32.npy'), 'g': np.load(ref/'final-g.float32.npy')}
|
||||
r = rt.run(np.flatnonzero(rt.pops[spec['population']]), spec['rate_hz'], spec['seed'], spec['duration_ms'])
|
||||
eq = {key: bool(np.array_equal(r[key], value)) for key, value in expected.items()}
|
||||
assert all(eq.values()), eq
|
||||
reference.append({'trial': spec['name'], 'exact': eq, 'wall_seconds': r['metrics']['wall_seconds']})
|
||||
original_install(None)
|
||||
save(exp/'regression/five-frozen-trials.json', {'pass': True, 'trials': reference, 'original_v1_preserved': True, 'oracle': 'frozen deterministic-v2'})
|
||||
save(exp/'performance/summary.json', {'wall_seconds_including_build': time.perf_counter()-start,
|
||||
'peak_VRAM_bytes': int(torch.cuda.max_memory_allocated()), 'device': torch.cuda.get_device_name(),
|
||||
'diagnostic_overhead_included': True, 'not_runtime_benchmark': True, 'ComfyUI_models_unloaded': False})
|
||||
save(exp/'audit/run-complete.json', {'trials': len(trials), 'exact_repeat_trials': 4, 'old_trial_reproductions': 6,
|
||||
'frozen_reference_trials': 5, 'all_finite': True, 'candidate': False, 'training': False})
|
||||
|
||||
|
||||
def replay_check(cfg, exp, sim, masks, frozen, baseline, watch, phase4z, save):
|
||||
ev, state, req, result = baseline; rt = sim.rt; T = len(state)
|
||||
ids = np.flatnonzero(np.isin(rt.indices_np, watch))
|
||||
edges = pd.DataFrame({'edge_id': ids, 'source_neuron_idx': sim.sources[ids], 'target_neuron_idx': rt.indices_np[ids], 'weight': frozen[ids]})
|
||||
arrivals = ev.merge(edges, left_on='neuron_idx', right_on='source_neuron_idx')
|
||||
arrivals['arrival_step'] = arrivals.step + rt.delay_steps
|
||||
arrivals = arrivals[arrivals.arrival_step < T].sort_values(['target_neuron_idx', 'arrival_step', 'edge_id'], kind='stable')
|
||||
rows = []
|
||||
for wi, node in enumerate(watch):
|
||||
subset = arrivals[arrivals.target_neuron_idx == node].copy()
|
||||
after = np.r_[state[1:, 1, wi], result['final_g'][node]]
|
||||
overlay = after.astype(float)-state[:, 5, wi].astype(float)
|
||||
request = np.zeros(T, bool); rq = req[req.neuron_idx == node]; request[rq.step.to_numpy(np.int32)] = True
|
||||
base_arrival = state[:, 3, wi]
|
||||
for name in cfg['conditions']:
|
||||
weights = subset.weight.to_numpy(np.float32).copy()
|
||||
if name != 'frozen_reference':
|
||||
frame = masks[name]; eids = frame.edge_id.to_numpy(np.int64)
|
||||
values = blocked_weights(frozen[eids], rt.raw_np[eids], frame.blocked_contact_count.to_numpy(np.int64))
|
||||
lookup = pd.Series(values, index=eids)
|
||||
mapped = subset.edge_id.map(lookup); keep = mapped.notna().to_numpy()
|
||||
weights[keep] = mapped[keep].to_numpy(np.float32)
|
||||
subset['diagnostic_weight'] = weights
|
||||
a = np.zeros(T, np.float32)
|
||||
for step, group in subset.groupby('arrival_step', sort=False):
|
||||
a[int(step)] = np.cumsum(group.diagnostic_weight.to_numpy(np.float32), dtype=np.float32)[-1]
|
||||
rr = phase4z.replay(a, overlay, request, rt)
|
||||
if name == 'frozen_reference':
|
||||
exact = np.array_equal(a, base_arrival) and np.array_equal(rr[0], ev.loc[ev.neuron_idx == node, 'step']) and np.array_equal(rr[1], state[:, 4:7, wi])
|
||||
assert exact and rr[2] == result['final_v'][node] and rr[3] == result['final_g'][node]
|
||||
unchanged = np.array_equal(a, base_arrival)
|
||||
if name == 'calyx_PN_KC_contact_block' and node not in sim.kc: assert unchanged
|
||||
rows.append({'condition': name, 'neuron_idx': int(node), 'arrival_unchanged': bool(unchanged),
|
||||
'arrival_L1_difference': float(np.abs(a.astype(float)-base_arrival).sum()),
|
||||
'conditional_late_spikes': int((rr[0] >= round(cfg['late_start_ms']/rt.dt)).sum()),
|
||||
'all_other_recorded_events_and_APL_fixed': True, 'whole_brain_causality_claim': False})
|
||||
pd.DataFrame(rows).to_csv(exp/'replay/fixed-event-scope.csv', index=False)
|
||||
save(exp/'regression/fixed-event-replay.json', {'baseline_exact_neurons': len(watch), 'terminal_nonKC_arrivals_exact': True})
|
||||
|
||||
|
||||
def finalize():
|
||||
cfg, root, model, exp, save, digest, immutable_check, seal = load_context()
|
||||
assert (exp/'audit/run-complete.json').exists()
|
||||
pre = json.loads((exp/'protocol/preregistered.json').read_text())
|
||||
assert all(digest(model/n) == h for n, h in pre['source_hashes'].items())
|
||||
post = integrity(cfg, root, digest, immutable_check)
|
||||
assert post == json.loads((exp/'regression/preflight.json').read_text())
|
||||
save(exp/'regression/final-integrity.json', post)
|
||||
q = queues(); save(exp/'audit/final-service-health.json', {'ComfyUI_queues': q, 'services_stopped': False})
|
||||
trials = pd.read_csv(exp/'audit/trials.csv'); scope = json.loads((exp/'audit/scope-summary.json').read_text())
|
||||
requests = pd.read_csv(exp/'audit/request-comparison.csv')
|
||||
lines = ['# Phase 4AB — calyx contact-scope diagnostic', '',
|
||||
'Status: COMPLETE-SCOPE-COUNTERFACTUAL / NO-DYNAMICS-CANDIDATE.',
|
||||
'Diagnostic interventions only; no calibrated biological inhibition, no training, no parameter winner.', '',
|
||||
f"Eligible PNs: {scope['eligible_PNs']}/259. CA mask: {scope['calyx_mask_edges']} edges / {scope['calyx_blocked_contacts']} contacts.",
|
||||
f"Affected KCs: {scope['calyx_affected_KCs']}. Mixed-ROI affected edges: {scope['mixed_CA_nonCA_edges']}; retained other contacts: {scope['calyx_other_contacts_retained_on_affected_edges']}.",
|
||||
f"Broader PN→KC control: {scope['all_PN_KC_edges']} edges / {scope['all_PN_KC_contacts']} contacts. All-fast-PN-output control: {scope['whole_PN_edges']} edges / {scope['whole_PN_contacts']} contacts.", '',
|
||||
'| Odor | Condition | Active KC | KC late spikes | KC82312 late | VA6 late |',
|
||||
'|---|---|---:|---:|---:|---:|']
|
||||
for r in trials.itertuples():
|
||||
lines.append(f'| {r.odor_name} | {r.condition} | {r.KC_active} | {r.KC_late_spikes} | {r.KC82312_late_spikes} | {r.VA6_late_spikes} |')
|
||||
lines += ['', 'Late means 500–1,000 ms; 120 ms old calibration odor input; one seed, six old odors. No held-out generalization claim.',
|
||||
f"Identical scheduled requests across conditions. Delivered request-associated output differences versus reference: {int(requests.actual_output_differences_vs_reference.sum())} (summed over all comparisons). See per-trial table; this is state/refractory feedback, not a changed RNG.", '',
|
||||
'## Interpretation limits', '',
|
||||
'CA selection uses exact primary_post labels plus matched APL→PN/ROI metadata, not bouton identities or inferred receptors. Unknown ROIs are not reclassified.',
|
||||
'Whole-PN control removes fast output, not somatic spikes or the frozen graded APL input. It is not a complete PN knockout.',
|
||||
'Reduction/silencing is not restored information or associative memory. No condition becomes a formal model. Fixed-event replay freezes other recorded events/APL; dynamic trials allow natural recurrent feedback.',
|
||||
'Local-inhibition motivation: [Prisco et al.](https://doi.org/10.7554/eLife.74172), [Amin et al.](https://doi.org/10.7554/eLife.56954). These sources do not establish the complete-block operator as physiological.', '',
|
||||
'## Verification', '',
|
||||
'Six original trials reproduced exactly (whole spike events, watched state and final counts/V/g). Four first-odor repeats exact. Five deterministic-v2 frozen reference trials exact. Finite state throughout.',
|
||||
'Original 230,239 files and both Phase 4AA manifests rechecked before/after. Base CSR/count/sign, frozen LIF/APL, eligibility-v2 and 14,232 plastic mask preserved.',
|
||||
'Timing includes diagnostic CPU/GPU observation overhead and is not a runtime speed benchmark. ComfyUI was not stopped or unloaded.',
|
||||
'Top-level acceptance gates remain 5/10 (50%); anatomical diagnosis is not evidence of learning success.']
|
||||
(exp/'REPORT.md').write_text('\n'.join(lines)+'\n', encoding='utf-8')
|
||||
save(exp/'audit/final-summary.json', {'status': 'COMPLETE-SCOPE-COUNTERFACTUAL / NO-DYNAMICS-CANDIDATE',
|
||||
'integrity_pass': True, 'reference_pass': True, 'scope': scope, 'candidate': False, 'training': False,
|
||||
'preserved_acceptance_gates': '5/10', 'frozen_baseline_modified': False})
|
||||
for folder in (model, exp):
|
||||
count = seal(folder); assert manifest_check(folder, digest)['pass']; print('SEALED', folder, count, flush=True)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser(); parser.add_argument('task', choices=['prepare', 'run', 'finalize'])
|
||||
globals()[parser.parse_args().task]()
|
||||
@@ -0,0 +1,22 @@
|
||||
"""Record executable/package/hardware versions without installing anything."""
|
||||
import importlib.metadata
|
||||
import platform
|
||||
from pathlib import Path
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
MODEL = Path('/data/digital-drosophila/models/male-cns-lif/terminal-scope-diagnostic-v1')
|
||||
EXP = Path('/data/digital-drosophila/experiments/phase4ab-terminal-scope')
|
||||
sys.path.insert(0, str(MODEL))
|
||||
import diagnostic
|
||||
_, _, _, _, save, digest, _, _ = diagnostic.load_context()
|
||||
packages = {}
|
||||
for name in ('torch', 'numpy', 'pandas', 'pyarrow', 'scipy', 'PyYAML', 'ninja'):
|
||||
try: packages[name] = importlib.metadata.version(name)
|
||||
except importlib.metadata.PackageNotFoundError: packages[name] = None
|
||||
gpu = subprocess.check_output(['nvidia-smi', '--query-gpu=index,name,uuid,driver_version,memory.total', '--format=csv,noheader'], text=True)
|
||||
nvcc = subprocess.check_output(['/usr/local/cuda/bin/nvcc', '--version'], text=True)
|
||||
save(EXP/'protocol/environment.json', {'python': sys.version, 'executable': sys.executable,
|
||||
'platform': platform.platform(), 'packages': packages, 'GPU_inventory': gpu, 'nvcc': nvcc,
|
||||
'installed_or_upgraded_packages': False, 'source_sha256': digest(Path(__file__))})
|
||||
print(packages)
|
||||
@@ -0,0 +1,32 @@
|
||||
"""Explicit frozen module paths; repairs launch only, never scientific source."""
|
||||
import os
|
||||
from pathlib import Path
|
||||
import sys
|
||||
|
||||
ROOT = Path('/data/digital-drosophila')
|
||||
MODEL = ROOT/'models/male-cns-lif/terminal-scope-diagnostic-v1'
|
||||
EXP = ROOT/'experiments/phase4ab-terminal-scope'
|
||||
PARENT = ROOT/'models/male-cns-lif'
|
||||
names = ['deterministic-runtime-v2', 'credit-v3', 'timing-audit-v1', 'timing-credit-v1',
|
||||
'timing-stability-v1', 'odor-timing-generalization-v1', 'csus-audit-v1',
|
||||
'late-kc-audit-v1', 'dpm-hypothesis-v1', 'pn-feedback-audit-v1', 'transmitter-audit-v1']
|
||||
sys.path[:0] = [str(MODEL), str(PARENT)] + [str(PARENT/n) for n in names]
|
||||
os.environ['PYTHONDONTWRITEBYTECODE'] = '1'
|
||||
import diagnostic
|
||||
_, _, _, _, save, digest, _, _ = diagnostic.load_context()
|
||||
save(EXP/'protocol/launch-addendum.json', {
|
||||
'previous_attempt': 'ModuleNotFoundError: phase4v before run-start and before simulation',
|
||||
'only_fix': 'Add explicit existing frozen dependency directories to module lookup',
|
||||
'model_source_edited': False, 'protocol_parameters_changed': False,
|
||||
'launcher_sha256': digest(Path(__file__)), 'module_paths': [str(PARENT/n) for n in names]})
|
||||
try:
|
||||
diagnostic.run()
|
||||
finally:
|
||||
loaded = {}
|
||||
for name, mod in list(sys.modules.items()):
|
||||
filename = getattr(mod, '__file__', None)
|
||||
if filename:
|
||||
p = Path(filename)
|
||||
if p.is_file() and p.is_relative_to(PARENT) and '.venv' not in p.parts:
|
||||
loaded[name] = {'path': str(p.relative_to(ROOT)), 'sha256': digest(p)}
|
||||
save(EXP/'protocol/imported-code-hashes.json', loaded)
|
||||
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"created_utc": "2026-09-29T16:26:06.650270+00:00",
|
||||
"files": [
|
||||
{
|
||||
"bytes": 4956,
|
||||
"path": "PROTOCOL.md",
|
||||
"sha256": "451b53b128eb0ad67acb81f060f3676794a68c98637dd2c0eddd137da509fccf"
|
||||
},
|
||||
{
|
||||
"bytes": 2083,
|
||||
"path": "README.md",
|
||||
"sha256": "2842b5dd94ed30fc01d1a8b8d95e235de78695d3d1c1076402499276fb903261"
|
||||
},
|
||||
{
|
||||
"bytes": 6922,
|
||||
"path": "analyze.py",
|
||||
"sha256": "33ba5f323e9ed3343f43a8d64fb7e862c8a4f1118b9b441f4745e26cc14303a8"
|
||||
},
|
||||
{
|
||||
"bytes": 835,
|
||||
"path": "config.yaml",
|
||||
"sha256": "e22088d9847504a50c0e684d2cee9420f484ab1ebef9d6057921062d8f785e73"
|
||||
},
|
||||
{
|
||||
"bytes": 28229,
|
||||
"path": "diagnostic.py",
|
||||
"sha256": "c8ec2ae6e72d35fedbd42acc6e6b5e7af2634d5b9805dc20e777b172c55d5aa4"
|
||||
},
|
||||
{
|
||||
"bytes": 1193,
|
||||
"path": "environment.py",
|
||||
"sha256": "be92ce24e63910f67da0238b19e3abb882e1afd317561fccf01734f1b4a56f25"
|
||||
},
|
||||
{
|
||||
"bytes": 1608,
|
||||
"path": "launch.py",
|
||||
"sha256": "0b2f71365267886933ba5becb52f4123d3d4e95e9c5bc0cf19c9bf0563831625"
|
||||
},
|
||||
{
|
||||
"bytes": 1644,
|
||||
"path": "publish.py",
|
||||
"sha256": "bc194bb857336908b1c3fe71cc0e7b7fe4152794745bd3443533d47da886f5ec"
|
||||
},
|
||||
{
|
||||
"bytes": 2797,
|
||||
"path": "scope.py",
|
||||
"sha256": "8f5774496dcceaee1c2793a5308754cbd0864c4a38d507481071d988f9de424d"
|
||||
},
|
||||
{
|
||||
"bytes": 2615,
|
||||
"path": "test_scope.py",
|
||||
"sha256": "38a1c6e653ae97e77e5feda3ee8f2f8a3c366755bfbbd57ca1373b9b8f971bbb"
|
||||
},
|
||||
{
|
||||
"bytes": 2032,
|
||||
"path": "validate.py",
|
||||
"sha256": "971136a667367a84cfc50ebc3fa73a749eddb8b8e1ca6931708ba67bfc12f0c1"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
"""Copy only new small sealed evidence into Git; never copy bulk datasets."""
|
||||
import json
|
||||
from pathlib import Path
|
||||
import shutil
|
||||
import sys
|
||||
|
||||
ROOT = Path('/data/digital-drosophila'); MODEL = ROOT/'models/male-cns-lif/terminal-scope-diagnostic-v1'
|
||||
EXP = ROOT/'experiments/phase4ab-terminal-scope'
|
||||
sys.path.insert(0, str(MODEL))
|
||||
import diagnostic
|
||||
_, _, _, _, save, digest, _, _ = diagnostic.load_context()
|
||||
for folder in (MODEL, EXP):
|
||||
assert diagnostic.manifest_check(folder, digest)['pass']
|
||||
registry = ROOT/'registry/phase4ab-terminal-scope'; registry.mkdir(exist_ok=False)
|
||||
records = []
|
||||
for p in sorted(EXP.rglob('*')):
|
||||
if not p.is_file() or p.suffix not in ('.json', '.csv', '.md', '.sha256') or p.stat().st_size > 4*1024**2:
|
||||
continue
|
||||
dst = registry/'evidence'/p.relative_to(EXP); dst.parent.mkdir(parents=True, exist_ok=True)
|
||||
with p.open('rb') as src, dst.open('xb') as out: shutil.copyfileobj(src, out)
|
||||
assert digest(p) == digest(dst)
|
||||
records.append({'source': str(p.relative_to(ROOT)), 'copy': str(dst.relative_to(registry)),
|
||||
'sha256': digest(p), 'bytes': p.stat().st_size})
|
||||
save(registry/'evidence-index.json', records)
|
||||
save(registry/'seal-verification.json', {str(p.relative_to(ROOT)): diagnostic.manifest_check(p, digest) for p in (MODEL, EXP)})
|
||||
for source, dest in [('INTERPRETATION.zh.md', 'phase4ab-terminal-scope.md'), ('REPORT.md', 'phase4ab-technical-results.md')]:
|
||||
target = ROOT/'docs/progress'/dest
|
||||
with (EXP/source).open('rb') as src, target.open('xb') as out: shutil.copyfileobj(src, out)
|
||||
print('Published', len(records), 'small evidence copies; no data copied to Git')
|
||||
@@ -0,0 +1,53 @@
|
||||
"""Pure CPU contact accounting and immutable diagnostic weight operations."""
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
|
||||
|
||||
def contact_scope(apl_pn, pn_kc, rois):
|
||||
"""Only exact, observed PN+postsynaptic-ROI pairs; no side/name inference."""
|
||||
required = {'source_neuron_idx', 'target_neuron_idx', 'primary_post'}
|
||||
if not required.issubset(apl_pn) or not required.issubset(pn_kc):
|
||||
raise ValueError('Actual schema lacks required identifiers/primary_post')
|
||||
permitted = apl_pn.loc[apl_pn.primary_post.isin(rois),
|
||||
['target_neuron_idx', 'primary_post']].drop_duplicates()
|
||||
permitted = permitted.rename(columns={'target_neuron_idx': 'source_neuron_idx'})
|
||||
keys = pd.MultiIndex.from_frame(permitted.astype({'primary_post': 'string'}))
|
||||
observed = pd.MultiIndex.from_frame(pn_kc[['source_neuron_idx', 'primary_post']]
|
||||
.astype({'primary_post': 'string'}))
|
||||
keep = observed.isin(keys)
|
||||
pairs = ['source_neuron_idx', 'target_neuron_idx']
|
||||
total = pn_kc.groupby(pairs, observed=True).size().rename('raw_partner_count')
|
||||
ca = pn_kc.loc[keep].groupby(pairs, observed=True).size().rename('blocked_contact_count')
|
||||
frame = total.to_frame().join(ca).fillna(0).reset_index()
|
||||
for key in pairs + ['raw_partner_count', 'blocked_contact_count']:
|
||||
frame[key] = frame[key].astype(np.int64)
|
||||
frame['retained_contact_count'] = frame.raw_partner_count - frame.blocked_contact_count
|
||||
assert (frame.retained_contact_count >= 0).all()
|
||||
return frame, permitted, keep
|
||||
|
||||
|
||||
def edge_ids_for_pairs(frame, ptr, dst):
|
||||
out = []
|
||||
for s, t in frame[['source_neuron_idx', 'target_neuron_idx']].itertuples(index=False, name=None):
|
||||
ids = np.arange(ptr[s], ptr[s + 1], dtype=np.int64)
|
||||
found = ids[dst[ids] == t]
|
||||
if len(found) != 1:
|
||||
raise ValueError(f'Expected exactly one existing CSR edge for {s}->{t}')
|
||||
out.append(found[0])
|
||||
return np.asarray(out, np.int64)
|
||||
|
||||
|
||||
def blocked_weights(base, raw, contacts):
|
||||
base = np.asarray(base)
|
||||
raw = np.asarray(raw)
|
||||
contacts = np.asarray(contacts)
|
||||
if base.dtype != np.float32 or raw.dtype != np.int64 or contacts.dtype != np.int64:
|
||||
raise TypeError('Expected float32 effective weight and int64 anatomical counts')
|
||||
if base.shape != raw.shape or raw.shape != contacts.shape:
|
||||
raise ValueError('Shape mismatch')
|
||||
if not np.isfinite(base).all() or np.any(raw <= 0) or np.any(contacts < 0) or np.any(contacts > raw):
|
||||
raise ValueError('Invalid contact partition or weights')
|
||||
out = base.copy()
|
||||
m = contacts > 0 # No-op copies original bits; no rounding at strength zero.
|
||||
out[m] = (base[m].astype(np.float64) * (raw[m] - contacts[m]) / raw[m]).astype(np.float32)
|
||||
return out
|
||||
@@ -0,0 +1,52 @@
|
||||
import unittest
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
from scope import contact_scope, edge_ids_for_pairs, blocked_weights
|
||||
|
||||
|
||||
class ScopeTests(unittest.TestCase):
|
||||
def test_roi_and_side_not_guessed(self):
|
||||
apl = pd.DataFrame({'source_neuron_idx': [0, 0, 1], 'target_neuron_idx': [3, 3, 4],
|
||||
'primary_post': ['CA(R)', 'CentralBrain-unspecified', 'CA(L)']})
|
||||
pn = pd.DataFrame({'source_neuron_idx': [3, 3, 3, 4, 4], 'target_neuron_idx': [5]*5,
|
||||
'primary_post': ['CA(R)', 'CA(L)', None, 'CA(R)', 'CA(L)']})
|
||||
pairs, allowed, keep = contact_scope(apl, pn, ['CA(L)', 'CA(R)'])
|
||||
self.assertEqual(keep.tolist(), [True, False, False, False, True])
|
||||
self.assertEqual(pairs.blocked_contact_count.tolist(), [1, 1])
|
||||
self.assertEqual(pairs.retained_contact_count.tolist(), [2, 1])
|
||||
self.assertEqual(len(allowed), 2)
|
||||
|
||||
def test_zero_identity_and_nonmutation(self):
|
||||
w = np.array([.275, -3.14159, 0, -0.0], np.float32)
|
||||
raw = np.array([1, 43, 10, 1], np.int64)
|
||||
old = w.tobytes(), raw.tobytes()
|
||||
result = blocked_weights(w, raw, np.zeros(4, np.int64))
|
||||
self.assertEqual(w.tobytes(), result.tobytes())
|
||||
self.assertEqual((w.tobytes(), raw.tobytes()), old)
|
||||
|
||||
def test_partial_and_full(self):
|
||||
w = np.array([2., -4., 0., 1.], np.float32)
|
||||
raw = np.array([4, 4, 3, 7], np.int64)
|
||||
result = blocked_weights(w, raw, np.array([1, 4, 2, 0], np.int64))
|
||||
np.testing.assert_array_equal(result, np.array([1.5, -0., 0., 1.], np.float32))
|
||||
np.testing.assert_array_equal(w, np.array([2., -4., 0., 1.], np.float32))
|
||||
|
||||
def test_invalid_partition_rejected(self):
|
||||
for bad in [-1, 3]:
|
||||
with self.assertRaises(ValueError):
|
||||
blocked_weights(np.array([1.], np.float32), np.array([2], np.int64), np.array([bad], np.int64))
|
||||
|
||||
def test_existing_edge_only(self):
|
||||
p = pd.DataFrame({'source_neuron_idx': [0, 1], 'target_neuron_idx': [2, 0]})
|
||||
ptr = np.array([0, 2, 3, 3], np.int64); dst = np.array([1, 2, 0], np.int32)
|
||||
np.testing.assert_array_equal(edge_ids_for_pairs(p, ptr, dst), [1, 2])
|
||||
p.loc[1, 'target_neuron_idx'] = 2
|
||||
with self.assertRaises(ValueError): edge_ids_for_pairs(p, ptr, dst)
|
||||
|
||||
def test_duplicates_rejected(self):
|
||||
p = pd.DataFrame({'source_neuron_idx': [0], 'target_neuron_idx': [1]})
|
||||
with self.assertRaises(ValueError):
|
||||
edge_ids_for_pairs(p, np.array([0, 2, 2], np.int64), np.array([1, 1], np.int32))
|
||||
|
||||
|
||||
if __name__ == '__main__': unittest.main()
|
||||
@@ -0,0 +1,38 @@
|
||||
"""Additional adversarial operator tests and durable unit-test record."""
|
||||
import io
|
||||
import json
|
||||
from pathlib import Path
|
||||
import sys
|
||||
import unittest
|
||||
import numpy as np
|
||||
|
||||
MODEL = Path('/data/digital-drosophila/models/male-cns-lif/terminal-scope-diagnostic-v1')
|
||||
EXP = Path('/data/digital-drosophila/experiments/phase4ab-terminal-scope')
|
||||
sys.path.insert(0, str(MODEL))
|
||||
from scope import blocked_weights
|
||||
import diagnostic
|
||||
|
||||
_, _, _, _, save, digest, _, _ = diagnostic.load_context()
|
||||
stream = io.StringIO()
|
||||
suite = unittest.defaultTestLoader.discover(str(MODEL), pattern='test_scope.py')
|
||||
result = unittest.TextTestRunner(stream=stream, verbosity=2).run(suite)
|
||||
assert result.wasSuccessful(), stream.getvalue()
|
||||
rng = np.random.default_rng(41337)
|
||||
raw = rng.integers(1, 100000, size=10000, dtype=np.int64)
|
||||
contacts = np.asarray([rng.integers(0, n+1) for n in raw], dtype=np.int64)
|
||||
base = (raw.astype(np.float32)*np.float32(.275)*rng.choice([-1, 0, 1], size=len(raw))).astype(np.float32)
|
||||
raw_bytes, base_bytes = raw.tobytes(), base.tobytes()
|
||||
out = blocked_weights(base, raw, contacts)
|
||||
assert np.isfinite(out).all() and np.all(np.abs(out) <= np.abs(base))
|
||||
assert np.all(out[contacts == raw] == 0)
|
||||
assert out[contacts == 0].tobytes() == base[contacts == 0].tobytes()
|
||||
assert np.all(np.sign(out[out != 0]) == np.sign(base[out != 0]))
|
||||
assert raw_bytes == raw.tobytes() and base_bytes == base.tobytes()
|
||||
for bad in [np.array([np.inf], np.float32), np.array([np.nan], np.float32)]:
|
||||
try: blocked_weights(bad, np.array([2], np.int64), np.array([1], np.int64))
|
||||
except ValueError: pass
|
||||
else: raise AssertionError('nonfinite accepted')
|
||||
save(EXP/'regression/unit-tests.json', {'pass': True, 'unit_tests': result.testsRun, 'fuzz_cases': len(raw),
|
||||
'fuzz_seed': 41337, 'finite': True, 'never_sign_flip_or_amplify': True, 'input_nonmutation': True,
|
||||
'zero_identity_bitwise': True, 'unittest_log': stream.getvalue(), 'source_sha256': digest(Path(__file__))})
|
||||
print('PASS', result.testsRun, 'unit tests +', len(raw), 'randomized operator cases')
|
||||
@@ -0,0 +1,20 @@
|
||||
# Feedback motif contextualization — read-only review
|
||||
|
||||
This is not a new learning stage, intervention or model. Source: six archived calibration odors, one seed 131101, frozen_reference; all cases retained.
|
||||
Late interval 500–1,000 ms. Fractions measure positive arrived weights, not causal importance, g attribution or net excitation after inhibition/APL.
|
||||
|
||||
| Target idx / type | Five-node internal positive input | Positive sources | Sources needed for 80% | Base late spikes | omit ALLN | omit ALPN |
|
||||
|---|---:|---:|---:|---:|---:|---:|
|
||||
| 1197 / lLN1_bc | 8.96–8.99% | 197–197 | 49–49 | 228–228 | 217–218 | 227–227 |
|
||||
| 1381 / lLN1_bc | 7.86–7.89% | 214–214 | 51–51 | 227–228 | 227–228 | 227–227 |
|
||||
| 1511 / lLN1_bc | 7.57–7.60% | 205–205 | 52–52 | 228–228 | 219–221 | 227–228 |
|
||||
| 82312 / KC | 36.16–36.39% | 8–8 | 4–4 | 60–61 | 60–61 | 0–0 |
|
||||
| 133666 / VA6_adPN | 10.18–10.22% | 119–119 | 31–31 | 212–214 | 0–0 | 208–210 |
|
||||
|
||||
## Consequence for the next experiment
|
||||
|
||||
The two-cell loop can sustain activity in isolation, but the full-brain watched ALLNs receive most positive input from outside the five-cell motif. Do not target only this pair as the established unique cause.
|
||||
Existing conditional omissions freeze other recorded events: removing ALLN arrivals still leaves PN/other recorded drive. This establishes conditional sufficiency of residual input, NOT that an ALLN knockout in the live brain would fail.
|
||||
Likewise a large input fraction is not a causal fraction; small inputs can matter near threshold. The VA6->KC edge illustrates why fractions alone are not a deletion target ranking.
|
||||
Future separately authorized model tests should first validate operator semantics, then assess distributed local feedback and preservation of stimulus information, before learning. No gain/threshold/eta/mask tuning is licensed by this table.
|
||||
No new simulations, learning, weights or frozen-file changes. No heldout data used. Usable associative learning remains unachieved.
|
||||
@@ -0,0 +1,8 @@
|
||||
0c3c6db65be1f886f43e6c1d626d11086a41d739c3b74e8789ea14dd99b8ac5c REPORT.md
|
||||
980024748379a30d470672e2fce6b4a0b1ad636a4f54ff630c1f10f1bd0fa387 context-fractions.csv
|
||||
1f3e85da1527d3ae4720b6f0673ce1e90ad3739c992fbe25753a8c688e8ec01c existing-conditional-replay.csv
|
||||
320a33e0a21653091c25c4eaf07b949accd2a7ce6d5918c440ad07e09b6ffed0 protocol.json
|
||||
c6415f02fc8832830ce6f8b260583fe2e16964540b2ba49c527a67de4e14f518 source-neuron-fractions.csv
|
||||
29384ffd4844d46019a8e65c314f22a09f86d4645806107f07ce8b5de7c93962 source-type-fractions.csv
|
||||
c53fefb51bad059f176f90ecf53fa2ea3c53e57f710a88c3f61f5004a5d6ad67 summary.csv
|
||||
d7e99c7af2a28424d064eb025b0ff05b93242c2f285263d966ca63a568c25ee8 verification.json
|
||||
@@ -0,0 +1,271 @@
|
||||
trial,period,target_neuron_idx,body_id,annotation_type,scope,target_in_scope,positive_arrival_sum,negative_arrival_sum,internal_positive_sum,internal_positive_fraction,outside_positive_fraction,active_positive_source_neurons,sources_for_80_percent,ALLN_positive_fraction,ALPN_positive_fraction
|
||||
0-131101-frozen_reference,input_on,1197,11289,lLN1_bc,pair,False,88598.67705503106,-4002.6250863075256,0.0,0.0,1.0,203,49,0.6659941582939778,0.3157146541855274
|
||||
0-131101-frozen_reference,input_on,1197,11289,lLN1_bc,trio,True,88598.67705503106,-4002.6250863075256,6802.125,0.07677456623618674,0.9232254337638133,203,49,0.6659941582939778,0.3157146541855274
|
||||
0-131101-frozen_reference,input_on,1197,11289,lLN1_bc,five,True,88598.67705503106,-4002.6250863075256,8003.875,0.09033853852048575,0.9096614614795142,203,49,0.6659941582939778,0.3157146541855274
|
||||
0-131101-frozen_reference,input_on,1381,11478,lLN1_bc,pair,True,95879.85159167647,-3578.0251273810863,3969.0752334594727,0.0413963431061885,0.9586036568938116,220,51,0.6516288362817247,0.3325273756360625
|
||||
0-131101-frozen_reference,input_on,1381,11478,lLN1_bc,trio,True,95879.85159167647,-3578.0251273810863,6914.325233459473,0.07211447575978225,0.9278855242402178,220,51,0.6516288362817247,0.3325273756360625
|
||||
0-131101-frozen_reference,input_on,1381,11478,lLN1_bc,five,True,95879.85159167647,-3578.0251273810863,7635.375242233276,0.07963482541410315,0.9203651745858968,220,51,0.6516288362817247,0.3325273756360625
|
||||
0-131101-frozen_reference,input_on,1511,11620,lLN1_bc,pair,True,87124.95217895508,-3348.6750949323177,3295.875,0.037829289056368794,0.9621707109436312,211,51,0.6462795683818929,0.3410443841940865
|
||||
0-131101-frozen_reference,input_on,1511,11620,lLN1_bc,trio,True,87124.95217895508,-3348.6750949323177,5708.174961090088,0.06551710868506956,0.9344828913149305,211,51,0.6462795683818929,0.3410443841940865
|
||||
0-131101-frozen_reference,input_on,1511,11620,lLN1_bc,five,True,87124.95217895508,-3348.6750949323177,6669.5749435424805,0.07655183476994215,0.9234481652300579,211,51,0.6462795683818929,0.3410443841940865
|
||||
0-131101-frozen_reference,input_on,82312,109321,KC,pair,False,1501.7750133275986,-57.75000125169754,0.0,0.0,1.0,8,4,0.0,0.9939571506276516
|
||||
0-131101-frozen_reference,input_on,82312,109321,KC,trio,False,1501.7750133275986,-57.75000125169754,0.0,0.0,1.0,8,4,0.0,0.9939571506276516
|
||||
0-131101-frozen_reference,input_on,82312,109321,KC,five,True,1501.7750133275986,-57.75000125169754,543.9499912261963,0.36220471535275073,0.6377952846472492,8,4,0.0,0.9939571506276516
|
||||
0-131101-frozen_reference,input_on,133666,527577,VA6_adPN,pair,False,31506.200476437807,-16666.10043132305,0.0,0.0,1.0,122,30,0.886582638749054,0.0641976830387861
|
||||
0-131101-frozen_reference,input_on,133666,527577,VA6_adPN,trio,False,31506.200476437807,-16666.10043132305,0.0,0.0,1.0,122,30,0.886582638749054,0.0641976830387861
|
||||
0-131101-frozen_reference,input_on,133666,527577,VA6_adPN,five,True,31506.200476437807,-16666.10043132305,3337.950038909912,0.10594581347269176,0.8940541865273083,122,30,0.886582638749054,0.0641976830387861
|
||||
0-131101-frozen_reference,late,1197,11289,lLN1_bc,pair,False,400700.0343030989,-18762.70041272044,0.0,0.0,1.0,197,49,0.6636483237859733,0.31698500684786535
|
||||
0-131101-frozen_reference,late,1197,11289,lLN1_bc,trio,True,400700.0343030989,-18762.70041272044,30409.5,0.07589093435664031,0.9241090656433597,197,49,0.6636483237859733,0.31698500684786535
|
||||
0-131101-frozen_reference,late,1197,11289,lLN1_bc,five,True,400700.0343030989,-18762.70041272044,36000.25,0.08984339136035253,0.9101566086396474,197,49,0.6636483237859733,0.31698500684786535
|
||||
0-131101-frozen_reference,late,1381,11478,lLN1_bc,pair,True,434429.88220617175,-15867.775563031435,17744.101043701172,0.04084456841134187,0.9591554315886581,214,51,0.6480577570080137,0.33517561266251517
|
||||
0-131101-frozen_reference,late,1381,11478,lLN1_bc,trio,True,434429.88220617175,-15867.775563031435,30911.101043701172,0.0711532569691681,0.9288467430308319,214,51,0.6480577570080137,0.33517561266251517
|
||||
0-131101-frozen_reference,late,1381,11478,lLN1_bc,five,True,434429.88220617175,-15867.775563031435,34265.55108451843,0.0788747562909512,0.9211252437090488,214,51,0.6480577570080137,0.33517561266251517
|
||||
0-131101-frozen_reference,late,1511,11620,lLN1_bc,pair,True,395105.9848510623,-14942.950437784195,14734.5,0.03729252546137529,0.9627074745386247,205,52,0.6430754441431463,0.3434587382594125
|
||||
0-131101-frozen_reference,late,1511,11620,lLN1_bc,trio,True,395105.9848510623,-14942.950437784195,25518.899826049805,0.06458747982688573,0.9354125201731143,205,52,0.6430754441431463,0.3434587382594125
|
||||
0-131101-frozen_reference,late,1511,11620,lLN1_bc,five,True,395105.9848510623,-14942.950437784195,29991.499744415283,0.07590748025677406,0.9240925197432259,205,52,0.6430754441431463,0.3434587382594125
|
||||
0-131101-frozen_reference,late,82312,109321,KC,pair,False,6962.450061798096,-273.3500059247017,0.0,0.0,1.0,8,4,0.0,0.993759380597908
|
||||
0-131101-frozen_reference,late,82312,109321,KC,trio,False,6962.450061798096,-273.3500059247017,0.0,0.0,1.0,8,4,0.0,0.993759380597908
|
||||
0-131101-frozen_reference,late,82312,109321,KC,five,True,6962.450061798096,-273.3500059247017,2530.5499591827393,0.3634568200449267,0.6365431799550733,8,4,0.0,0.993759380597908
|
||||
0-131101-frozen_reference,late,133666,527577,VA6_adPN,pair,False,146432.55228552222,-76729.95198062062,0.0,0.0,1.0,119,31,0.8627014598440264,0.06377304899535646
|
||||
0-131101-frozen_reference,late,133666,527577,VA6_adPN,trio,False,146432.55228552222,-76729.95198062062,0.0,0.0,1.0,119,31,0.8627014598440264,0.06377304899535646
|
||||
0-131101-frozen_reference,late,133666,527577,VA6_adPN,five,True,146432.55228552222,-76729.95198062062,14922.600173950195,0.10190766971576982,0.8980923302842302,119,31,0.8627014598440264,0.06377304899535646
|
||||
0-131101-frozen_reference,post_input,1197,11289,lLN1_bc,pair,False,704619.0413600802,-33040.150726377964,0.0,0.0,1.0,197,49,0.6633151863619388,0.3172604873906666
|
||||
0-131101-frozen_reference,post_input,1197,11289,lLN1_bc,trio,True,704619.0413600802,-33040.150726377964,53350.0,0.07571467256550712,0.9242853274344929,197,49,0.6633151863619388,0.3172604873906666
|
||||
0-131101-frozen_reference,post_input,1197,11289,lLN1_bc,five,True,704619.0413600802,-33040.150726377964,63199.125,0.08969261585382485,0.9103073841461752,197,49,0.6633151863619388,0.3172604873906666
|
||||
0-131101-frozen_reference,post_input,1381,11478,lLN1_bc,pair,True,763914.8126680255,-27956.50099182129,31130.001831054688,0.040750619460213106,0.9592493805397869,214,51,0.6477443893603304,0.335443820623151
|
||||
0-131101-frozen_reference,post_input,1381,11478,lLN1_bc,trio,True,763914.8126680255,-27956.50099182129,54230.00183105469,0.0709895932527511,0.9290104067472489,214,51,0.6477443893603304,0.335443820623151
|
||||
0-131101-frozen_reference,post_input,1381,11478,lLN1_bc,five,True,763914.8126680255,-27956.50099182129,60139.47690296173,0.07872537082102182,0.9212746291789782,214,51,0.6477443893603304,0.335443820623151
|
||||
0-131101-frozen_reference,post_input,1511,11620,lLN1_bc,pair,True,694773.7673217654,-26325.47577160597,25850.0,0.03720635581802023,0.9627936441819798,205,52,0.6427841446628321,0.3437234054797431
|
||||
0-131101-frozen_reference,post_input,1511,11620,lLN1_bc,trio,True,694773.7673217654,-26325.47577160597,44769.99969482422,0.06443824133919872,0.9355617586608013,205,52,0.6427841446628321,0.3437234054797431
|
||||
0-131101-frozen_reference,post_input,1511,11620,lLN1_bc,five,True,694773.7673217654,-26325.47577160597,52649.29955101013,0.07577905503537391,0.924220944964626,205,52,0.6427841446628321,0.3437234054797431
|
||||
0-131101-frozen_reference,post_input,82312,109321,KC,pair,False,12260.325108498335,-479.60001039505005,0.0,0.0,1.0,8,4,0.0,0.993764439280324
|
||||
0-131101-frozen_reference,post_input,82312,109321,KC,trio,False,12260.325108498335,-479.60001039505005,0.0,0.0,1.0,8,4,0.0,0.993764439280324
|
||||
0-131101-frozen_reference,post_input,82312,109321,KC,five,True,12260.325108498335,-479.60001039505005,4458.0249280929565,0.36361392447928187,0.6363860755207181,8,4,0.0,0.993764439280324
|
||||
0-131101-frozen_reference,post_input,133666,527577,VA6_adPN,pair,False,257390.10401457548,-135097.60348716378,0.0,0.0,1.0,120,31,0.8629883177090493,0.06373215335849348
|
||||
0-131101-frozen_reference,post_input,133666,527577,VA6_adPN,trio,False,257390.10401457548,-135097.60348716378,0.0,0.0,1.0,120,31,0.8629883177090493,0.06373215335849348
|
||||
0-131101-frozen_reference,post_input,133666,527577,VA6_adPN,five,True,257390.10401457548,-135097.60348716378,26180.00030517578,0.10171331335913855,0.8982866866408614,120,31,0.8629883177090493,0.06373215335849348
|
||||
1-131101-frozen_reference,input_on,1197,11289,lLN1_bc,pair,False,85275.0269779861,-3835.1500828266144,0.0,0.0,1.0,202,49,0.6658690511354471,0.31534614078074447
|
||||
1-131101-frozen_reference,input_on,1197,11289,lLN1_bc,trio,True,85275.0269779861,-3835.1500828266144,6535.375,0.07663879135080331,0.9233612086491967,202,49,0.6658690511354471,0.31534614078074447
|
||||
1-131101-frozen_reference,input_on,1197,11289,lLN1_bc,five,True,85275.0269779861,-3835.1500828266144,7684.875,0.09011870499887223,0.9098812950011278,202,49,0.6658690511354471,0.31534614078074447
|
||||
1-131101-frozen_reference,input_on,1381,11478,lLN1_bc,pair,True,92308.4265332818,-3421.825121283531,3813.425224304199,0.04131177799817949,0.9586882220018205,220,51,0.6514730380988599,0.33227573646354064
|
||||
1-131101-frozen_reference,input_on,1381,11478,lLN1_bc,trio,True,92308.4265332818,-3421.825121283531,6643.175224304199,0.07196715916188867,0.9280328408381113,220,51,0.6514730380988599,0.33227573646354064
|
||||
1-131101-frozen_reference,input_on,1381,11478,lLN1_bc,five,True,92308.4265332818,-3421.825121283531,7332.875232696533,0.0794388498221521,0.9205611501778479,220,51,0.6514730380988599,0.33227573646354064
|
||||
1-131101-frozen_reference,input_on,1511,11620,lLN1_bc,pair,True,83807.62709516287,-3204.0250909626484,3166.625,0.037784448859342165,0.9622155511406578,211,51,0.6462765181093706,0.34077865737973484
|
||||
1-131101-frozen_reference,input_on,1511,11620,lLN1_bc,trio,True,83807.62709516287,-3204.0250909626484,5484.324962615967,0.06543944928053579,0.9345605507194642,211,51,0.6462765181093706,0.34077865737973484
|
||||
1-131101-frozen_reference,input_on,1511,11620,lLN1_bc,five,True,83807.62709516287,-3204.0250909626484,6403.924945831299,0.07641219740728007,0.9235878025927199,211,51,0.6462765181093706,0.34077865737973484
|
||||
1-131101-frozen_reference,input_on,82312,109321,KC,pair,False,1441.82501283288,-55.000001192092896,0.0,0.0,1.0,8,4,0.0,0.9938966239922244
|
||||
1-131101-frozen_reference,input_on,82312,109321,KC,trio,False,1441.82501283288,-55.000001192092896,0.0,0.0,1.0,8,4,0.0,0.9938966239922244
|
||||
1-131101-frozen_reference,input_on,82312,109321,KC,five,True,1441.82501283288,-55.000001192092896,520.299991607666,0.36086209281762077,0.6391379071823792,8,4,0.0,0.9938966239922244
|
||||
1-131101-frozen_reference,input_on,133666,527577,VA6_adPN,pair,False,30302.5254586339,-16009.400413483381,0.0,0.0,1.0,120,30,0.8860614729314978,0.06375293938326579
|
||||
1-131101-frozen_reference,input_on,133666,527577,VA6_adPN,trio,False,30302.5254586339,-16009.400413483381,0.0,0.0,1.0,120,30,0.8860614729314978,0.06375293938326579
|
||||
1-131101-frozen_reference,input_on,133666,527577,VA6_adPN,five,True,30302.5254586339,-16009.400413483381,3207.050037384033,0.10583441442073831,0.8941655855792617,120,30,0.8860614729314978,0.06375293938326579
|
||||
1-131101-frozen_reference,late,1197,11289,lLN1_bc,pair,False,400517.15929305553,-18779.200412750244,0.0,0.0,1.0,197,49,0.6637034766946299,0.3168901136201325
|
||||
1-131101-frozen_reference,late,1197,11289,lLN1_bc,trio,True,400517.15929305553,-18779.200412750244,30409.5,0.07592558594412077,0.9240744140558792,197,49,0.6637034766946299,0.3168901136201325
|
||||
1-131101-frozen_reference,late,1197,11289,lLN1_bc,five,True,400517.15929305553,-18779.200412750244,36000.25,0.08988441360051412,0.9101155863994859,197,49,0.6637034766946299,0.3168901136201325
|
||||
1-131101-frozen_reference,late,1381,11478,lLN1_bc,pair,True,434234.08220255375,-15873.000563174486,17744.101043701172,0.040862985589934,0.959137014410066,214,51,0.648128317356207,0.33507659322588423
|
||||
1-131101-frozen_reference,late,1381,11478,lLN1_bc,trio,True,434234.08220255375,-15873.000563174486,30911.101043701172,0.07118534060456894,0.9288146593954311,214,51,0.648128317356207,0.33507659322588423
|
||||
1-131101-frozen_reference,late,1381,11478,lLN1_bc,five,True,434234.08220255375,-15873.000563174486,34265.55108451843,0.0789103216189623,0.9210896783810377,214,51,0.648128317356207,0.33507659322588423
|
||||
1-131101-frozen_reference,late,1511,11620,lLN1_bc,pair,True,394828.234836936,-14949.000438600779,14734.5,0.03731875965275216,0.9626812403472479,205,52,0.6430959953648996,0.34341339111346636
|
||||
1-131101-frozen_reference,late,1511,11620,lLN1_bc,trio,True,394828.234836936,-14949.000438600779,25518.899826049805,0.0646329152133436,0.9353670847866564,205,52,0.6430959953648996,0.34341339111346636
|
||||
1-131101-frozen_reference,late,1511,11620,lLN1_bc,five,True,394828.234836936,-14949.000438600779,29991.499744415283,0.07596087892954709,0.9240391210704529,205,52,0.6430959953648996,0.34341339111346636
|
||||
1-131101-frozen_reference,late,82312,109321,KC,pair,False,6962.450061798096,-271.150005877018,0.0,0.0,1.0,8,4,0.0,0.993759380597908
|
||||
1-131101-frozen_reference,late,82312,109321,KC,trio,False,6962.450061798096,-271.150005877018,0.0,0.0,1.0,8,4,0.0,0.993759380597908
|
||||
1-131101-frozen_reference,late,82312,109321,KC,five,True,6962.450061798096,-271.150005877018,2530.5499591827393,0.3634568200449267,0.6365431799550733,8,4,0.0,0.993759380597908
|
||||
1-131101-frozen_reference,late,133666,527577,VA6_adPN,pair,False,146226.02728185058,-76782.20198082924,0.0,0.0,1.0,119,31,0.8634760785902439,0.06379729727047828
|
||||
1-131101-frozen_reference,late,133666,527577,VA6_adPN,trio,False,146226.02728185058,-76782.20198082924,0.0,0.0,1.0,119,31,0.8634760785902439,0.06379729727047828
|
||||
1-131101-frozen_reference,late,133666,527577,VA6_adPN,five,True,146226.02728185058,-76782.20198082924,14922.600173950195,0.10205160087668178,0.8979483991233183,119,31,0.8634760785902439,0.06379729727047828
|
||||
1-131101-frozen_reference,post_input,1197,11289,lLN1_bc,pair,False,704254.6663456559,-33040.70072641969,0.0,0.0,1.0,197,49,0.6633928506945467,0.3172055737221856
|
||||
1-131101-frozen_reference,post_input,1197,11289,lLN1_bc,trio,True,704254.6663456559,-33040.70072641969,53350.0,0.07575384665440787,0.9242461533455921,197,49,0.6633928506945467,0.3172055737221856
|
||||
1-131101-frozen_reference,post_input,1197,11289,lLN1_bc,five,True,704254.6663456559,-33040.70072641969,63173.0,0.08970192604871431,0.9102980739512857,197,49,0.6633928506945467,0.3172055737221856
|
||||
1-131101-frozen_reference,post_input,1381,11478,lLN1_bc,pair,True,763517.9876532257,-27969.425992190838,31130.001831054688,0.04077179887632628,0.9592282011236737,214,51,0.6478300011802768,0.33537720463872944
|
||||
1-131101-frozen_reference,post_input,1381,11478,lLN1_bc,trio,True,763517.9876532257,-27969.425992190838,54230.00183105469,0.07102648884244081,0.9289735111575592,214,51,0.6478300011802768,0.33537720463872944
|
||||
1-131101-frozen_reference,post_input,1381,11478,lLN1_bc,five,True,763517.9876532257,-27969.425992190838,60123.801902770996,0.07874575697629536,0.9212542430237046,214,51,0.6478300011802768,0.33537720463872944
|
||||
1-131101-frozen_reference,post_input,1511,11620,lLN1_bc,pair,True,694305.9923016429,-26337.025771319866,25850.0,0.03723142286919714,0.9627685771308029,205,52,0.6428179602279536,0.3436947584850494
|
||||
1-131101-frozen_reference,post_input,1511,11620,lLN1_bc,trio,True,694305.9923016429,-26337.025771319866,44769.99969482422,0.06448165533817514,0.9355183446618248,205,52,0.6428179602279536,0.3436947584850494
|
||||
1-131101-frozen_reference,post_input,1511,11620,lLN1_bc,five,True,694305.9923016429,-26337.025771319866,52628.3995513916,0.07580000768382691,0.9241999923161731,205,52,0.6428179602279536,0.3436947584850494
|
||||
1-131101-frozen_reference,post_input,82312,109321,KC,pair,False,12248.50010868907,-477.40001034736633,0.0,0.0,1.0,8,4,0.0,0.9937584193183967
|
||||
1-131101-frozen_reference,post_input,82312,109321,KC,trio,False,12248.50010868907,-477.40001034736633,0.0,0.0,1.0,8,4,0.0,0.9937584193183967
|
||||
1-131101-frozen_reference,post_input,82312,109321,KC,five,True,12248.50010868907,-477.40001034736633,4446.199928283691,0.362999541889179,0.637000458110821,8,4,0.0,0.9937584193183967
|
||||
1-131101-frozen_reference,post_input,133666,527577,VA6_adPN,pair,False,257057.35400918126,-135117.40348806977,0.0,0.0,1.0,119,31,0.863682848960109,0.06377399956110062
|
||||
1-131101-frozen_reference,post_input,133666,527577,VA6_adPN,trio,False,257057.35400918126,-135117.40348806977,0.0,0.0,1.0,119,31,0.863682848960109,0.06377399956110062
|
||||
1-131101-frozen_reference,post_input,133666,527577,VA6_adPN,five,True,257057.35400918126,-135117.40348806977,26180.00030517578,0.10184497699389186,0.8981550230061082,119,31,0.863682848960109,0.06377399956110062
|
||||
2-131101-frozen_reference,input_on,1197,11289,lLN1_bc,pair,False,85125.70197564363,-3833.2250829339027,0.0,0.0,1.0,204,49,0.6653766134475256,0.3157119417265943
|
||||
2-131101-frozen_reference,input_on,1197,11289,lLN1_bc,trio,True,85125.70197564363,-3833.2250829339027,6535.375,0.0767732288641792,0.9232267711358209,204,49,0.6653766134475256,0.3157119417265943
|
||||
2-131101-frozen_reference,input_on,1197,11289,lLN1_bc,five,True,85125.70197564363,-3833.2250829339027,7711.0,0.09058368766469954,0.9094163123353004,204,49,0.6653766134475256,0.3157119417265943
|
||||
2-131101-frozen_reference,input_on,1381,11478,lLN1_bc,pair,True,92216.02653607726,-3432.2751217782497,3813.425224304199,0.04135317219303838,0.9586468278069616,222,51,0.6504796761452037,0.3331275653885573
|
||||
2-131101-frozen_reference,input_on,1381,11478,lLN1_bc,trio,True,92216.02653607726,-3432.2751217782497,6643.175224304199,0.07203926989529548,0.9279607301047045,222,51,0.6504796761452037,0.3331275653885573
|
||||
2-131101-frozen_reference,input_on,1381,11478,lLN1_bc,five,True,92216.02653607726,-3432.2751217782497,7348.550232887268,0.07968842845351104,0.920311571546489,222,51,0.6504796761452037,0.3331275653885573
|
||||
2-131101-frozen_reference,input_on,1511,11620,lLN1_bc,pair,True,83760.60209003091,-3209.800090879202,3166.625,0.03780566186231949,0.9621943381376805,213,51,0.6452078910390152,0.3417152566185128
|
||||
2-131101-frozen_reference,input_on,1511,11620,lLN1_bc,trio,True,83760.60209003091,-3209.800090879202,5484.324962615967,0.06547618839608013,0.9345238116039198,213,51,0.6452078910390152,0.3417152566185128
|
||||
2-131101-frozen_reference,input_on,1511,11620,lLN1_bc,five,True,83760.60209003091,-3209.800090879202,6424.824945449829,0.07670461750673715,0.9232953824932628,213,51,0.6452078910390152,0.3417152566185128
|
||||
2-131101-frozen_reference,input_on,82312,109321,KC,pair,False,1459.1500126421452,-57.75000125169754,0.0,0.0,1.0,8,4,0.0,0.993969091515957
|
||||
2-131101-frozen_reference,input_on,82312,109321,KC,trio,False,1459.1500126421452,-57.75000125169754,0.0,0.0,1.0,8,4,0.0,0.993969091515957
|
||||
2-131101-frozen_reference,input_on,82312,109321,KC,five,True,1459.1500126421452,-57.75000125169754,532.1249914169312,0.36468148360797376,0.6353185163920263,8,4,0.0,0.993969091515957
|
||||
2-131101-frozen_reference,input_on,133666,527577,VA6_adPN,pair,False,30307.750459104776,-16021.22541320324,0.0,0.0,1.0,121,30,0.8853098608449992,0.06387805229642067
|
||||
2-131101-frozen_reference,input_on,133666,527577,VA6_adPN,trio,False,30307.750459104776,-16021.22541320324,0.0,0.0,1.0,121,30,0.8853098608449992,0.06387805229642067
|
||||
2-131101-frozen_reference,input_on,133666,527577,VA6_adPN,five,True,30307.750459104776,-16021.22541320324,3207.050037384033,0.105816168762225,0.894183831237775,121,30,0.8853098608449992,0.06387805229642067
|
||||
2-131101-frozen_reference,late,1197,11289,lLN1_bc,pair,False,400153.6092863679,-18773.975412666798,0.0,0.0,1.0,197,49,0.6636157963638845,0.3169773436238554
|
||||
2-131101-frozen_reference,late,1197,11289,lLN1_bc,trio,True,400153.6092863679,-18773.975412666798,30338.27500152588,0.07581657217994614,0.9241834278200538,197,49,0.6636157963638845,0.3169773436238554
|
||||
2-131101-frozen_reference,late,1197,11289,lLN1_bc,five,True,400153.6092863679,-18773.975412666798,35902.90000152588,0.08972279436778027,0.9102772056322197,197,49,0.6636157963638845,0.3169773436238554
|
||||
2-131101-frozen_reference,late,1381,11478,lLN1_bc,pair,True,433873.55718937516,-15845.775562524796,17744.101043701172,0.040896940478804766,0.9591030595211952,214,51,0.6479855141361155,0.3352149480309412
|
||||
2-131101-frozen_reference,late,1381,11478,lLN1_bc,trio,True,433873.55718937516,-15845.775562524796,30853.351043701172,0.07111138840442041,0.9288886115955796,214,51,0.6479855141361155,0.3352149480309412
|
||||
2-131101-frozen_reference,late,1381,11478,lLN1_bc,five,True,433873.55718937516,-15845.775562524796,34192.1260843277,0.07880666041466933,0.9211933395853307,214,51,0.6479855141361155,0.3352149480309412
|
||||
2-131101-frozen_reference,late,1511,11620,lLN1_bc,pair,True,394442.68482884765,-14924.525438219309,14669.875,0.03719139830509316,0.9628086016949068,205,52,0.6429088849262784,0.34359358975961585
|
||||
2-131101-frozen_reference,late,1511,11620,lLN1_bc,trio,True,394442.68482884765,-14924.525438219309,25406.974826812744,0.06441233619996545,0.9355876638000346,205,52,0.6429088849262784,0.34359358975961585
|
||||
2-131101-frozen_reference,late,1511,11620,lLN1_bc,five,True,394442.68482884765,-14924.525438219309,29858.674745559692,0.07569838634101086,0.9243016136589891,205,52,0.6429088849262784,0.34359358975961585
|
||||
2-131101-frozen_reference,late,82312,109321,KC,pair,False,6953.375061988831,-268.95000582933426,0.0,0.0,1.0,8,4,0.0,0.9937512358308879
|
||||
2-131101-frozen_reference,late,82312,109321,KC,trio,False,6953.375061988831,-268.95000582933426,0.0,0.0,1.0,8,4,0.0,0.9937512358308879
|
||||
2-131101-frozen_reference,late,82312,109321,KC,five,True,6953.375061988831,-268.95000582933426,2518.724959373474,0.3622305624131052,0.6377694375868949,8,4,0.0,0.9937512358308879
|
||||
2-131101-frozen_reference,late,133666,527577,VA6_adPN,pair,False,146179.00228133798,-76756.35197913647,0.0,0.0,1.0,119,31,0.8629317456933626,0.06385544562150128
|
||||
2-131101-frozen_reference,late,133666,527577,VA6_adPN,trio,False,146179.00228133798,-76756.35197913647,0.0,0.0,1.0,119,31,0.8629317456933626,0.06385544562150128
|
||||
2-131101-frozen_reference,late,133666,527577,VA6_adPN,five,True,146179.00228133798,-76756.35197913647,14876.400173187256,0.10176837945956113,0.8982316205404388,119,31,0.8629317456933626,0.06385544562150128
|
||||
2-131101-frozen_reference,post_input,1197,11289,lLN1_bc,pair,False,703993.6913368404,-33033.00072598457,0.0,0.0,1.0,197,49,0.6634918983861716,0.317097380598496
|
||||
2-131101-frozen_reference,post_input,1197,11289,lLN1_bc,trio,True,703993.6913368404,-33033.00072598457,53350.0,0.07578192909469353,0.9242180709053065,197,49,0.6634918983861716,0.317097380598496
|
||||
2-131101-frozen_reference,post_input,1197,11289,lLN1_bc,five,True,703993.6913368404,-33033.00072598457,63146.875,0.08969806942458249,0.9103019305754175,197,49,0.6634918983861716,0.317097380598496
|
||||
2-131101-frozen_reference,post_input,1381,11478,lLN1_bc,pair,True,763303.7626463771,-27914.150990515947,31130.001831054688,0.040783241684970675,0.9592167583150293,214,51,0.6478727513694693,0.3353333442278528
|
||||
2-131101-frozen_reference,post_input,1381,11478,lLN1_bc,trio,True,763303.7626463771,-27914.150990515947,54230.00183105469,0.07104642278067523,0.9289535772193248,214,51,0.6478727513694693,0.3353333442278528
|
||||
2-131101-frozen_reference,post_input,1381,11478,lLN1_bc,five,True,763303.7626463771,-27914.150990515947,60108.12690258026,0.07874732163534102,0.921252678364659,214,51,0.6478727513694693,0.3353333442278528
|
||||
2-131101-frozen_reference,post_input,1511,11620,lLN1_bc,pair,True,694012.8422955573,-26290.27577126026,25850.0,0.03724714936757804,0.962752850632422,205,52,0.6428790788118,0.34362556541571
|
||||
2-131101-frozen_reference,post_input,1511,11620,lLN1_bc,trio,True,694012.8422955573,-26290.27577126026,44769.99969482422,0.0645088922947598,0.9354911077052402,205,52,0.6428790788118,0.34362556541571
|
||||
2-131101-frozen_reference,post_input,1511,11620,lLN1_bc,five,True,694012.8422955573,-26290.27577126026,52607.49955177307,0.0758019107798718,0.9241980892201282,205,52,0.6428790788118,0.34362556541571
|
||||
2-131101-frozen_reference,post_input,82312,109321,KC,pair,False,12231.175108879805,-475.75001031160355,0.0,0.0,1.0,8,4,0.0,0.9937270948228624
|
||||
2-131101-frozen_reference,post_input,82312,109321,KC,trio,False,12231.175108879805,-475.75001031160355,0.0,0.0,1.0,8,4,0.0,0.9937270948228624
|
||||
2-131101-frozen_reference,post_input,82312,109321,KC,five,True,12231.175108879805,-475.75001031160355,4434.374928474426,0.36254692529543464,0.6374530747045654,8,4,0.0,0.9937270948228624
|
||||
2-131101-frozen_reference,post_input,133666,527577,VA6_adPN,pair,False,257159.65401175618,-135073.12848582864,0.0,0.0,1.0,119,31,0.8631093540244862,0.06387160787726373
|
||||
2-131101-frozen_reference,post_input,133666,527577,VA6_adPN,trio,False,257159.65401175618,-135073.12848582864,0.0,0.0,1.0,119,31,0.8631093540244862,0.06387160787726373
|
||||
2-131101-frozen_reference,post_input,133666,527577,VA6_adPN,five,True,257159.65401175618,-135073.12848582864,26180.00030517578,0.10180446231265713,0.8981955376873428,119,31,0.8631093540244862,0.06387160787726373
|
||||
3-131101-frozen_reference,input_on,1197,11289,lLN1_bc,pair,False,81466.82689130306,-3665.475079149008,0.0,0.0,1.0,204,49,0.6660410539191323,0.3151635655061794
|
||||
3-131101-frozen_reference,input_on,1197,11289,lLN1_bc,trio,True,81466.82689130306,-3665.475079149008,6268.625,0.07694696404910797,0.923053035950892,204,49,0.6660410539191323,0.3151635655061794
|
||||
3-131101-frozen_reference,input_on,1197,11289,lLN1_bc,five,True,81466.82689130306,-3665.475079149008,7365.875,0.09041563641392224,0.9095843635860777,204,49,0.6660410539191323,0.3151635655061794
|
||||
3-131101-frozen_reference,input_on,1381,11478,lLN1_bc,pair,True,88219.45146915317,-3298.0751166045666,3657.775215148926,0.04146223031581538,0.9585377696841846,222,51,0.6513943362222855,0.33234932775131415
|
||||
3-131101-frozen_reference,input_on,1381,11478,lLN1_bc,trio,True,88219.45146915317,-3298.0751166045666,6372.025215148926,0.07222925453551442,0.9277707454644856,222,51,0.6513943362222855,0.33234932775131415
|
||||
3-131101-frozen_reference,input_on,1381,11478,lLN1_bc,five,True,88219.45146915317,-3298.0751166045666,7030.37522315979,0.07969189454343902,0.9203081054565609,222,51,0.6513943362222855,0.33234932775131415
|
||||
3-131101-frozen_reference,input_on,1511,11620,lLN1_bc,pair,True,80095.12700673938,-3086.0500870645046,3037.375,0.037922094807895476,0.9620779051921046,213,51,0.6461897659057267,0.3408731171559384
|
||||
3-131101-frozen_reference,input_on,1511,11620,lLN1_bc,trio,True,80095.12700673938,-3086.0500870645046,5260.474964141846,0.06567784034725631,0.9343221596527437,213,51,0.6461897659057267,0.3408731171559384
|
||||
3-131101-frozen_reference,input_on,1511,11620,lLN1_bc,five,True,80095.12700673938,-3086.0500870645046,6138.274948120117,0.07663730837961752,0.9233626916203825,213,51,0.6461897659057267,0.3408731171559384
|
||||
3-131101-frozen_reference,input_on,82312,109321,KC,pair,False,1381.8750124275684,-52.25000113248825,0.0,0.0,1.0,8,4,0.0,0.9940298506705603
|
||||
3-131101-frozen_reference,input_on,82312,109321,KC,trio,False,1381.8750124275684,-52.25000113248825,0.0,0.0,1.0,8,4,0.0,0.9940298506705603
|
||||
3-131101-frozen_reference,input_on,82312,109321,KC,five,True,1381.8750124275684,-52.25000113248825,496.64999198913574,0.35940297604532295,0.640597023954677,8,4,0.0,0.9940298506705603
|
||||
3-131101-frozen_reference,input_on,133666,527577,VA6_adPN,pair,False,28926.150436997414,-15275.150393545628,0.0,0.0,1.0,121,29,0.8878938240866366,0.06475196451369124
|
||||
3-131101-frozen_reference,input_on,133666,527577,VA6_adPN,trio,False,28926.150436997414,-15275.150393545628,0.0,0.0,1.0,121,29,0.8878938240866366,0.06475196451369124
|
||||
3-131101-frozen_reference,input_on,133666,527577,VA6_adPN,five,True,28926.150436997414,-15275.150393545628,3076.1500358581543,0.10634495048202702,0.8936550495179729,121,29,0.8878938240866366,0.06475196451369124
|
||||
3-131101-frozen_reference,late,1197,11289,lLN1_bc,pair,False,400217.40928182006,-18783.32541269064,0.0,0.0,1.0,197,49,0.6636543037078949,0.3169481141312774
|
||||
3-131101-frozen_reference,late,1197,11289,lLN1_bc,trio,True,400217.40928182006,-18783.32541269064,30409.5,0.07598245177432204,0.9240175482256779,197,49,0.6636543037078949,0.3169481141312774
|
||||
3-131101-frozen_reference,late,1197,11289,lLN1_bc,five,True,400217.40928182006,-18783.32541269064,35948.0,0.08982118010435321,0.9101788198956468,197,49,0.6636543037078949,0.3169481141312774
|
||||
3-131101-frozen_reference,late,1381,11478,lLN1_bc,pair,True,433927.1821966171,-15895.2755638659,17744.101043701172,0.04089188640793912,0.9591081135920608,214,51,0.6480486624681501,0.335164015747383
|
||||
3-131101-frozen_reference,late,1381,11478,lLN1_bc,trio,True,433927.1821966171,-15895.2755638659,30911.101043701172,0.07123568725799485,0.9287643127420051,214,51,0.6480486624681501,0.335164015747383
|
||||
3-131101-frozen_reference,late,1381,11478,lLN1_bc,five,True,433927.1821966171,-15895.2755638659,34234.20108413696,0.07889388470857554,0.9211061152914245,214,51,0.6480486624681501,0.335164015747383
|
||||
3-131101-frozen_reference,late,1511,11620,lLN1_bc,pair,True,394485.5848275721,-14970.450438439846,14734.5,0.03735117471134056,0.9626488252886595,205,52,0.6430508906495236,0.3434662969793157
|
||||
3-131101-frozen_reference,late,1511,11620,lLN1_bc,trio,True,394485.5848275721,-14970.450438439846,25518.899826049805,0.06468905533570765,0.9353109446642923,205,52,0.6430508906495236,0.3434662969793157
|
||||
3-131101-frozen_reference,late,1511,11620,lLN1_bc,five,True,394485.5848275721,-14970.450438439846,29949.699745178223,0.07592089773893539,0.9240791022610646,205,52,0.6430508906495236,0.3434662969793157
|
||||
3-131101-frozen_reference,late,82312,109321,KC,pair,False,6932.475061893463,-271.150005877018,0.0,0.0,1.0,8,4,0.0,0.9937323970798554
|
||||
3-131101-frozen_reference,late,82312,109321,KC,trio,False,6932.475061893463,-271.150005877018,0.0,0.0,1.0,8,4,0.0,0.9937323970798554
|
||||
3-131101-frozen_reference,late,82312,109321,KC,five,True,6932.475061893463,-271.150005877018,2506.899959564209,0.3616168737979565,0.6383831262020435,8,4,0.0,0.9937323970798554
|
||||
3-131101-frozen_reference,late,133666,527577,VA6_adPN,pair,False,146047.27727791667,-76770.37697938085,0.0,0.0,1.0,119,31,0.86389458247132,0.06368143592525033
|
||||
3-131101-frozen_reference,late,133666,527577,VA6_adPN,trio,False,146047.27727791667,-76770.37697938085,0.0,0.0,1.0,119,31,0.86389458247132,0.06368143592525033
|
||||
3-131101-frozen_reference,late,133666,527577,VA6_adPN,five,True,146047.27727791667,-76770.37697938085,14922.600173950195,0.10217650374647959,0.8978234962535204,119,31,0.86389458247132,0.06368143592525033
|
||||
3-131101-frozen_reference,post_input,1197,11289,lLN1_bc,pair,False,703880.941331476,-33023.65072590113,0.0,0.0,1.0,197,49,0.6635544213362338,0.31704425048922796
|
||||
3-131101-frozen_reference,post_input,1197,11289,lLN1_bc,trio,True,703880.941331476,-33023.65072590113,53350.0,0.07579406809776952,0.9242059319022304,197,49,0.6635544213362338,0.31704425048922796
|
||||
3-131101-frozen_reference,post_input,1197,11289,lLN1_bc,five,True,703880.941331476,-33023.65072590113,63094.625,0.08963820625779252,0.9103617937422075,197,49,0.6635544213362338,0.31704425048922796
|
||||
3-131101-frozen_reference,post_input,1381,11478,lLN1_bc,pair,True,763217.6876446009,-27941.65099143982,31130.001831054688,0.040787841182148614,0.9592121588178514,214,51,0.6479065433629929,0.33530162171556643
|
||||
3-131101-frozen_reference,post_input,1381,11478,lLN1_bc,trio,True,763217.6876446009,-27941.65099143982,54230.00183105469,0.0710544353320954,0.9289455646679046,214,51,0.6479065433629929,0.33530162171556643
|
||||
3-131101-frozen_reference,post_input,1381,11478,lLN1_bc,five,True,763217.6876446009,-27941.65099143982,60076.77690219879,0.07871512659462117,0.9212848734053788,214,51,0.6479065433629929,0.33530162171556643
|
||||
3-131101-frozen_reference,post_input,1511,11620,lLN1_bc,pair,True,693890.7422885299,-26308.42577049136,25850.0,0.037253703536588176,0.9627462964634118,205,52,0.6429172988583062,0.3435877448802364
|
||||
3-131101-frozen_reference,post_input,1511,11620,lLN1_bc,trio,True,693890.7422885299,-26308.42577049136,44769.99969482422,0.06452024355760637,0.9354797564423937,205,52,0.6429172988583062,0.3435877448802364
|
||||
3-131101-frozen_reference,post_input,1511,11620,lLN1_bc,five,True,693890.7422885299,-26308.42577049136,52565.69955253601,0.07575500918079467,0.9242449908192053,205,52,0.6429172988583062,0.3435877448802364
|
||||
3-131101-frozen_reference,post_input,82312,109321,KC,pair,False,12200.925108879805,-477.40001034736633,0.0,0.0,1.0,8,4,0.0,0.9937340815573592
|
||||
3-131101-frozen_reference,post_input,82312,109321,KC,trio,False,12200.925108879805,-477.40001034736633,0.0,0.0,1.0,8,4,0.0,0.9937340815573592
|
||||
3-131101-frozen_reference,post_input,82312,109321,KC,five,True,12200.925108879805,-477.40001034736633,4410.724928855896,0.3615074176339121,0.6384925823660879,8,4,0.0,0.9937340815573592
|
||||
3-131101-frozen_reference,post_input,133666,527577,VA6_adPN,pair,False,257054.879009068,-135016.7534841001,0.0,0.0,1.0,119,31,0.8633916178171309,0.06365693443990253
|
||||
3-131101-frozen_reference,post_input,133666,527577,VA6_adPN,trio,False,257054.879009068,-135016.7534841001,0.0,0.0,1.0,119,31,0.8633916178171309,0.06365693443990253
|
||||
3-131101-frozen_reference,post_input,133666,527577,VA6_adPN,five,True,257054.879009068,-135016.7534841001,26180.00030517578,0.10184595758733776,0.8981540424126623,119,31,0.8633916178171309,0.06365693443990253
|
||||
4-131101-frozen_reference,input_on,1197,11289,lLN1_bc,pair,False,79866.32685315609,-3637.150079458952,0.0,0.0,1.0,202,49,0.6660801656065795,0.3147615723843998
|
||||
4-131101-frozen_reference,input_on,1197,11289,lLN1_bc,trio,True,79866.32685315609,-3637.150079458952,6135.25,0.07681898293983645,0.9231810170601635,202,49,0.6660801656065795,0.3147615723843998
|
||||
4-131101-frozen_reference,input_on,1197,11289,lLN1_bc,five,True,79866.32685315609,-3637.150079458952,7206.375,0.09023045486052955,0.9097695451394704,202,49,0.6660801656065795,0.3147615723843998
|
||||
4-131101-frozen_reference,input_on,1381,11478,lLN1_bc,pair,True,86533.42644062638,-3248.3001149892807,3579.950210571289,0.04137072063161186,0.9586292793683882,220,51,0.6512090567948938,0.33223057912271914
|
||||
4-131101-frozen_reference,input_on,1381,11478,lLN1_bc,trio,True,86533.42644062638,-3248.3001149892807,6236.450210571289,0.07206984014264518,0.9279301598573548,220,51,0.6512090567948938,0.33223057912271914
|
||||
4-131101-frozen_reference,input_on,1381,11478,lLN1_bc,five,True,86533.42644062638,-3248.3001149892807,6879.1252183914185,0.07949673902155519,0.9205032609784448,220,51,0.6512090567948938,0.33223057912271914
|
||||
4-131101-frozen_reference,input_on,1511,11620,lLN1_bc,pair,True,78558.15196841955,-3033.525085091591,2972.75,0.03784139424760206,0.962158605752398,211,51,0.6459886729874749,0.34080709551854077
|
||||
4-131101-frozen_reference,input_on,1511,11620,lLN1_bc,trio,True,78558.15196841955,-3033.525085091591,5148.549964904785,0.06553807384591362,0.9344619261540864,211,51,0.6459886729874749,0.34080709551854077
|
||||
4-131101-frozen_reference,input_on,1511,11620,lLN1_bc,five,True,78558.15196841955,-3033.525085091591,6005.449949264526,0.0764459167990449,0.9235540832009551,211,51,0.6459886729874749,0.34080709551854077
|
||||
4-131101-frozen_reference,input_on,82312,109321,KC,pair,False,1357.1250120401382,-54.45000118017197,0.0,0.0,1.0,8,4,0.0,0.9939209725665494
|
||||
4-131101-frozen_reference,input_on,82312,109321,KC,trio,False,1357.1250120401382,-54.45000118017197,0.0,0.0,1.0,8,4,0.0,0.9939209725665494
|
||||
4-131101-frozen_reference,input_on,82312,109321,KC,five,True,1357.1250120401382,-54.45000118017197,484.8249921798706,0.3572441653337765,0.6427558346662234,8,4,0.0,0.9939209725665494
|
||||
4-131101-frozen_reference,input_on,133666,527577,VA6_adPN,pair,False,28385.775427162647,-15049.375388532877,0.0,0.0,1.0,116,29,0.8884335531316019,0.06421174117281864
|
||||
4-131101-frozen_reference,input_on,133666,527577,VA6_adPN,trio,False,28385.775427162647,-15049.375388532877,0.0,0.0,1.0,116,29,0.8884335531316019,0.06421174117281864
|
||||
4-131101-frozen_reference,input_on,133666,527577,VA6_adPN,five,True,28385.775427162647,-15049.375388532877,3010.700035095215,0.10606368823076942,0.8939363117692306,116,29,0.8884335531316019,0.06421174117281864
|
||||
4-131101-frozen_reference,late,1197,11289,lLN1_bc,pair,False,400002.08428132534,-18770.950412660837,0.0,0.0,1.0,197,49,0.6634911204666482,0.3171015429623209
|
||||
4-131101-frozen_reference,late,1197,11289,lLN1_bc,trio,True,400002.08428132534,-18770.950412660837,30276.125,0.07568991810229296,0.924310081897707,197,49,0.6634911204666482,0.3171015429623209
|
||||
4-131101-frozen_reference,late,1197,11289,lLN1_bc,five,True,400002.08428132534,-18770.950412660837,35840.75,0.08960140811364586,0.9103985918863542,197,49,0.6634911204666482,0.3171015429623209
|
||||
4-131101-frozen_reference,late,1381,11478,lLN1_bc,pair,True,433675.2821864486,-15864.200562685728,17666.276039123535,0.04073618387945922,0.9592638161205408,214,51,0.6478531093682599,0.3353441109068587
|
||||
4-131101-frozen_reference,late,1381,11478,lLN1_bc,trio,True,433675.2821864486,-15864.200562685728,30775.526039123535,0.07096444575758025,0.9290355542424198,214,51,0.6478531093682599,0.3353441109068587
|
||||
4-131101-frozen_reference,late,1381,11478,lLN1_bc,five,True,433675.2821864486,-15864.200562685728,34114.30107975006,0.07866323602248425,0.9213367639775157,214,51,0.6478531093682599,0.3353441109068587
|
||||
4-131101-frozen_reference,late,1511,11620,lLN1_bc,pair,True,394290.059825927,-14940.750437796116,14669.875,0.03720579465400808,0.9627942053459919,205,52,0.6428634208608803,0.34364498839061286
|
||||
4-131101-frozen_reference,late,1511,11620,lLN1_bc,trio,True,394290.059825927,-14940.750437796116,25406.974826812744,0.06443726945089494,0.9355627305491051,205,52,0.6428634208608803,0.34364498839061286
|
||||
4-131101-frozen_reference,late,1511,11620,lLN1_bc,five,True,394290.059825927,-14940.750437796116,29858.674745559692,0.07572768828801273,0.9242723117119873,205,52,0.6428634208608803,0.34364498839061286
|
||||
4-131101-frozen_reference,late,82312,109321,KC,pair,False,6953.3750620782375,-270.60000586509705,0.0,0.0,1.0,8,4,0.0,0.9937512358309682
|
||||
4-131101-frozen_reference,late,82312,109321,KC,trio,False,6953.3750620782375,-270.60000586509705,0.0,0.0,1.0,8,4,0.0,0.9937512358309682
|
||||
4-131101-frozen_reference,late,82312,109321,KC,five,True,6953.3750620782375,-270.60000586509705,2518.724959373474,0.3622305624084476,0.6377694375915525,8,4,0.0,0.9937512358309682
|
||||
4-131101-frozen_reference,late,133666,527577,VA6_adPN,pair,False,145949.92727336287,-76677.42697772384,0.0,0.0,1.0,119,31,0.8639620723193271,0.06390291180855275
|
||||
4-131101-frozen_reference,late,133666,527577,VA6_adPN,trio,False,145949.92727336287,-76677.42697772384,0.0,0.0,1.0,119,31,0.8639620723193271,0.06390291180855275
|
||||
4-131101-frozen_reference,late,133666,527577,VA6_adPN,five,True,145949.92727336287,-76677.42697772384,14857.150173187256,0.10179621498104587,0.8982037850189541,119,31,0.8639620723193271,0.06390291180855275
|
||||
4-131101-frozen_reference,post_input,1197,11289,lLN1_bc,pair,False,704001.116335392,-33022.275725752115,0.0,0.0,1.0,197,49,0.6634509163093574,0.3171530205001698
|
||||
4-131101-frozen_reference,post_input,1197,11289,lLN1_bc,trio,True,704001.116335392,-33022.275725752115,53350.0,0.07578112983358341,0.9242188701664166,197,49,0.6634509163093574,0.3171530205001698
|
||||
4-131101-frozen_reference,post_input,1197,11289,lLN1_bc,five,True,704001.116335392,-33022.275725752115,63120.75,0.08966001407578557,0.9103399859242144,197,49,0.6634509163093574,0.3171530205001698
|
||||
4-131101-frozen_reference,post_input,1381,11478,lLN1_bc,pair,True,763353.2626490891,-27907.82599017024,31130.001831054688,0.040780597076408964,0.959219402923591,214,51,0.6477867889369624,0.3354236379424401
|
||||
4-131101-frozen_reference,post_input,1381,11478,lLN1_bc,trio,True,763353.2626490891,-27907.82599017024,54230.00183105469,0.07104181574184748,0.9289581842581526,214,51,0.6477867889369624,0.3354236379424401
|
||||
4-131101-frozen_reference,post_input,1381,11478,lLN1_bc,five,True,763353.2626490891,-27907.82599017024,60092.45190238953,0.0787216808294613,0.9212783191705387,214,51,0.6477867889369624,0.3354236379424401
|
||||
4-131101-frozen_reference,post_input,1511,11620,lLN1_bc,pair,True,694007.3422918022,-26282.025770932436,25850.0,0.037247444550998876,0.9627525554490011,205,52,0.6428140374759943,0.34369882103870003
|
||||
4-131101-frozen_reference,post_input,1511,11620,lLN1_bc,trio,True,694007.3422918022,-26282.025770932436,44769.99969482422,0.06450940352731922,0.9354905964726807,205,52,0.6428140374759943,0.34369882103870003
|
||||
4-131101-frozen_reference,post_input,1511,11620,lLN1_bc,five,True,694007.3422918022,-26282.025770932436,52586.59955215454,0.07577239655491136,0.9242276034450886,205,52,0.6428140374759943,0.34369882103870003
|
||||
4-131101-frozen_reference,post_input,82312,109321,KC,pair,False,12222.650109350681,-475.2000102996826,0.0,0.0,1.0,8,4,0.0,0.9937452188377279
|
||||
4-131101-frozen_reference,post_input,82312,109321,KC,trio,False,12222.650109350681,-475.2000102996826,0.0,0.0,1.0,8,4,0.0,0.9937452188377279
|
||||
4-131101-frozen_reference,post_input,82312,109321,KC,five,True,12222.650109350681,-475.2000102996826,4422.549928665161,0.36183232679480715,0.6381676732051929,8,4,0.0,0.9937452188377279
|
||||
4-131101-frozen_reference,post_input,133666,527577,VA6_adPN,pair,False,257035.6290103197,-134959.828481853,0.0,0.0,1.0,119,31,0.8634691179181607,0.0638970777953173
|
||||
4-131101-frozen_reference,post_input,133666,527577,VA6_adPN,trio,False,257035.6290103197,-134959.828481853,0.0,0.0,1.0,119,31,0.8634691179181607,0.0638970777953173
|
||||
4-131101-frozen_reference,post_input,133666,527577,VA6_adPN,five,True,257035.6290103197,-134959.828481853,26180.00030517578,0.10185358506903602,0.898146414930964,119,31,0.8634691179181607,0.0638970777953173
|
||||
5-131101-frozen_reference,input_on,1197,11289,lLN1_bc,pair,False,87402.70203155279,-3943.225085258484,0.0,0.0,1.0,206,49,0.665853857862033,0.3159067172780962
|
||||
5-131101-frozen_reference,input_on,1197,11289,lLN1_bc,trio,True,87402.70203155279,-3943.225085258484,6668.75,0.07629912857376595,0.923700871426234,206,49,0.665853857862033,0.3159067172780962
|
||||
5-131101-frozen_reference,input_on,1197,11289,lLN1_bc,five,True,87402.70203155279,-3943.225085258484,7870.5,0.09004870349613119,0.9099512965038689,206,49,0.665853857862033,0.3159067172780962
|
||||
5-131101-frozen_reference,input_on,1381,11478,lLN1_bc,pair,True,94598.62657222152,-3522.750124871731,3891.250228881836,0.04113432054862924,0.9588656794513708,223,51,0.6511984194051248,0.3329670478581724
|
||||
5-131101-frozen_reference,input_on,1381,11478,lLN1_bc,trio,True,94598.62657222152,-3522.750124871731,6778.750228881836,0.07165801951370387,0.9283419804862961,223,51,0.6511984194051248,0.3329670478581724
|
||||
5-131101-frozen_reference,input_on,1381,11478,lLN1_bc,five,True,94598.62657222152,-3522.750124871731,7499.80023765564,0.07928022329087306,0.920719776709127,223,51,0.6511984194051248,0.3329670478581724
|
||||
5-131101-frozen_reference,input_on,1511,11620,lLN1_bc,pair,True,85999.65214675665,-3297.800093382597,3231.25,0.037572826393366544,0.9624271736066334,213,51,0.6458753039033513,0.341509819197016
|
||||
5-131101-frozen_reference,input_on,1511,11620,lLN1_bc,trio,True,85999.65214675665,-3297.800093382597,5596.249961853027,0.06507293718238698,0.9349270628176131,213,51,0.6458753039033513,0.341509819197016
|
||||
5-131101-frozen_reference,input_on,1511,11620,lLN1_bc,five,True,85999.65214675665,-3297.800093382597,6557.64994430542,0.076252051963128,0.923747948036872,213,51,0.6458753039033513,0.341509819197016
|
||||
5-131101-frozen_reference,input_on,82312,109321,KC,pair,False,1501.2250133156776,-57.75000125169754,0.0,0.0,1.0,8,4,0.0,0.9941381204598378
|
||||
5-131101-frozen_reference,input_on,82312,109321,KC,trio,False,1501.2250133156776,-57.75000125169754,0.0,0.0,1.0,8,4,0.0,0.9941381204598378
|
||||
5-131101-frozen_reference,input_on,82312,109321,KC,five,True,1501.2250133156776,-57.75000125169754,543.9499912261963,0.36233741537839304,0.637662584621607,8,4,0.0,0.9941381204598378
|
||||
5-131101-frozen_reference,input_on,133666,527577,VA6_adPN,pair,False,31163.2754727602,-16338.575421839952,0.0,0.0,1.0,124,30,0.885952292672461,0.06460409058575826
|
||||
5-131101-frozen_reference,input_on,133666,527577,VA6_adPN,trio,False,31163.2754727602,-16338.575421839952,0.0,0.0,1.0,124,30,0.885952292672461,0.06460409058575826
|
||||
5-131101-frozen_reference,input_on,133666,527577,VA6_adPN,five,True,31163.2754727602,-16338.575421839952,3272.5000381469727,0.10501142734522444,0.8949885726547756,124,30,0.885952292672461,0.06460409058575826
|
||||
5-131101-frozen_reference,late,1197,11289,lLN1_bc,pair,False,400440.1592974365,-18768.20041272044,0.0,0.0,1.0,197,49,0.6631429813655062,0.3174427568555725
|
||||
5-131101-frozen_reference,late,1197,11289,lLN1_bc,trio,True,400440.1592974365,-18768.20041272044,30347.34999847412,0.07578498133583277,0.9242150186641672,197,49,0.6631429813655062,0.3174427568555725
|
||||
5-131101-frozen_reference,late,1197,11289,lLN1_bc,five,True,400440.1592974365,-18768.20041272044,35938.09999847412,0.08974649311279552,0.9102535068872045,197,49,0.6631429813655062,0.3174427568555725
|
||||
5-131101-frozen_reference,late,1381,11478,lLN1_bc,pair,True,434021.50720217824,-15876.300563067198,17666.276039123535,0.040703688056855064,0.9592963119431449,214,51,0.6475441317245327,0.33564304882273394
|
||||
5-131101-frozen_reference,late,1381,11478,lLN1_bc,trio,True,434021.50720217824,-15876.300563067198,30775.526039123535,0.07090783642845494,0.929092163571545,214,51,0.6475441317245327,0.33564304882273394
|
||||
5-131101-frozen_reference,late,1381,11478,lLN1_bc,five,True,434021.50720217824,-15876.300563067198,34129.976079940796,0.07863660098309871,0.9213633990169012,214,51,0.6475441317245327,0.33564304882273394
|
||||
5-131101-frozen_reference,late,1511,11620,lLN1_bc,pair,True,394810.084839046,-14947.625438123941,14734.5,0.03732047525079528,0.9626795247492047,205,52,0.6426365901560028,0.343878444975988
|
||||
5-131101-frozen_reference,late,1511,11620,lLN1_bc,trio,True,394810.084839046,-14947.625438123941,25471.599826812744,0.06451608204789618,0.9354839179521038,205,52,0.6426365901560028,0.343878444975988
|
||||
5-131101-frozen_reference,late,1511,11620,lLN1_bc,five,True,394810.084839046,-14947.625438123941,29944.199745178223,0.0758445665271841,0.9241554334728159,205,52,0.6426365901560028,0.343878444975988
|
||||
5-131101-frozen_reference,late,82312,109321,KC,pair,False,6953.375061511993,-273.9000059366226,0.0,0.0,1.0,8,4,0.0,0.9937512358304594
|
||||
5-131101-frozen_reference,late,82312,109321,KC,trio,False,6953.375061511993,-273.9000059366226,0.0,0.0,1.0,8,4,0.0,0.9937512358304594
|
||||
5-131101-frozen_reference,late,82312,109321,KC,five,True,6953.375061511993,-273.9000059366226,2530.5499591827393,0.3639311754071379,0.6360688245928622,8,4,0.0,0.9937512358304594
|
||||
5-131101-frozen_reference,late,133666,527577,VA6_adPN,pair,False,146126.47727772593,-76765.70198181272,0.0,0.0,1.0,119,31,0.8635693816409862,0.06365444855203661
|
||||
5-131101-frozen_reference,late,133666,527577,VA6_adPN,trio,False,146126.47727772593,-76765.70198181272,0.0,0.0,1.0,119,31,0.8635693816409862,0.06365444855203661
|
||||
5-131101-frozen_reference,late,133666,527577,VA6_adPN,five,True,146126.47727772593,-76765.70198181272,14874.750173568726,0.10179366840752606,0.898206331592474,119,31,0.8635693816409862,0.06365444855203661
|
||||
5-131101-frozen_reference,post_input,1197,11289,lLN1_bc,pair,False,704681.1913663149,-33042.62572643161,0.0,0.0,1.0,197,49,0.6632055622587613,0.31739367849466005
|
||||
5-131101-frozen_reference,post_input,1197,11289,lLN1_bc,trio,True,704681.1913663149,-33042.62572643161,53350.0,0.07570799484027527,0.9242920051597248,197,49,0.6632055622587613,0.31739367849466005
|
||||
5-131101-frozen_reference,post_input,1197,11289,lLN1_bc,five,True,704681.1913663149,-33042.62572643161,63173.0,0.08964763182839194,0.910352368171608,197,49,0.6632055622587613,0.31739367849466005
|
||||
5-131101-frozen_reference,post_input,1381,11478,lLN1_bc,pair,True,763985.7626711726,-27954.02599170804,31130.001831054688,0.04074683502243924,0.9592531649775607,214,51,0.6476485990047582,0.3355555704344717
|
||||
5-131101-frozen_reference,post_input,1381,11478,lLN1_bc,trio,True,763985.7626711726,-27954.02599170804,54230.00183105469,0.07098300057509821,0.9290169994249018,214,51,0.6476485990047582,0.3355555704344717
|
||||
5-131101-frozen_reference,post_input,1381,11478,lLN1_bc,five,True,763985.7626711726,-27954.02599170804,60123.801902770996,0.07869754233711931,0.9213024576628807,214,51,0.6476485990047582,0.3355555704344717
|
||||
5-131101-frozen_reference,post_input,1511,11620,lLN1_bc,pair,True,694834.8173243403,-26320.250771284103,25850.0,0.03720308677038206,0.9627969132296179,205,52,0.6426683013404918,0.343843600504373
|
||||
5-131101-frozen_reference,post_input,1511,11620,lLN1_bc,trio,True,694834.8173243403,-26320.250771284103,44769.99969482422,0.06443257962694482,0.9355674203730552,205,52,0.6426683013404918,0.343843600504373
|
||||
5-131101-frozen_reference,post_input,1511,11620,lLN1_bc,five,True,694834.8173243403,-26320.250771284103,52628.3995513916,0.07574231779871404,0.924257682201286,205,52,0.6426683013404918,0.343843600504373
|
||||
5-131101-frozen_reference,post_input,82312,109321,KC,pair,False,12234.200108408928,-480.150010406971,0.0,0.0,1.0,8,4,0.0,0.9937286458466349
|
||||
5-131101-frozen_reference,post_input,82312,109321,KC,trio,False,12234.200108408928,-480.150010406971,0.0,0.0,1.0,8,4,0.0,0.9937286458466349
|
||||
5-131101-frozen_reference,post_input,82312,109321,KC,five,True,12234.200108408928,-480.150010406971,4446.199928283691,0.36342383554995855,0.6365761644500414,8,4,0.0,0.9937286458466349
|
||||
5-131101-frozen_reference,post_input,133666,527577,VA6_adPN,pair,False,257220.97901013494,-135185.32849037647,0.0,0.0,1.0,119,31,0.8634114087870988,0.06362865752083142
|
||||
5-131101-frozen_reference,post_input,133666,527577,VA6_adPN,trio,False,257220.97901013494,-135185.32849037647,0.0,0.0,1.0,119,31,0.8634114087870988,0.06362865752083142
|
||||
5-131101-frozen_reference,post_input,133666,527577,VA6_adPN,five,True,257220.97901013494,-135185.32849037647,26180.00030517578,0.10178019073686927,0.8982198092631307,119,31,0.8634114087870988,0.06362865752083142
|
||||
|
@@ -0,0 +1,91 @@
|
||||
trial,neuron_idx,mode,spikes,late_spikes,accepted_requests,max_abs_v_diff
|
||||
0-131101-frozen_reference,1197,base,452,228,0,0.0
|
||||
0-131101-frozen_reference,1197,omit_ALPN,451,227,0,6.856685638427734
|
||||
0-131101-frozen_reference,1197,omit_ALLN,430,217,0,6.997501373291016
|
||||
0-131101-frozen_reference,1381,base,452,228,0,0.0
|
||||
0-131101-frozen_reference,1381,omit_ALPN,451,227,0,6.882534027099609
|
||||
0-131101-frozen_reference,1381,omit_ALLN,450,228,0,6.965705871582031
|
||||
0-131101-frozen_reference,1511,base,452,228,0,0.0
|
||||
0-131101-frozen_reference,1511,omit_ALPN,451,227,0,6.788402557373047
|
||||
0-131101-frozen_reference,1511,omit_ALLN,435,219,0,6.997989654541016
|
||||
0-131101-frozen_reference,82312,base,120,60,0,0.0
|
||||
0-131101-frozen_reference,82312,omit_ALPN,0,0,0,49.784244537353516
|
||||
0-131101-frozen_reference,82312,omit_ALLN,120,60,0,0.0
|
||||
0-131101-frozen_reference,133666,base,423,213,0,0.0
|
||||
0-131101-frozen_reference,133666,omit_ALPN,414,209,0,6.993499755859375
|
||||
0-131101-frozen_reference,133666,omit_ALLN,0,0,0,68.01586532592773
|
||||
1-131101-frozen_reference,1197,base,450,228,0,0.0
|
||||
1-131101-frozen_reference,1197,omit_ALPN,449,227,0,6.7827301025390625
|
||||
1-131101-frozen_reference,1197,omit_ALLN,429,217,0,6.989978790283203
|
||||
1-131101-frozen_reference,1381,base,450,228,0,0.0
|
||||
1-131101-frozen_reference,1381,omit_ALPN,449,227,0,6.891868591308594
|
||||
1-131101-frozen_reference,1381,omit_ALLN,448,227,0,6.978725433349609
|
||||
1-131101-frozen_reference,1511,base,450,228,0,0.0
|
||||
1-131101-frozen_reference,1511,omit_ALPN,449,227,0,6.809528350830078
|
||||
1-131101-frozen_reference,1511,omit_ALLN,436,221,0,6.999870300292969
|
||||
1-131101-frozen_reference,82312,base,119,60,0,0.0
|
||||
1-131101-frozen_reference,82312,omit_ALPN,0,0,0,49.75148010253906
|
||||
1-131101-frozen_reference,82312,omit_ALLN,119,60,0,0.0
|
||||
1-131101-frozen_reference,133666,base,420,213,0,0.0
|
||||
1-131101-frozen_reference,133666,omit_ALPN,411,209,0,6.999336242675781
|
||||
1-131101-frozen_reference,133666,omit_ALLN,0,0,0,66.74695205688477
|
||||
2-131101-frozen_reference,1197,base,450,228,0,0.0
|
||||
2-131101-frozen_reference,1197,omit_ALPN,449,227,0,7.201148986816406
|
||||
2-131101-frozen_reference,1197,omit_ALLN,430,218,0,6.965644836425781
|
||||
2-131101-frozen_reference,1381,base,450,228,0,0.0
|
||||
2-131101-frozen_reference,1381,omit_ALPN,449,227,0,6.900115966796875
|
||||
2-131101-frozen_reference,1381,omit_ALLN,449,227,0,6.903411865234375
|
||||
2-131101-frozen_reference,1511,base,450,228,0,0.0
|
||||
2-131101-frozen_reference,1511,omit_ALPN,449,228,0,7.016819000244141
|
||||
2-131101-frozen_reference,1511,omit_ALLN,436,221,0,6.999500274658203
|
||||
2-131101-frozen_reference,82312,base,120,61,0,0.0
|
||||
2-131101-frozen_reference,82312,omit_ALPN,0,0,0,49.74770736694336
|
||||
2-131101-frozen_reference,82312,omit_ALLN,120,61,0,0.0
|
||||
2-131101-frozen_reference,133666,base,421,213,1,0.0
|
||||
2-131101-frozen_reference,133666,omit_ALPN,412,208,2,6.9902496337890625
|
||||
2-131101-frozen_reference,133666,omit_ALLN,7,0,7,62.351287841796875
|
||||
3-131101-frozen_reference,1197,base,448,228,0,0.0
|
||||
3-131101-frozen_reference,1197,omit_ALPN,447,227,0,6.8513336181640625
|
||||
3-131101-frozen_reference,1197,omit_ALLN,427,217,0,6.985950469970703
|
||||
3-131101-frozen_reference,1381,base,448,228,0,0.0
|
||||
3-131101-frozen_reference,1381,omit_ALPN,447,227,0,6.7781524658203125
|
||||
3-131101-frozen_reference,1381,omit_ALLN,446,227,0,6.884757995605469
|
||||
3-131101-frozen_reference,1511,base,448,228,0,0.0
|
||||
3-131101-frozen_reference,1511,omit_ALPN,447,227,0,6.765693664550781
|
||||
3-131101-frozen_reference,1511,omit_ALLN,432,220,0,6.998661041259766
|
||||
3-131101-frozen_reference,82312,base,119,60,0,0.0
|
||||
3-131101-frozen_reference,82312,omit_ALPN,0,0,0,49.70563507080078
|
||||
3-131101-frozen_reference,82312,omit_ALLN,119,60,0,0.0
|
||||
3-131101-frozen_reference,133666,base,416,212,0,0.0
|
||||
3-131101-frozen_reference,133666,omit_ALPN,409,208,0,6.999031066894531
|
||||
3-131101-frozen_reference,133666,omit_ALLN,0,0,0,65.64041137695312
|
||||
4-131101-frozen_reference,1197,base,447,228,0,0.0
|
||||
4-131101-frozen_reference,1197,omit_ALPN,446,227,0,7.811756134033203
|
||||
4-131101-frozen_reference,1197,omit_ALLN,427,218,0,6.9808502197265625
|
||||
4-131101-frozen_reference,1381,base,447,227,0,0.0
|
||||
4-131101-frozen_reference,1381,omit_ALPN,446,227,0,7.942817687988281
|
||||
4-131101-frozen_reference,1381,omit_ALLN,446,227,0,6.9832305908203125
|
||||
4-131101-frozen_reference,1511,base,447,228,0,0.0
|
||||
4-131101-frozen_reference,1511,omit_ALPN,446,227,0,7.9716339111328125
|
||||
4-131101-frozen_reference,1511,omit_ALLN,431,219,0,6.999584197998047
|
||||
4-131101-frozen_reference,82312,base,119,61,0,0.0
|
||||
4-131101-frozen_reference,82312,omit_ALPN,0,0,0,49.71272659301758
|
||||
4-131101-frozen_reference,82312,omit_ALLN,119,61,0,0.0
|
||||
4-131101-frozen_reference,133666,base,416,213,0,0.0
|
||||
4-131101-frozen_reference,133666,omit_ALPN,408,208,0,6.988597869873047
|
||||
4-131101-frozen_reference,133666,omit_ALLN,0,0,0,64.48970031738281
|
||||
5-131101-frozen_reference,1197,base,451,228,0,0.0
|
||||
5-131101-frozen_reference,1197,omit_ALPN,450,227,0,6.894649505615234
|
||||
5-131101-frozen_reference,1197,omit_ALLN,430,217,0,6.930168151855469
|
||||
5-131101-frozen_reference,1381,base,451,228,0,0.0
|
||||
5-131101-frozen_reference,1381,omit_ALPN,450,227,0,6.580455780029297
|
||||
5-131101-frozen_reference,1381,omit_ALLN,450,228,0,6.970005035400391
|
||||
5-131101-frozen_reference,1511,base,451,228,0,0.0
|
||||
5-131101-frozen_reference,1511,omit_ALPN,450,227,0,6.744312286376953
|
||||
5-131101-frozen_reference,1511,omit_ALLN,436,221,0,6.999179840087891
|
||||
5-131101-frozen_reference,82312,base,120,61,0,0.0
|
||||
5-131101-frozen_reference,82312,omit_ALPN,0,0,0,49.82535934448242
|
||||
5-131101-frozen_reference,82312,omit_ALLN,120,61,0,0.0
|
||||
5-131101-frozen_reference,133666,base,423,214,0,0.0
|
||||
5-131101-frozen_reference,133666,omit_ALPN,416,210,0,6.996131896972656
|
||||
5-131101-frozen_reference,133666,omit_ALLN,0,0,0,65.95943832397461
|
||||
|
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"path": "REPORT.md",
|
||||
"bytes": 2032,
|
||||
"sha256": "0c3c6db65be1f886f43e6c1d626d11086a41d739c3b74e8789ea14dd99b8ac5c"
|
||||
},
|
||||
{
|
||||
"path": "context-fractions.csv",
|
||||
"bytes": 49800,
|
||||
"sha256": "980024748379a30d470672e2fce6b4a0b1ad636a4f54ff630c1f10f1bd0fa387"
|
||||
},
|
||||
{
|
||||
"path": "existing-conditional-replay.csv",
|
||||
"bytes": 5633,
|
||||
"sha256": "1f3e85da1527d3ae4720b6f0673ce1e90ad3739c992fbe25753a8c688e8ec01c"
|
||||
},
|
||||
{
|
||||
"path": "protocol.json",
|
||||
"bytes": 3256,
|
||||
"sha256": "320a33e0a21653091c25c4eaf07b949accd2a7ce6d5918c440ad07e09b6ffed0"
|
||||
},
|
||||
{
|
||||
"path": "source-neuron-fractions.csv",
|
||||
"bytes": 1812302,
|
||||
"sha256": "c6415f02fc8832830ce6f8b260583fe2e16964540b2ba49c527a67de4e14f518"
|
||||
},
|
||||
{
|
||||
"path": "source-type-fractions.csv",
|
||||
"bytes": 837656,
|
||||
"sha256": "29384ffd4844d46019a8e65c314f22a09f86d4645806107f07ce8b5de7c93962"
|
||||
},
|
||||
{
|
||||
"path": "summary.csv",
|
||||
"bytes": 908,
|
||||
"sha256": "c53fefb51bad059f176f90ecf53fa2ea3c53e57f710a88c3f61f5004a5d6ad67"
|
||||
},
|
||||
{
|
||||
"path": "verification.json",
|
||||
"bytes": 266,
|
||||
"sha256": "d7e99c7af2a28424d064eb025b0ff05b93242c2f285263d966ca63a568c25ee8"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"timestamp_utc": "2026-09-29T17:05:44.827567+00:00",
|
||||
"source": "tools/review_feedback_context.py",
|
||||
"source_sha256": "f2ca2dddc2b3ae562758ea5ea2264a325756d2360d8f3134c6328a3a3c65b286",
|
||||
"analysis": "Post-hoc contextualization of preselected motifs using existing sealed accounting; no new simulations.",
|
||||
"scope": "All six archived calibration odors, seed 131101, frozen_reference only; not heldout or learning evidence.",
|
||||
"inputs": [
|
||||
{
|
||||
"path": "experiments/phase4z-pn-feedback-audit/drive/edge-accounting.parquet",
|
||||
"bytes": 1118095,
|
||||
"sha256": "b577a89457ddbfef44aebf44597b7341a1b135fbf8cb6d930b297432fc413227",
|
||||
"sealed_manifest_sha256": "992fdd04143da9814dd7d6df4dfcfd087ceba1a65b7eeba3bf48a582c744117e"
|
||||
},
|
||||
{
|
||||
"path": "experiments/phase4z-pn-feedback-audit/replay/results.parquet",
|
||||
"bytes": 10290,
|
||||
"sha256": "e98b2115556dd756a184c4ff842932e41b35f7bc2d77360950362c4a06b0d2c7",
|
||||
"sealed_manifest_sha256": "992fdd04143da9814dd7d6df4dfcfd087ceba1a65b7eeba3bf48a582c744117e"
|
||||
},
|
||||
{
|
||||
"path": "experiments/phase4z-pn-feedback-audit/drive/late-ISI-and-g.parquet",
|
||||
"bytes": 12092,
|
||||
"sha256": "b9d33056207b3756f33bb7133b3e687f51a9fcd476112dc8e756b8b2f243b442",
|
||||
"sealed_manifest_sha256": "992fdd04143da9814dd7d6df4dfcfd087ceba1a65b7eeba3bf48a582c744117e"
|
||||
},
|
||||
{
|
||||
"path": "experiments/phase4z-pn-feedback-audit/audit/incoming-source-metadata.parquet",
|
||||
"bytes": 238792,
|
||||
"sha256": "4336f9b4759fdcd6120568a908a5e0ec67a9f6cd6baff48e75f5d2167d476485",
|
||||
"sealed_manifest_sha256": "992fdd04143da9814dd7d6df4dfcfd087ceba1a65b7eeba3bf48a582c744117e"
|
||||
},
|
||||
{
|
||||
"path": "experiments/phase4z-pn-feedback-audit/audit/watched-metadata.parquet",
|
||||
"bytes": 35578,
|
||||
"sha256": "6acb942009013be7a0b328ada99df493b5826bd375a57f73418a09d361eb900c",
|
||||
"sealed_manifest_sha256": "992fdd04143da9814dd7d6df4dfcfd087ceba1a65b7eeba3bf48a582c744117e"
|
||||
},
|
||||
{
|
||||
"path": "experiments/phase4z-pn-feedback-audit/regression/trials.json",
|
||||
"bytes": 40209,
|
||||
"sha256": "c9148f77ee46b9c3096c141d6251794ba0a3b7c44c869eafe981ab24d79354bb",
|
||||
"sealed_manifest_sha256": "992fdd04143da9814dd7d6df4dfcfd087ceba1a65b7eeba3bf48a582c744117e"
|
||||
},
|
||||
{
|
||||
"path": "experiments/phase4ac-lif-semantics/audit/selected-real-edges.csv",
|
||||
"bytes": 547,
|
||||
"sha256": "9103e9d03fa21058a4f6cd21780c56fed8cdcfca26c34c2a43726e39aed8ec55",
|
||||
"sealed_manifest_sha256": "4e7d1606e107fe72f5dad935952705260577edaba6f811d65b4105ce07abd72c"
|
||||
},
|
||||
{
|
||||
"path": "experiments/phase4ac-lif-semantics/motifs/summary.csv",
|
||||
"bytes": 1009,
|
||||
"sha256": "4e762a26ecc7d3c3f862260495b6064a60832431b61dd41b944e8c501617a906",
|
||||
"sealed_manifest_sha256": "4e7d1606e107fe72f5dad935952705260577edaba6f811d65b4105ce07abd72c"
|
||||
},
|
||||
{
|
||||
"path": "experiments/phase4ac-lif-semantics/audit/final-status.json",
|
||||
"bytes": 227,
|
||||
"sha256": "c61d57cfb8808b0af5133e5d061e3ed6c435a6475f7a23b90f16c2de45d999fb",
|
||||
"sealed_manifest_sha256": "4e7d1606e107fe72f5dad935952705260577edaba6f811d65b4105ce07abd72c"
|
||||
}
|
||||
],
|
||||
"metric": "sum of positive arrived synaptic weights, NOT g trajectory attribution or causal responsibility"
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,6 @@
|
||||
neuron_idx,body_id,type,internal_positive_fraction_min,internal_positive_fraction_max,sources_for_80_percent_min,sources_for_80_percent_max,positive_sources_min,positive_sources_max,isolated_five_late_spikes,whole_brain_late_rate_min,whole_brain_late_rate_max,base_late_min,base_late_max,omit_ALLN_late_min,omit_ALLN_late_max,omit_ALPN_late_min,omit_ALPN_late_max
|
||||
1197,11289,lLN1_bc,0.08960140811364586,0.08988441360051412,49,49,197,197,185,456.0,456.0,228,228,217,218,227,227
|
||||
1381,11478,lLN1_bc,0.07863660098309871,0.0789103216189623,51,51,214,214,185,454.0,456.0,227,228,227,228,227,227
|
||||
1511,11620,lLN1_bc,0.07569838634101086,0.07596087892954709,52,52,205,205,186,456.0,456.0,228,228,219,221,227,228
|
||||
82312,109321,KC,0.3616168737979565,0.3639311754071379,4,4,8,8,41,120.0,122.0,60,61,60,61,0,0
|
||||
133666,527577,VA6_adPN,0.10176837945956113,0.10217650374647959,31,31,119,119,150,424.0,428.0,212,214,0,0,208,210
|
||||
|
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"pass_all": true,
|
||||
"inputs_before_after_identical": true,
|
||||
"inputs_checked": 9,
|
||||
"edge_identity_matches": 13,
|
||||
"frozen_source_CPU_replay_checks": "Previously sealed Phase4Z regressions, not rerun here",
|
||||
"new_simulations": 0,
|
||||
"learning_achieved": false
|
||||
}
|
||||
@@ -0,0 +1,356 @@
|
||||
[
|
||||
{
|
||||
"bytes": 2388,
|
||||
"copy": "evidence/INTERPRETATION.zh.md",
|
||||
"sha256": "50d11647abe23cd7f259d6835e20fa46bfe0cdfe248d75ae69c6b21051b3680d",
|
||||
"source": "experiments/phase4ab-terminal-scope/INTERPRETATION.zh.md"
|
||||
},
|
||||
{
|
||||
"bytes": 3990,
|
||||
"copy": "evidence/REPORT.md",
|
||||
"sha256": "8d0c3ffbc718ada68cd4590a21726dd9c221269384e6aded32ca4731b21a983f",
|
||||
"source": "experiments/phase4ab-terminal-scope/REPORT.md"
|
||||
},
|
||||
{
|
||||
"bytes": 232,
|
||||
"copy": "evidence/audit/ROI-partition.csv",
|
||||
"sha256": "2bd15ebf2718fdf06bfc968617b5a5fc72ebfd2a965559942876e40d168a229e",
|
||||
"source": "experiments/phase4ab-terminal-scope/audit/ROI-partition.csv"
|
||||
},
|
||||
{
|
||||
"bytes": 754,
|
||||
"copy": "evidence/audit/condition-ranges.csv",
|
||||
"sha256": "c7c27fcbcb3f5c341b3fbdc6783e46405b0ceb520d34da1cb654633d57c0dd2f",
|
||||
"source": "experiments/phase4ab-terminal-scope/audit/condition-ranges.csv"
|
||||
},
|
||||
{
|
||||
"bytes": 274,
|
||||
"copy": "evidence/audit/final-service-health.json",
|
||||
"sha256": "0397c6d86eb5fd7282cbb3b06927b7627760aeedbaf176cf870257f93cd161f1",
|
||||
"source": "experiments/phase4ab-terminal-scope/audit/final-service-health.json"
|
||||
},
|
||||
{
|
||||
"bytes": 912,
|
||||
"copy": "evidence/audit/final-summary.json",
|
||||
"sha256": "954e12d578df65f3e0891ad5c260b2d6a01a16de5d8f4168bcfbccda1ce6700f",
|
||||
"source": "experiments/phase4ab-terminal-scope/audit/final-summary.json"
|
||||
},
|
||||
{
|
||||
"bytes": 587,
|
||||
"copy": "evidence/audit/mechanism-interpretation.json",
|
||||
"sha256": "aa39952c5e3f5842c3fcc6ee6462ff15abef78729ccda1e3d3854b7b939173ca",
|
||||
"source": "experiments/phase4ab-terminal-scope/audit/mechanism-interpretation.json"
|
||||
},
|
||||
{
|
||||
"bytes": 384,
|
||||
"copy": "evidence/audit/narrow-vs-allKC.csv",
|
||||
"sha256": "00ec322b8e9c4900deaadda4eac8d604c61c88685fe3409f0dc8169c6057c055",
|
||||
"source": "experiments/phase4ab-terminal-scope/audit/narrow-vs-allKC.csv"
|
||||
},
|
||||
{
|
||||
"bytes": 13321,
|
||||
"copy": "evidence/audit/population-counts.csv",
|
||||
"sha256": "7347919244fd27c2ecf7191d24302cb203769976604c4bd1c650a450c9f34604",
|
||||
"source": "experiments/phase4ab-terminal-scope/audit/population-counts.csv"
|
||||
},
|
||||
{
|
||||
"bytes": 372,
|
||||
"copy": "evidence/audit/remaining-late-KCs.csv",
|
||||
"sha256": "1f6e83038ce0ebb1ac97b5c53a07fefdd0aa183d0490e6259a47070961a4fcb1",
|
||||
"source": "experiments/phase4ab-terminal-scope/audit/remaining-late-KCs.csv"
|
||||
},
|
||||
{
|
||||
"bytes": 1361,
|
||||
"copy": "evidence/audit/request-comparison.csv",
|
||||
"sha256": "b9ead245b439d22ecac202db3c15e9dae9882aac8af318895039c9f676c97f63",
|
||||
"source": "experiments/phase4ab-terminal-scope/audit/request-comparison.csv"
|
||||
},
|
||||
{
|
||||
"bytes": 176,
|
||||
"copy": "evidence/audit/run-complete.json",
|
||||
"sha256": "a0038972a067a029a607920bfb441519950511cad54853d5fa33067e61273b8b",
|
||||
"source": "experiments/phase4ab-terminal-scope/audit/run-complete.json"
|
||||
},
|
||||
{
|
||||
"bytes": 616,
|
||||
"copy": "evidence/audit/scope-summary.json",
|
||||
"sha256": "67a8ce7fe5677fd7ab6e516f68254b4eb941a2f9f702de34027f69e91ce626de",
|
||||
"source": "experiments/phase4ab-terminal-scope/audit/scope-summary.json"
|
||||
},
|
||||
{
|
||||
"bytes": 3810,
|
||||
"copy": "evidence/audit/trials.csv",
|
||||
"sha256": "f9e0fd08cc5a2fe650749b06b3ca631b1c8258f3f1e40690458dbc5668920deb",
|
||||
"source": "experiments/phase4ab-terminal-scope/audit/trials.csv"
|
||||
},
|
||||
{
|
||||
"bytes": 17593,
|
||||
"copy": "evidence/audit/watched-counts.csv",
|
||||
"sha256": "4256b8a89e2d5f55ca7b0ef2a45110dd0593994e3416a1de14144908f2a941af",
|
||||
"source": "experiments/phase4ab-terminal-scope/audit/watched-counts.csv"
|
||||
},
|
||||
{
|
||||
"bytes": 21478,
|
||||
"copy": "evidence/checksums.sha256",
|
||||
"sha256": "d83926a3055d9f9ca471ceba328076d7ceba883f267468750914080733e95e31",
|
||||
"source": "experiments/phase4ab-terminal-scope/checksums.sha256"
|
||||
},
|
||||
{
|
||||
"bytes": 443,
|
||||
"copy": "evidence/gpu-reference/extension.json",
|
||||
"sha256": "eb664fc02ec10508dfca36b107ab8f083d682113d172f4183aed7b766d96dd45",
|
||||
"source": "experiments/phase4ab-terminal-scope/gpu-reference/extension.json"
|
||||
},
|
||||
{
|
||||
"bytes": 35253,
|
||||
"copy": "evidence/manifest.json",
|
||||
"sha256": "cb3723f9dae29d4889489ae39f40293c927f4f9e532551e2c4d5214bf0a70140",
|
||||
"source": "experiments/phase4ab-terminal-scope/manifest.json"
|
||||
},
|
||||
{
|
||||
"bytes": 237,
|
||||
"copy": "evidence/performance/summary.json",
|
||||
"sha256": "93a5b9bc4de3bf479916ae4b701fa7e23b570c442559e95a7aeabb7b33cd5410",
|
||||
"source": "experiments/phase4ab-terminal-scope/performance/summary.json"
|
||||
},
|
||||
{
|
||||
"bytes": 2163,
|
||||
"copy": "evidence/protocol/calibration-panel.json",
|
||||
"sha256": "2b3ca78bf0946c757b7784719a6a7a06598941867df2a243a272a61337d2c889",
|
||||
"source": "experiments/phase4ab-terminal-scope/protocol/calibration-panel.json"
|
||||
},
|
||||
{
|
||||
"bytes": 1049,
|
||||
"copy": "evidence/protocol/environment.json",
|
||||
"sha256": "da2d2e47d2bc3ab214203723cac30a1386b09008e07118f460039e496b0b88f4",
|
||||
"source": "experiments/phase4ab-terminal-scope/protocol/environment.json"
|
||||
},
|
||||
{
|
||||
"bytes": 1341,
|
||||
"copy": "evidence/protocol/forcing-hashes.json",
|
||||
"sha256": "073a6ab1b615e9abdb06e5a6775366c3978ce7794714949de1a5f714edf98ec7",
|
||||
"source": "experiments/phase4ab-terminal-scope/protocol/forcing-hashes.json"
|
||||
},
|
||||
{
|
||||
"bytes": 4965,
|
||||
"copy": "evidence/protocol/imported-code-hashes.json",
|
||||
"sha256": "4795fae3b3a320deff14f32e4722e94ade17e464b1fbf19315a1cb1769eb1927",
|
||||
"source": "experiments/phase4ab-terminal-scope/protocol/imported-code-hashes.json"
|
||||
},
|
||||
{
|
||||
"bytes": 1429,
|
||||
"copy": "evidence/protocol/input-hashes.json",
|
||||
"sha256": "24cba080c7b72da8f40e406f1403646ff11c3cc34d9870991874575a486e3e27",
|
||||
"source": "experiments/phase4ab-terminal-scope/protocol/input-hashes.json"
|
||||
},
|
||||
{
|
||||
"bytes": 1148,
|
||||
"copy": "evidence/protocol/launch-addendum.json",
|
||||
"sha256": "1eaf84efbcd9a7f5852b8d0feb4fd57b5f01f7211080923bb3fa63dadeaa1b7f",
|
||||
"source": "experiments/phase4ab-terminal-scope/protocol/launch-addendum.json"
|
||||
},
|
||||
{
|
||||
"bytes": 310,
|
||||
"copy": "evidence/protocol/mask-hashes.json",
|
||||
"sha256": "6cee0248b8fb13a99f997c75a06542f26a1e9f5df8c8771ea997a5dc2de9d6b3",
|
||||
"source": "experiments/phase4ab-terminal-scope/protocol/mask-hashes.json"
|
||||
},
|
||||
{
|
||||
"bytes": 1742,
|
||||
"copy": "evidence/protocol/preregistered.json",
|
||||
"sha256": "da8da4efa93ba69867ef732cb9d328576c5fd5b82f483803bd330f597b32e61b",
|
||||
"source": "experiments/phase4ab-terminal-scope/protocol/preregistered.json"
|
||||
},
|
||||
{
|
||||
"bytes": 248,
|
||||
"copy": "evidence/regression/0-131101-all_PN_KC_block.json",
|
||||
"sha256": "0980b7d3689cf626401d13728960c77a5f32d63fe61c5fb21869b36003ca890d",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/0-131101-all_PN_KC_block.json"
|
||||
},
|
||||
{
|
||||
"bytes": 258,
|
||||
"copy": "evidence/regression/0-131101-calyx_PN_KC_contact_block.json",
|
||||
"sha256": "fc2d7c3fd66b1816dd569721b1ffe16fb3d04195e0f39e54311235f996263e18",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/0-131101-calyx_PN_KC_contact_block.json"
|
||||
},
|
||||
{
|
||||
"bytes": 401,
|
||||
"copy": "evidence/regression/0-131101-frozen_reference.json",
|
||||
"sha256": "f0bdabde30646bbfddef9a6bc346a14e9a268ea096bf1495ade09ccb7257441b",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/0-131101-frozen_reference.json"
|
||||
},
|
||||
{
|
||||
"bytes": 254,
|
||||
"copy": "evidence/regression/0-131101-whole_PN_output_block.json",
|
||||
"sha256": "4703574c70cf854d05038a729e072ab48ec2db60746517dc0bd76a4c90984c2b",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/0-131101-whole_PN_output_block.json"
|
||||
},
|
||||
{
|
||||
"bytes": 81,
|
||||
"copy": "evidence/regression/1-131101-all_PN_KC_block.json",
|
||||
"sha256": "104536398ec87802f8ded2ab37cce3311c0af39f74533e712c8f827eb42d738b",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/1-131101-all_PN_KC_block.json"
|
||||
},
|
||||
{
|
||||
"bytes": 91,
|
||||
"copy": "evidence/regression/1-131101-calyx_PN_KC_contact_block.json",
|
||||
"sha256": "e7a98aa3f9eb31364a6c4f1f09df059162bc6633f527dd0eff44646a5a4e469d",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/1-131101-calyx_PN_KC_contact_block.json"
|
||||
},
|
||||
{
|
||||
"bytes": 234,
|
||||
"copy": "evidence/regression/1-131101-frozen_reference.json",
|
||||
"sha256": "f1ed3d7a9a6a290295ef477bff09566a9aee08a33c98f9c62519a5f4537c472b",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/1-131101-frozen_reference.json"
|
||||
},
|
||||
{
|
||||
"bytes": 87,
|
||||
"copy": "evidence/regression/1-131101-whole_PN_output_block.json",
|
||||
"sha256": "db90cddc95d283c78b6df8279c50b30a2ebcd02b173a31ddfd1f5da8ca6c85ca",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/1-131101-whole_PN_output_block.json"
|
||||
},
|
||||
{
|
||||
"bytes": 81,
|
||||
"copy": "evidence/regression/2-131101-all_PN_KC_block.json",
|
||||
"sha256": "1ef62eb572ada32b947e8fbbe649dee7842cba3c9cb044b03291383d7ddc7c00",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/2-131101-all_PN_KC_block.json"
|
||||
},
|
||||
{
|
||||
"bytes": 91,
|
||||
"copy": "evidence/regression/2-131101-calyx_PN_KC_contact_block.json",
|
||||
"sha256": "e3e54e240443b1abbb413b27886193fba595a28af8c7277550abc399b482ccd0",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/2-131101-calyx_PN_KC_contact_block.json"
|
||||
},
|
||||
{
|
||||
"bytes": 234,
|
||||
"copy": "evidence/regression/2-131101-frozen_reference.json",
|
||||
"sha256": "663a6881b31c76bd08350fc757929233173f4af39a89f5bf1b75423ca75ee997",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/2-131101-frozen_reference.json"
|
||||
},
|
||||
{
|
||||
"bytes": 87,
|
||||
"copy": "evidence/regression/2-131101-whole_PN_output_block.json",
|
||||
"sha256": "33153ce2d016e511ea2eaf2beed2af96a2b20de91524346b894f2c04379818f9",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/2-131101-whole_PN_output_block.json"
|
||||
},
|
||||
{
|
||||
"bytes": 81,
|
||||
"copy": "evidence/regression/3-131101-all_PN_KC_block.json",
|
||||
"sha256": "6d4cc009cbc2debf074dab3c0c6b5a134cd3677c22f96aad3f44ed9793f0c2ea",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/3-131101-all_PN_KC_block.json"
|
||||
},
|
||||
{
|
||||
"bytes": 91,
|
||||
"copy": "evidence/regression/3-131101-calyx_PN_KC_contact_block.json",
|
||||
"sha256": "91ff88c1fccfbb98164a1aad137adf0681eaa4ab458ee256060447a42736af42",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/3-131101-calyx_PN_KC_contact_block.json"
|
||||
},
|
||||
{
|
||||
"bytes": 234,
|
||||
"copy": "evidence/regression/3-131101-frozen_reference.json",
|
||||
"sha256": "3688243f5e477ea991d118909263c0a0ff3fc6be8c71924e49d14d1b0f687b30",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/3-131101-frozen_reference.json"
|
||||
},
|
||||
{
|
||||
"bytes": 87,
|
||||
"copy": "evidence/regression/3-131101-whole_PN_output_block.json",
|
||||
"sha256": "71ff0a2d2ff00dcaf0b73e71edcd914f997b6698f2edecc3ad1890d2b368de44",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/3-131101-whole_PN_output_block.json"
|
||||
},
|
||||
{
|
||||
"bytes": 81,
|
||||
"copy": "evidence/regression/4-131101-all_PN_KC_block.json",
|
||||
"sha256": "780f101c402d02f199efd7e4da12464f3d92af5dce3ec0ac07b7db298eb4b5d5",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/4-131101-all_PN_KC_block.json"
|
||||
},
|
||||
{
|
||||
"bytes": 91,
|
||||
"copy": "evidence/regression/4-131101-calyx_PN_KC_contact_block.json",
|
||||
"sha256": "eff14126327297664b469447643edf0a6715fb6f63694a32be8de5ff7121dfd7",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/4-131101-calyx_PN_KC_contact_block.json"
|
||||
},
|
||||
{
|
||||
"bytes": 234,
|
||||
"copy": "evidence/regression/4-131101-frozen_reference.json",
|
||||
"sha256": "8861144ebca5477c2d26b821123223ff9493e2f3469ed647c5e3cd9798b1973e",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/4-131101-frozen_reference.json"
|
||||
},
|
||||
{
|
||||
"bytes": 87,
|
||||
"copy": "evidence/regression/4-131101-whole_PN_output_block.json",
|
||||
"sha256": "78a82eb5862db7e8c98e50307112c62caa55377a42bc971e6416f74d69295cd4",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/4-131101-whole_PN_output_block.json"
|
||||
},
|
||||
{
|
||||
"bytes": 81,
|
||||
"copy": "evidence/regression/5-131101-all_PN_KC_block.json",
|
||||
"sha256": "dc5a9055739131fceac3824357c103116870b00244801e60bb441c522a37aa8b",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/5-131101-all_PN_KC_block.json"
|
||||
},
|
||||
{
|
||||
"bytes": 91,
|
||||
"copy": "evidence/regression/5-131101-calyx_PN_KC_contact_block.json",
|
||||
"sha256": "aa2ebf99bb706524a25d3bbc1047ee0604e37572dbe037854d8d2e9b55945166",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/5-131101-calyx_PN_KC_contact_block.json"
|
||||
},
|
||||
{
|
||||
"bytes": 234,
|
||||
"copy": "evidence/regression/5-131101-frozen_reference.json",
|
||||
"sha256": "a863e8bee672db98e9fbbf6fac8a00ebb6ddf003658dfc04a47aed25e56e1c61",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/5-131101-frozen_reference.json"
|
||||
},
|
||||
{
|
||||
"bytes": 87,
|
||||
"copy": "evidence/regression/5-131101-whole_PN_output_block.json",
|
||||
"sha256": "739eb5af0a8ce21470307d57e160c31fa1504c4a0725b85e9e015fd90d733a71",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/5-131101-whole_PN_output_block.json"
|
||||
},
|
||||
{
|
||||
"bytes": 1025,
|
||||
"copy": "evidence/regression/final-integrity.json",
|
||||
"sha256": "22e3f76d2971117550a43438ec4c12e6f592dc6d8a55b6abae6f31c06056b408",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/final-integrity.json"
|
||||
},
|
||||
{
|
||||
"bytes": 1229,
|
||||
"copy": "evidence/regression/five-frozen-trials.json",
|
||||
"sha256": "31912ae3b9dc77713c5d0ac6c3e5af94b360f8c8911e0078831a2f7e4f1cba33",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/five-frozen-trials.json"
|
||||
},
|
||||
{
|
||||
"bytes": 76,
|
||||
"copy": "evidence/regression/fixed-event-replay.json",
|
||||
"sha256": "2ec053136d7744a8f158a1028d3e35a9e11424c402fb588ec977920a2c310a67",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/fixed-event-replay.json"
|
||||
},
|
||||
{
|
||||
"bytes": 1025,
|
||||
"copy": "evidence/regression/preflight.json",
|
||||
"sha256": "22e3f76d2971117550a43438ec4c12e6f592dc6d8a55b6abae6f31c06056b408",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/preflight.json"
|
||||
},
|
||||
{
|
||||
"bytes": 94,
|
||||
"copy": "evidence/regression/restored.json",
|
||||
"sha256": "d5e28ea53f1b2da7050ca66e4159a430fe330e9ff349ee95cd2e39c2402be99e",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/restored.json"
|
||||
},
|
||||
{
|
||||
"bytes": 396,
|
||||
"copy": "evidence/regression/run-start.json",
|
||||
"sha256": "4f6287aaf4324986a8c41bdbf06b784ab1d612558fa1204d1a587108788f63f4",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/run-start.json"
|
||||
},
|
||||
{
|
||||
"bytes": 773,
|
||||
"copy": "evidence/regression/unit-tests.json",
|
||||
"sha256": "7039bb7de7c47f6b2fd29ce7ab8bc86aebd0266579f5abc9518d1f4dc8a21644",
|
||||
"source": "experiments/phase4ab-terminal-scope/regression/unit-tests.json"
|
||||
},
|
||||
{
|
||||
"bytes": 2511,
|
||||
"copy": "evidence/replay/fixed-event-scope.csv",
|
||||
"sha256": "ae083713cc4b4da9c54d1184889c953e0a8673dcd4c9ad466058d92a2418252e",
|
||||
"source": "experiments/phase4ab-terminal-scope/replay/fixed-event-scope.csv"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,36 @@
|
||||
# Phase 4AB 机制解读
|
||||
|
||||
正式状态:**COMPLETE-SCOPE-COUNTERFACTUAL / NO-DYNAMICS-CANDIDATE**。
|
||||
|
||||
这一轮区分了“PN→KC 传入位置”与“维持 PN 放电的上游反馈”。没有修复或批准新的 APL 生理模型,也没有训练。
|
||||
|
||||
| 诊断范围 | 活跃 KC(6 个旧气味) | 目标 KC 晚期 spikes | VA6 PN 晚期 spikes |
|
||||
|---|---:|---:|---:|
|
||||
| 原模型 | 139–172 | 60–61 | 212–214 |
|
||||
| 仅明确 calyx 接触 | 1–2 | 0 | 212–214 |
|
||||
| 同批 PN 的全部 KC 输出 | 1 | 0 | 212–214 |
|
||||
| 同批 PN 的全部快速输出 | 0 | 0 | 0 |
|
||||
|
||||
晚期窗口是 500–1,000 ms。每个气味沿用 seed 131101;总计 24 组诊断、4 次精确重复,不是 5-seed 学习验证。
|
||||
|
||||
## 能说明什么
|
||||
|
||||
仅 calyx 接触阻断后,目标 KC82312 的晚期 spikes 范围为 0,VA6 仍为 212–214。
|
||||
同时 KC 总活跃数降为 1–2,原模型为 139–172。不能把这种接近静默的结果包装成编码或记忆改善。
|
||||
即使两个局部阻断条件的事件序列相同,其电压/g 仍可能不同;逐气味比较见 narrow-vs-allKC.csv。
|
||||
宽范围 PN 快速输出阻断影响反馈路径,不等价于局部 calyx 调制;它也没有关闭 PN 胞体或 frozen graded APL 的 PN 输入。
|
||||
|
||||
## 仍不能说明什么
|
||||
|
||||
完全阻断只是工程极端对照,不是 APL 的实测释放抑制比例。没有估计 receptor、bouton、局部扩散范围或时间常数。
|
||||
未使用 held-out 气味,未检验学习、保持、反转或动作输出。不得选取这次“让活动更少”的操作作为正式脑模型。
|
||||
剩余 late KC 的 ID/type 已单独保存;其来源不能仅凭残余计数猜测。
|
||||
|
||||
## 下一步边界
|
||||
|
||||
先继续 upstream feedback / compartment-specific physiology 的证据约束,区分 calyx 信号传递与触角叶持续放电,再确定可检验的局部动力学假设。
|
||||
不能靠增加整体抑制、调 eta/threshold、扩大 plastic mask 或让 KC 全静默宣称修复。当前不进入学习、游戏或视觉。
|
||||
|
||||
相关原始研究:[Prisco et al., 2021](https://doi.org/10.7554/eLife.74172)、[Amin et al., 2020](https://doi.org/10.7554/eLife.56954)。它们支持研究局部 APL 作用,不直接验证本实验完全阻断幅度。
|
||||
|
||||
顶层验收仍为 5/10(50%);本轮推进的是机制定位与可重复诊断能力。最终完整性状态见 regression/final-integrity.json。
|
||||
@@ -0,0 +1,52 @@
|
||||
# Phase 4AB — calyx contact-scope diagnostic
|
||||
|
||||
Status: COMPLETE-SCOPE-COUNTERFACTUAL / NO-DYNAMICS-CANDIDATE.
|
||||
Diagnostic interventions only; no calibrated biological inhibition, no training, no parameter winner.
|
||||
|
||||
Eligible PNs: 229/259. CA mask: 20263 edges / 337099 contacts.
|
||||
Affected KCs: 3760. Mixed-ROI affected edges: 3323; retained other contacts: 28975.
|
||||
Broader PN→KC control: 21882 edges / 384555 contacts. All-fast-PN-output control: 116211 edges / 1268111 contacts.
|
||||
|
||||
| Odor | Condition | Active KC | KC late spikes | KC82312 late | VA6 late |
|
||||
|---|---|---:|---:|---:|---:|
|
||||
| ethyl (R)-(-)-3-hydroxybutanoate | frozen_reference | 160 | 114 | 60 | 213 |
|
||||
| ethyl (R)-(-)-3-hydroxybutanoate | calyx_PN_KC_contact_block | 1 | 39 | 0 | 214 |
|
||||
| ethyl (R)-(-)-3-hydroxybutanoate | all_PN_KC_block | 1 | 39 | 0 | 214 |
|
||||
| ethyl (R)-(-)-3-hydroxybutanoate | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||
| 3-penten-2-one | frozen_reference | 172 | 118 | 60 | 213 |
|
||||
| 3-penten-2-one | calyx_PN_KC_contact_block | 2 | 39 | 0 | 213 |
|
||||
| 3-penten-2-one | all_PN_KC_block | 1 | 39 | 0 | 213 |
|
||||
| 3-penten-2-one | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||
| (2R)-hexan-2-ol | frozen_reference | 144 | 117 | 61 | 213 |
|
||||
| (2R)-hexan-2-ol | calyx_PN_KC_contact_block | 1 | 39 | 0 | 213 |
|
||||
| (2R)-hexan-2-ol | all_PN_KC_block | 1 | 39 | 0 | 213 |
|
||||
| (2R)-hexan-2-ol | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||
| gamma-propyl-gamma-butyrolactone | frozen_reference | 151 | 117 | 60 | 212 |
|
||||
| gamma-propyl-gamma-butyrolactone | calyx_PN_KC_contact_block | 2 | 39 | 0 | 212 |
|
||||
| gamma-propyl-gamma-butyrolactone | all_PN_KC_block | 1 | 40 | 0 | 212 |
|
||||
| gamma-propyl-gamma-butyrolactone | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||
| 2-methyl butyl acetate | frozen_reference | 139 | 118 | 61 | 213 |
|
||||
| 2-methyl butyl acetate | calyx_PN_KC_contact_block | 1 | 39 | 0 | 212 |
|
||||
| 2-methyl butyl acetate | all_PN_KC_block | 1 | 39 | 0 | 212 |
|
||||
| 2-methyl butyl acetate | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||
| ethyl (S)-(+)-3-hydroxybutanoate | frozen_reference | 163 | 119 | 61 | 214 |
|
||||
| ethyl (S)-(+)-3-hydroxybutanoate | calyx_PN_KC_contact_block | 1 | 39 | 0 | 214 |
|
||||
| ethyl (S)-(+)-3-hydroxybutanoate | all_PN_KC_block | 1 | 39 | 0 | 214 |
|
||||
| ethyl (S)-(+)-3-hydroxybutanoate | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||
|
||||
Late means 500–1,000 ms; 120 ms old calibration odor input; one seed, six old odors. No held-out generalization claim.
|
||||
Identical scheduled requests across conditions. Delivered request-associated output differences versus reference: 459 (summed over all comparisons). See per-trial table; this is state/refractory feedback, not a changed RNG.
|
||||
|
||||
## Interpretation limits
|
||||
|
||||
CA selection uses exact primary_post labels plus matched APL→PN/ROI metadata, not bouton identities or inferred receptors. Unknown ROIs are not reclassified.
|
||||
Whole-PN control removes fast output, not somatic spikes or the frozen graded APL input. It is not a complete PN knockout.
|
||||
Reduction/silencing is not restored information or associative memory. No condition becomes a formal model. Fixed-event replay freezes other recorded events/APL; dynamic trials allow natural recurrent feedback.
|
||||
Local-inhibition motivation: [Prisco et al.](https://doi.org/10.7554/eLife.74172), [Amin et al.](https://doi.org/10.7554/eLife.56954). These sources do not establish the complete-block operator as physiological.
|
||||
|
||||
## Verification
|
||||
|
||||
Six original trials reproduced exactly (whole spike events, watched state and final counts/V/g). Four first-odor repeats exact. Five deterministic-v2 frozen reference trials exact. Finite state throughout.
|
||||
Original 230,239 files and both Phase 4AA manifests rechecked before/after. Base CSR/count/sign, frozen LIF/APL, eligibility-v2 and 14,232 plastic mask preserved.
|
||||
Timing includes diagnostic CPU/GPU observation overhead and is not a runtime speed benchmark. ComfyUI was not stopped or unloaded.
|
||||
Top-level acceptance gates remain 5/10 (50%); anatomical diagnosis is not evidence of learning success.
|
||||
@@ -0,0 +1,12 @@
|
||||
primary_post,in_scope,contacts
|
||||
CA(L),False,927
|
||||
CA(L),True,152627
|
||||
CA(R),False,11
|
||||
CA(R),True,184472
|
||||
LH(L),False,15
|
||||
PLP(L),False,14
|
||||
SCL(L),False,792
|
||||
SCL(R),False,140
|
||||
SLP(R),False,57
|
||||
SMP(L),False,15
|
||||
CentralBrain-unspecified,False,46159
|
||||
|
@@ -0,0 +1,5 @@
|
||||
condition,whole_spikes_min,whole_spikes_max,KC_active_min,KC_active_max,KC_spikes_min,KC_spikes_max,KC_late_spikes_min,KC_late_spikes_max,KC82312_late_spikes_min,KC82312_late_spikes_max,VA6_late_spikes_min,VA6_late_spikes_max,wall_seconds_min,wall_seconds_max
|
||||
frozen_reference,1102887.0,1113472.0,139.0,172.0,372.0,408.0,114.0,119.0,60.0,61.0,212.0,214.0,14.812315593997482,15.05500110599678
|
||||
calyx_PN_KC_contact_block,1096632.0,1112931.0,1.0,2.0,72.0,73.0,39.0,39.0,0.0,0.0,212.0,214.0,14.777685339009622,14.96407428199018
|
||||
all_PN_KC_block,1096632.0,1112931.0,1.0,1.0,72.0,73.0,39.0,40.0,0.0,0.0,212.0,214.0,14.785283767996589,14.836084023001604
|
||||
whole_PN_output_block,72.0,188.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,9.320402383003966,9.454139529989334
|
||||
|
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"ComfyUI_queues": [
|
||||
{
|
||||
"pending": 0,
|
||||
"port": 8188,
|
||||
"running": 0
|
||||
},
|
||||
{
|
||||
"pending": 0,
|
||||
"port": 8189,
|
||||
"running": 0
|
||||
},
|
||||
{
|
||||
"pending": 0,
|
||||
"port": 8190,
|
||||
"running": 0
|
||||
}
|
||||
],
|
||||
"services_stopped": false
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"candidate": false,
|
||||
"frozen_baseline_modified": false,
|
||||
"integrity_pass": true,
|
||||
"preserved_acceptance_gates": "5/10",
|
||||
"reference_pass": true,
|
||||
"scope": {
|
||||
"APL_target_PNs": 259,
|
||||
"all_PN_KC_contacts": 384555,
|
||||
"all_PN_KC_edges": 21882,
|
||||
"biophysical_coefficient_known": false,
|
||||
"calyx_affected_KCs": 3760,
|
||||
"calyx_blocked_contacts": 337099,
|
||||
"calyx_mask_edges": 20263,
|
||||
"calyx_other_contacts_retained_on_affected_edges": 28975,
|
||||
"edges": 25582938,
|
||||
"eligible_PNs": 229,
|
||||
"ineligible_PNs": 30,
|
||||
"mixed_CA_nonCA_edges": 3323,
|
||||
"neurons": 166700,
|
||||
"raw_contacts": 124177617,
|
||||
"same_bouton_confirmed": false,
|
||||
"unknown_ROI_contacts_in_original_PN_KC": 46159,
|
||||
"unknown_contacts_relabelled": 0,
|
||||
"whole_PN_contacts": 1268111,
|
||||
"whole_PN_edges": 116211
|
||||
},
|
||||
"status": "COMPLETE-SCOPE-COUNTERFACTUAL / NO-DYNAMICS-CANDIDATE",
|
||||
"training": false
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"CA_block_ALLN_watched_late_rate_range_hz": [
|
||||
454.0,
|
||||
456.0
|
||||
],
|
||||
"CA_block_active_KC_range": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"CA_vs_allKC_spike_sequence_exact_for_all_odors": false,
|
||||
"all_six_CA_block_VA6_late_persists": true,
|
||||
"all_six_CA_block_targetKC_late_zero": true,
|
||||
"all_six_broad_block_KC_and_VA6_late_zero": true,
|
||||
"new_candidate": false,
|
||||
"not_a_memory_or_separability_success": true,
|
||||
"not_a_physiological_APL_gain_estimate": true,
|
||||
"posthoc_summary_not_new_experiment": true,
|
||||
"source_sha256": "33ba5f323e9ed3343f43a8d64fb7e862c8a4f1118b9b441f4745e26cc14303a8"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
odor_index,terminal_vs_allKC_events_exact,counts_exact,max_V_difference,max_g_difference
|
||||
0,True,True,59.083824157714844,66.9503173828125
|
||||
1,False,False,232.58389282226562,346.2290802001953
|
||||
2,True,True,59.49408721923828,60.36189270019531
|
||||
3,False,False,173.94474029541016,486.3127136230469
|
||||
4,True,True,59.40711975097656,59.434303283691406
|
||||
5,True,True,59.37791442871094,58.91309356689453
|
||||
|
@@ -0,0 +1,241 @@
|
||||
trial,population,neurons,active,spikes,late_spikes
|
||||
0-131101-frozen_reference,ALLN,420,388,111462,56532
|
||||
0-131101-frozen_reference,ALPN,686,573,126794,64388
|
||||
0-131101-frozen_reference,APL,2,2,898,454
|
||||
0-131101-frozen_reference,DAN,340,133,10825,5631
|
||||
0-131101-frozen_reference,DPM,2,2,738,376
|
||||
0-131101-frozen_reference,KC,4064,160,384,114
|
||||
0-131101-frozen_reference,MBON,97,66,10545,5405
|
||||
0-131101-frozen_reference,PN_olfactory_annotation,2639,54,3217,1665
|
||||
0-131101-frozen_reference,dopamine_metadata_role_unknown,52,48,5907,3127
|
||||
0-131101-frozen_reference,other_annotation,158398,12975,840820,429844
|
||||
0-131101-calyx_PN_KC_contact_block,ALLN,420,388,111462,56539
|
||||
0-131101-calyx_PN_KC_contact_block,ALPN,686,573,126817,64399
|
||||
0-131101-calyx_PN_KC_contact_block,APL,2,2,897,455
|
||||
0-131101-calyx_PN_KC_contact_block,DAN,340,134,10738,5648
|
||||
0-131101-calyx_PN_KC_contact_block,DPM,2,2,718,376
|
||||
0-131101-calyx_PN_KC_contact_block,KC,4064,1,72,39
|
||||
0-131101-calyx_PN_KC_contact_block,MBON,97,62,10335,5403
|
||||
0-131101-calyx_PN_KC_contact_block,PN_olfactory_annotation,2639,53,3214,1660
|
||||
0-131101-calyx_PN_KC_contact_block,dopamine_metadata_role_unknown,52,50,5937,3092
|
||||
0-131101-calyx_PN_KC_contact_block,other_annotation,158398,13391,838005,431222
|
||||
0-131101-all_PN_KC_block,ALLN,420,388,111462,56539
|
||||
0-131101-all_PN_KC_block,ALPN,686,573,126817,64399
|
||||
0-131101-all_PN_KC_block,APL,2,2,897,455
|
||||
0-131101-all_PN_KC_block,DAN,340,134,10738,5648
|
||||
0-131101-all_PN_KC_block,DPM,2,2,718,376
|
||||
0-131101-all_PN_KC_block,KC,4064,1,72,39
|
||||
0-131101-all_PN_KC_block,MBON,97,62,10335,5403
|
||||
0-131101-all_PN_KC_block,PN_olfactory_annotation,2639,53,3214,1660
|
||||
0-131101-all_PN_KC_block,dopamine_metadata_role_unknown,52,50,5937,3092
|
||||
0-131101-all_PN_KC_block,other_annotation,158398,13391,838005,431222
|
||||
0-131101-whole_PN_output_block,ALLN,420,0,0,0
|
||||
0-131101-whole_PN_output_block,ALPN,686,41,126,0
|
||||
0-131101-whole_PN_output_block,APL,2,0,0,0
|
||||
0-131101-whole_PN_output_block,DAN,340,0,0,0
|
||||
0-131101-whole_PN_output_block,DPM,2,0,0,0
|
||||
0-131101-whole_PN_output_block,KC,4064,0,0,0
|
||||
0-131101-whole_PN_output_block,MBON,97,0,0,0
|
||||
0-131101-whole_PN_output_block,PN_olfactory_annotation,2639,0,0,0
|
||||
0-131101-whole_PN_output_block,dopamine_metadata_role_unknown,52,0,0,0
|
||||
0-131101-whole_PN_output_block,other_annotation,158398,0,0,0
|
||||
1-131101-frozen_reference,ALLN,420,386,111149,56510
|
||||
1-131101-frozen_reference,ALPN,686,575,126477,64377
|
||||
1-131101-frozen_reference,APL,2,2,896,454
|
||||
1-131101-frozen_reference,DAN,340,135,10828,5658
|
||||
1-131101-frozen_reference,DPM,2,2,738,376
|
||||
1-131101-frozen_reference,KC,4064,172,408,118
|
||||
1-131101-frozen_reference,MBON,97,64,10551,5408
|
||||
1-131101-frozen_reference,PN_olfactory_annotation,2639,53,3198,1661
|
||||
1-131101-frozen_reference,dopamine_metadata_role_unknown,52,48,5836,3066
|
||||
1-131101-frozen_reference,other_annotation,158398,12679,835147,430753
|
||||
1-131101-calyx_PN_KC_contact_block,ALLN,420,386,111166,56517
|
||||
1-131101-calyx_PN_KC_contact_block,ALPN,686,575,126464,64367
|
||||
1-131101-calyx_PN_KC_contact_block,APL,2,2,894,454
|
||||
1-131101-calyx_PN_KC_contact_block,DAN,340,135,10685,5656
|
||||
1-131101-calyx_PN_KC_contact_block,DPM,2,2,715,376
|
||||
1-131101-calyx_PN_KC_contact_block,KC,4064,2,73,39
|
||||
1-131101-calyx_PN_KC_contact_block,MBON,97,62,10304,5398
|
||||
1-131101-calyx_PN_KC_contact_block,PN_olfactory_annotation,2639,53,3199,1662
|
||||
1-131101-calyx_PN_KC_contact_block,dopamine_metadata_role_unknown,52,50,5988,3120
|
||||
1-131101-calyx_PN_KC_contact_block,other_annotation,158398,13097,832489,430551
|
||||
1-131101-all_PN_KC_block,ALLN,420,386,111184,56531
|
||||
1-131101-all_PN_KC_block,ALPN,686,575,126471,64363
|
||||
1-131101-all_PN_KC_block,APL,2,2,894,454
|
||||
1-131101-all_PN_KC_block,DAN,340,135,10680,5653
|
||||
1-131101-all_PN_KC_block,DPM,2,2,715,376
|
||||
1-131101-all_PN_KC_block,KC,4064,1,72,39
|
||||
1-131101-all_PN_KC_block,MBON,97,62,10322,5406
|
||||
1-131101-all_PN_KC_block,PN_olfactory_annotation,2639,53,3194,1655
|
||||
1-131101-all_PN_KC_block,dopamine_metadata_role_unknown,52,50,5942,3110
|
||||
1-131101-all_PN_KC_block,other_annotation,158398,13007,836163,431478
|
||||
1-131101-whole_PN_output_block,ALLN,420,0,0,0
|
||||
1-131101-whole_PN_output_block,ALPN,686,39,161,0
|
||||
1-131101-whole_PN_output_block,APL,2,0,0,0
|
||||
1-131101-whole_PN_output_block,DAN,340,0,0,0
|
||||
1-131101-whole_PN_output_block,DPM,2,0,0,0
|
||||
1-131101-whole_PN_output_block,KC,4064,0,0,0
|
||||
1-131101-whole_PN_output_block,MBON,97,0,0,0
|
||||
1-131101-whole_PN_output_block,PN_olfactory_annotation,2639,0,0,0
|
||||
1-131101-whole_PN_output_block,dopamine_metadata_role_unknown,52,0,0,0
|
||||
1-131101-whole_PN_output_block,other_annotation,158398,0,0,0
|
||||
2-131101-frozen_reference,ALLN,420,386,111332,56527
|
||||
2-131101-frozen_reference,ALPN,686,577,126658,64397
|
||||
2-131101-frozen_reference,APL,2,2,899,454
|
||||
2-131101-frozen_reference,DAN,340,133,10885,5658
|
||||
2-131101-frozen_reference,DPM,2,2,738,376
|
||||
2-131101-frozen_reference,KC,4064,144,381,117
|
||||
2-131101-frozen_reference,MBON,97,60,10553,5414
|
||||
2-131101-frozen_reference,PN_olfactory_annotation,2639,53,3208,1661
|
||||
2-131101-frozen_reference,dopamine_metadata_role_unknown,52,50,5923,3083
|
||||
2-131101-frozen_reference,other_annotation,158398,13110,840199,429145
|
||||
2-131101-calyx_PN_KC_contact_block,ALLN,420,386,111307,56511
|
||||
2-131101-calyx_PN_KC_contact_block,ALPN,686,577,126662,64387
|
||||
2-131101-calyx_PN_KC_contact_block,APL,2,2,898,455
|
||||
2-131101-calyx_PN_KC_contact_block,DAN,340,135,10680,5636
|
||||
2-131101-calyx_PN_KC_contact_block,DPM,2,2,719,376
|
||||
2-131101-calyx_PN_KC_contact_block,KC,4064,1,73,39
|
||||
2-131101-calyx_PN_KC_contact_block,MBON,97,62,10367,5405
|
||||
2-131101-calyx_PN_KC_contact_block,PN_olfactory_annotation,2639,53,3207,1662
|
||||
2-131101-calyx_PN_KC_contact_block,dopamine_metadata_role_unknown,52,50,5946,3109
|
||||
2-131101-calyx_PN_KC_contact_block,other_annotation,158398,13123,838495,430503
|
||||
2-131101-all_PN_KC_block,ALLN,420,386,111307,56511
|
||||
2-131101-all_PN_KC_block,ALPN,686,577,126662,64387
|
||||
2-131101-all_PN_KC_block,APL,2,2,898,455
|
||||
2-131101-all_PN_KC_block,DAN,340,135,10680,5636
|
||||
2-131101-all_PN_KC_block,DPM,2,2,719,376
|
||||
2-131101-all_PN_KC_block,KC,4064,1,73,39
|
||||
2-131101-all_PN_KC_block,MBON,97,62,10367,5405
|
||||
2-131101-all_PN_KC_block,PN_olfactory_annotation,2639,53,3207,1662
|
||||
2-131101-all_PN_KC_block,dopamine_metadata_role_unknown,52,50,5946,3109
|
||||
2-131101-all_PN_KC_block,other_annotation,158398,13123,838495,430503
|
||||
2-131101-whole_PN_output_block,ALLN,420,0,0,0
|
||||
2-131101-whole_PN_output_block,ALPN,686,28,111,0
|
||||
2-131101-whole_PN_output_block,APL,2,0,0,0
|
||||
2-131101-whole_PN_output_block,DAN,340,0,0,0
|
||||
2-131101-whole_PN_output_block,DPM,2,0,0,0
|
||||
2-131101-whole_PN_output_block,KC,4064,0,0,0
|
||||
2-131101-whole_PN_output_block,MBON,97,0,0,0
|
||||
2-131101-whole_PN_output_block,PN_olfactory_annotation,2639,0,0,0
|
||||
2-131101-whole_PN_output_block,dopamine_metadata_role_unknown,52,0,0,0
|
||||
2-131101-whole_PN_output_block,other_annotation,158398,0,0,0
|
||||
3-131101-frozen_reference,ALLN,420,386,110642,56491
|
||||
3-131101-frozen_reference,ALPN,686,575,125876,64358
|
||||
3-131101-frozen_reference,APL,2,2,892,454
|
||||
3-131101-frozen_reference,DAN,340,134,10781,5643
|
||||
3-131101-frozen_reference,DPM,2,2,735,377
|
||||
3-131101-frozen_reference,KC,4064,151,385,117
|
||||
3-131101-frozen_reference,MBON,97,61,10528,5447
|
||||
3-131101-frozen_reference,PN_olfactory_annotation,2639,53,3188,1663
|
||||
3-131101-frozen_reference,dopamine_metadata_role_unknown,52,50,5864,3088
|
||||
3-131101-frozen_reference,other_annotation,158398,12902,836062,432377
|
||||
3-131101-calyx_PN_KC_contact_block,ALLN,420,386,110635,56494
|
||||
3-131101-calyx_PN_KC_contact_block,ALPN,686,575,125840,64349
|
||||
3-131101-calyx_PN_KC_contact_block,APL,2,2,891,455
|
||||
3-131101-calyx_PN_KC_contact_block,DAN,340,134,10664,5658
|
||||
3-131101-calyx_PN_KC_contact_block,DPM,2,2,715,376
|
||||
3-131101-calyx_PN_KC_contact_block,KC,4064,2,73,39
|
||||
3-131101-calyx_PN_KC_contact_block,MBON,97,62,10285,5411
|
||||
3-131101-calyx_PN_KC_contact_block,PN_olfactory_annotation,2639,53,3182,1656
|
||||
3-131101-calyx_PN_KC_contact_block,dopamine_metadata_role_unknown,52,50,5872,3073
|
||||
3-131101-calyx_PN_KC_contact_block,other_annotation,158398,13086,830844,431059
|
||||
3-131101-all_PN_KC_block,ALLN,420,386,110646,56489
|
||||
3-131101-all_PN_KC_block,ALPN,686,575,125875,64350
|
||||
3-131101-all_PN_KC_block,APL,2,2,892,456
|
||||
3-131101-all_PN_KC_block,DAN,340,135,10625,5620
|
||||
3-131101-all_PN_KC_block,DPM,2,2,715,376
|
||||
3-131101-all_PN_KC_block,KC,4064,1,73,40
|
||||
3-131101-all_PN_KC_block,MBON,97,62,10317,5426
|
||||
3-131101-all_PN_KC_block,PN_olfactory_annotation,2639,53,3187,1664
|
||||
3-131101-all_PN_KC_block,dopamine_metadata_role_unknown,52,50,5882,3091
|
||||
3-131101-all_PN_KC_block,other_annotation,158398,13020,836110,434403
|
||||
3-131101-whole_PN_output_block,ALLN,420,0,0,0
|
||||
3-131101-whole_PN_output_block,ALPN,686,34,91,0
|
||||
3-131101-whole_PN_output_block,APL,2,0,0,0
|
||||
3-131101-whole_PN_output_block,DAN,340,0,0,0
|
||||
3-131101-whole_PN_output_block,DPM,2,0,0,0
|
||||
3-131101-whole_PN_output_block,KC,4064,0,0,0
|
||||
3-131101-whole_PN_output_block,MBON,97,0,0,0
|
||||
3-131101-whole_PN_output_block,PN_olfactory_annotation,2639,0,0,0
|
||||
3-131101-whole_PN_output_block,dopamine_metadata_role_unknown,52,0,0,0
|
||||
3-131101-whole_PN_output_block,other_annotation,158398,0,0,0
|
||||
4-131101-frozen_reference,ALLN,420,386,110608,56506
|
||||
4-131101-frozen_reference,ALPN,686,572,125803,64341
|
||||
4-131101-frozen_reference,APL,2,2,893,455
|
||||
4-131101-frozen_reference,DAN,340,137,10770,5637
|
||||
4-131101-frozen_reference,DPM,2,2,733,377
|
||||
4-131101-frozen_reference,KC,4064,139,372,118
|
||||
4-131101-frozen_reference,MBON,97,62,10511,5436
|
||||
4-131101-frozen_reference,PN_olfactory_annotation,2639,53,3173,1651
|
||||
4-131101-frozen_reference,dopamine_metadata_role_unknown,52,50,5830,3100
|
||||
4-131101-frozen_reference,other_annotation,158398,12636,834194,433020
|
||||
4-131101-calyx_PN_KC_contact_block,ALLN,420,386,110587,56496
|
||||
4-131101-calyx_PN_KC_contact_block,ALPN,686,572,125776,64340
|
||||
4-131101-calyx_PN_KC_contact_block,APL,2,2,891,454
|
||||
4-131101-calyx_PN_KC_contact_block,DAN,340,137,10650,5651
|
||||
4-131101-calyx_PN_KC_contact_block,DPM,2,2,715,377
|
||||
4-131101-calyx_PN_KC_contact_block,KC,4064,1,72,39
|
||||
4-131101-calyx_PN_KC_contact_block,MBON,97,62,10286,5421
|
||||
4-131101-calyx_PN_KC_contact_block,PN_olfactory_annotation,2639,53,3170,1650
|
||||
4-131101-calyx_PN_KC_contact_block,dopamine_metadata_role_unknown,52,51,5851,3113
|
||||
4-131101-calyx_PN_KC_contact_block,other_annotation,158398,12800,828634,430658
|
||||
4-131101-all_PN_KC_block,ALLN,420,386,110587,56496
|
||||
4-131101-all_PN_KC_block,ALPN,686,572,125776,64340
|
||||
4-131101-all_PN_KC_block,APL,2,2,891,454
|
||||
4-131101-all_PN_KC_block,DAN,340,137,10650,5651
|
||||
4-131101-all_PN_KC_block,DPM,2,2,715,377
|
||||
4-131101-all_PN_KC_block,KC,4064,1,72,39
|
||||
4-131101-all_PN_KC_block,MBON,97,62,10286,5421
|
||||
4-131101-all_PN_KC_block,PN_olfactory_annotation,2639,53,3170,1650
|
||||
4-131101-all_PN_KC_block,dopamine_metadata_role_unknown,52,51,5851,3113
|
||||
4-131101-all_PN_KC_block,other_annotation,158398,12800,828634,430658
|
||||
4-131101-whole_PN_output_block,ALLN,420,0,0,0
|
||||
4-131101-whole_PN_output_block,ALPN,686,25,72,0
|
||||
4-131101-whole_PN_output_block,APL,2,0,0,0
|
||||
4-131101-whole_PN_output_block,DAN,340,0,0,0
|
||||
4-131101-whole_PN_output_block,DPM,2,0,0,0
|
||||
4-131101-whole_PN_output_block,KC,4064,0,0,0
|
||||
4-131101-whole_PN_output_block,MBON,97,0,0,0
|
||||
4-131101-whole_PN_output_block,PN_olfactory_annotation,2639,0,0,0
|
||||
4-131101-whole_PN_output_block,dopamine_metadata_role_unknown,52,0,0,0
|
||||
4-131101-whole_PN_output_block,other_annotation,158398,0,0,0
|
||||
5-131101-frozen_reference,ALLN,420,389,111255,56552
|
||||
5-131101-frozen_reference,ALPN,686,576,126597,64420
|
||||
5-131101-frozen_reference,APL,2,2,898,455
|
||||
5-131101-frozen_reference,DAN,340,134,10834,5653
|
||||
5-131101-frozen_reference,DPM,2,2,737,377
|
||||
5-131101-frozen_reference,KC,4064,163,395,119
|
||||
5-131101-frozen_reference,MBON,97,63,10588,5428
|
||||
5-131101-frozen_reference,PN_olfactory_annotation,2639,53,3211,1657
|
||||
5-131101-frozen_reference,dopamine_metadata_role_unknown,52,51,5895,3093
|
||||
5-131101-frozen_reference,other_annotation,158398,13146,843062,432870
|
||||
5-131101-calyx_PN_KC_contact_block,ALLN,420,389,111261,56537
|
||||
5-131101-calyx_PN_KC_contact_block,ALPN,686,576,126621,64416
|
||||
5-131101-calyx_PN_KC_contact_block,APL,2,2,896,455
|
||||
5-131101-calyx_PN_KC_contact_block,DAN,340,134,10718,5654
|
||||
5-131101-calyx_PN_KC_contact_block,DPM,2,2,718,376
|
||||
5-131101-calyx_PN_KC_contact_block,KC,4064,1,72,39
|
||||
5-131101-calyx_PN_KC_contact_block,MBON,97,62,10352,5414
|
||||
5-131101-calyx_PN_KC_contact_block,PN_olfactory_annotation,2639,53,3212,1661
|
||||
5-131101-calyx_PN_KC_contact_block,dopamine_metadata_role_unknown,52,51,5929,3094
|
||||
5-131101-calyx_PN_KC_contact_block,other_annotation,158398,13624,843152,429784
|
||||
5-131101-all_PN_KC_block,ALLN,420,389,111261,56537
|
||||
5-131101-all_PN_KC_block,ALPN,686,576,126621,64416
|
||||
5-131101-all_PN_KC_block,APL,2,2,896,455
|
||||
5-131101-all_PN_KC_block,DAN,340,134,10718,5654
|
||||
5-131101-all_PN_KC_block,DPM,2,2,718,376
|
||||
5-131101-all_PN_KC_block,KC,4064,1,72,39
|
||||
5-131101-all_PN_KC_block,MBON,97,62,10352,5414
|
||||
5-131101-all_PN_KC_block,PN_olfactory_annotation,2639,53,3212,1661
|
||||
5-131101-all_PN_KC_block,dopamine_metadata_role_unknown,52,51,5929,3094
|
||||
5-131101-all_PN_KC_block,other_annotation,158398,13624,843152,429784
|
||||
5-131101-whole_PN_output_block,ALLN,420,0,0,0
|
||||
5-131101-whole_PN_output_block,ALPN,686,40,188,0
|
||||
5-131101-whole_PN_output_block,APL,2,0,0,0
|
||||
5-131101-whole_PN_output_block,DAN,340,0,0,0
|
||||
5-131101-whole_PN_output_block,DPM,2,0,0,0
|
||||
5-131101-whole_PN_output_block,KC,4064,0,0,0
|
||||
5-131101-whole_PN_output_block,MBON,97,0,0,0
|
||||
5-131101-whole_PN_output_block,PN_olfactory_annotation,2639,0,0,0
|
||||
5-131101-whole_PN_output_block,dopamine_metadata_role_unknown,52,0,0,0
|
||||
5-131101-whole_PN_output_block,other_annotation,158398,0,0,0
|
||||
|
@@ -0,0 +1,7 @@
|
||||
odor_index,neuron_idx,body_id,type,late_spikes,first_late_spike_ms,last_spike_ms,source_identity_not_inferred_from_this_count
|
||||
0,78836,104513,KCg-d,39,502.6,999.4,True
|
||||
1,78836,104513,KCg-d,39,500.5,992.5,True
|
||||
2,78836,104513,KCg-d,39,509.9,996.4,True
|
||||
3,78836,104513,KCg-d,39,500.4,995.8,True
|
||||
4,78836,104513,KCg-d,39,508.6,998.5,True
|
||||
5,78836,104513,KCg-d,39,506.1,994.9,True
|
||||
|
@@ -0,0 +1,25 @@
|
||||
trial,scheduled,identical_request_keys,accepted,blocked,preexisting,status_differences_vs_reference,actual_output_differences_vs_reference
|
||||
0-131101-frozen_reference,131,True,75,54,2,0,0
|
||||
0-131101-calyx_PN_KC_contact_block,131,True,73,53,5,7,5
|
||||
0-131101-all_PN_KC_block,131,True,73,53,5,7,5
|
||||
0-131101-whole_PN_output_block,131,True,126,5,0,55,53
|
||||
1-131101-frozen_reference,186,True,77,102,7,0,0
|
||||
1-131101-calyx_PN_KC_contact_block,186,True,78,101,7,15,11
|
||||
1-131101-all_PN_KC_block,186,True,82,98,6,12,8
|
||||
1-131101-whole_PN_output_block,186,True,161,25,0,88,83
|
||||
2-131101-frozen_reference,122,True,54,66,2,0,0
|
||||
2-131101-calyx_PN_KC_contact_block,122,True,52,70,0,8,6
|
||||
2-131101-all_PN_KC_block,122,True,52,70,0,8,6
|
||||
2-131101-whole_PN_output_block,122,True,111,11,0,59,57
|
||||
3-131101-frozen_reference,95,True,41,54,0,0,0
|
||||
3-131101-calyx_PN_KC_contact_block,95,True,41,54,0,2,2
|
||||
3-131101-all_PN_KC_block,95,True,41,54,0,2,2
|
||||
3-131101-whole_PN_output_block,95,True,91,4,0,52,52
|
||||
4-131101-frozen_reference,78,True,31,44,3,0,0
|
||||
4-131101-calyx_PN_KC_contact_block,78,True,30,44,4,8,8
|
||||
4-131101-all_PN_KC_block,78,True,30,44,4,8,8
|
||||
4-131101-whole_PN_output_block,78,True,72,6,0,43,40
|
||||
5-131101-frozen_reference,215,True,92,118,5,0,0
|
||||
5-131101-calyx_PN_KC_contact_block,215,True,90,119,6,13,7
|
||||
5-131101-all_PN_KC_block,215,True,90,119,6,13,7
|
||||
5-131101-whole_PN_output_block,215,True,188,27,0,104,99
|
||||
|
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"all_finite": true,
|
||||
"candidate": false,
|
||||
"exact_repeat_trials": 4,
|
||||
"frozen_reference_trials": 5,
|
||||
"old_trial_reproductions": 6,
|
||||
"training": false,
|
||||
"trials": 24
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"APL_target_PNs": 259,
|
||||
"all_PN_KC_contacts": 384555,
|
||||
"all_PN_KC_edges": 21882,
|
||||
"biophysical_coefficient_known": false,
|
||||
"calyx_affected_KCs": 3760,
|
||||
"calyx_blocked_contacts": 337099,
|
||||
"calyx_mask_edges": 20263,
|
||||
"calyx_other_contacts_retained_on_affected_edges": 28975,
|
||||
"edges": 25582938,
|
||||
"eligible_PNs": 229,
|
||||
"ineligible_PNs": 30,
|
||||
"mixed_CA_nonCA_edges": 3323,
|
||||
"neurons": 166700,
|
||||
"raw_contacts": 124177617,
|
||||
"same_bouton_confirmed": false,
|
||||
"unknown_ROI_contacts_in_original_PN_KC": 46159,
|
||||
"unknown_contacts_relabelled": 0,
|
||||
"whole_PN_contacts": 1268111,
|
||||
"whole_PN_edges": 116211
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
trial,odor_index,odor_name,seed,condition,whole_spikes,KC_active,KC_active_fraction,KC_spikes,KC_late_spikes,KC82312_late_spikes,VA6_late_spikes,finite,wall_seconds,biological_ms
|
||||
0-131101-frozen_reference,0,ethyl (R)-(-)-3-hydroxybutanoate,131101,frozen_reference,1111590,160,0.03937007874015748,384,114,60,213,True,15.05500110599678,1000
|
||||
0-131101-calyx_PN_KC_contact_block,0,ethyl (R)-(-)-3-hydroxybutanoate,131101,calyx_PN_KC_contact_block,1108195,1,0.00024606299212598425,72,39,0,214,True,14.781203242993797,1000
|
||||
0-131101-all_PN_KC_block,0,ethyl (R)-(-)-3-hydroxybutanoate,131101,all_PN_KC_block,1108195,1,0.00024606299212598425,72,39,0,214,True,14.814815709993127,1000
|
||||
0-131101-whole_PN_output_block,0,ethyl (R)-(-)-3-hydroxybutanoate,131101,whole_PN_output_block,126,0,0.0,0,0,0,0,True,9.408489347988507,1000
|
||||
1-131101-frozen_reference,1,3-penten-2-one,131101,frozen_reference,1105228,172,0.04232283464566929,408,118,60,213,True,14.849270171995158,1000
|
||||
1-131101-calyx_PN_KC_contact_block,1,3-penten-2-one,131101,calyx_PN_KC_contact_block,1101977,2,0.0004921259842519685,73,39,0,213,True,14.829743235008209,1000
|
||||
1-131101-all_PN_KC_block,1,3-penten-2-one,131101,all_PN_KC_block,1105637,1,0.00024606299212598425,72,39,0,213,True,14.836084023001604,1000
|
||||
1-131101-whole_PN_output_block,1,3-penten-2-one,131101,whole_PN_output_block,161,0,0.0,0,0,0,0,True,9.406520318007097,1000
|
||||
2-131101-frozen_reference,2,(2R)-hexan-2-ol,131101,frozen_reference,1110776,144,0.03543307086614173,381,117,61,213,True,14.826602405999438,1000
|
||||
2-131101-calyx_PN_KC_contact_block,2,(2R)-hexan-2-ol,131101,calyx_PN_KC_contact_block,1108354,1,0.00024606299212598425,73,39,0,213,True,14.964074281990179,1000
|
||||
2-131101-all_PN_KC_block,2,(2R)-hexan-2-ol,131101,all_PN_KC_block,1108354,1,0.00024606299212598425,73,39,0,213,True,14.831739582994487,1000
|
||||
2-131101-whole_PN_output_block,2,(2R)-hexan-2-ol,131101,whole_PN_output_block,111,0,0.0,0,0,0,0,True,9.401394432992674,1000
|
||||
3-131101-frozen_reference,3,gamma-propyl-gamma-butyrolactone,131101,frozen_reference,1104953,151,0.037155511811023625,385,117,60,212,True,14.826186497011804,1000
|
||||
3-131101-calyx_PN_KC_contact_block,3,gamma-propyl-gamma-butyrolactone,131101,calyx_PN_KC_contact_block,1099001,2,0.0004921259842519685,73,39,0,212,True,14.787222463011858,1000
|
||||
3-131101-all_PN_KC_block,3,gamma-propyl-gamma-butyrolactone,131101,all_PN_KC_block,1104322,1,0.00024606299212598425,73,40,0,212,True,14.788134792994242,1000
|
||||
3-131101-whole_PN_output_block,3,gamma-propyl-gamma-butyrolactone,131101,whole_PN_output_block,91,0,0.0,0,0,0,0,True,9.370064136994188,1000
|
||||
4-131101-frozen_reference,4,2-methyl butyl acetate,131101,frozen_reference,1102887,139,0.03420275590551181,372,118,61,213,True,14.812315593997482,1000
|
||||
4-131101-calyx_PN_KC_contact_block,4,2-methyl butyl acetate,131101,calyx_PN_KC_contact_block,1096632,1,0.00024606299212598425,72,39,0,212,True,14.777685339009622,1000
|
||||
4-131101-all_PN_KC_block,4,2-methyl butyl acetate,131101,all_PN_KC_block,1096632,1,0.00024606299212598425,72,39,0,212,True,14.785283767996589,1000
|
||||
4-131101-whole_PN_output_block,4,2-methyl butyl acetate,131101,whole_PN_output_block,72,0,0.0,0,0,0,0,True,9.320402383003966,1000
|
||||
5-131101-frozen_reference,5,ethyl (S)-(+)-3-hydroxybutanoate,131101,frozen_reference,1113472,163,0.04010826771653543,395,119,61,214,True,14.947139675990911,1000
|
||||
5-131101-calyx_PN_KC_contact_block,5,ethyl (S)-(+)-3-hydroxybutanoate,131101,calyx_PN_KC_contact_block,1112931,1,0.00024606299212598425,72,39,0,214,True,14.830266532007954,1000
|
||||
5-131101-all_PN_KC_block,5,ethyl (S)-(+)-3-hydroxybutanoate,131101,all_PN_KC_block,1112931,1,0.00024606299212598425,72,39,0,214,True,14.83051910600625,1000
|
||||
5-131101-whole_PN_output_block,5,ethyl (S)-(+)-3-hydroxybutanoate,131101,whole_PN_output_block,188,0,0.0,0,0,0,0,True,9.454139529989334,1000
|
||||
|
@@ -0,0 +1,265 @@
|
||||
trial,neuron_idx,body_id,type,population,spikes,late_spikes,late_rate_hz
|
||||
0-131101-frozen_reference,30,10039,VL2a_adPN,ALPN,371,187,374.0
|
||||
0-131101-frozen_reference,179,10198,VA7l_adPN,ALPN,323,164,328.0
|
||||
0-131101-frozen_reference,484,10522,VL2p_adPN,ALPN,384,194,388.0
|
||||
0-131101-frozen_reference,1197,11289,lLN1_bc,ALLN,452,228,456.0
|
||||
0-131101-frozen_reference,1381,11478,lLN1_bc,ALLN,452,228,456.0
|
||||
0-131101-frozen_reference,1511,11620,lLN1_bc,ALLN,452,228,456.0
|
||||
0-131101-frozen_reference,1644,11761,VP1d+VP4_l2PN1,ALPN,431,218,436.0
|
||||
0-131101-frozen_reference,6065,16610,VA7m_lPN,ALPN,324,164,328.0
|
||||
0-131101-frozen_reference,6842,17484,DC2_adPN,ALPN,340,171,342.0
|
||||
0-131101-frozen_reference,82312,109321,KC,KC,120,60,120.0
|
||||
0-131101-frozen_reference,133666,527577,VA6_adPN,ALPN,423,213,426.0
|
||||
0-131101-calyx_PN_KC_contact_block,30,10039,VL2a_adPN,ALPN,371,187,374.0
|
||||
0-131101-calyx_PN_KC_contact_block,179,10198,VA7l_adPN,ALPN,323,164,328.0
|
||||
0-131101-calyx_PN_KC_contact_block,484,10522,VL2p_adPN,ALPN,384,193,386.0
|
||||
0-131101-calyx_PN_KC_contact_block,1197,11289,lLN1_bc,ALLN,452,228,456.0
|
||||
0-131101-calyx_PN_KC_contact_block,1381,11478,lLN1_bc,ALLN,452,228,456.0
|
||||
0-131101-calyx_PN_KC_contact_block,1511,11620,lLN1_bc,ALLN,452,228,456.0
|
||||
0-131101-calyx_PN_KC_contact_block,1644,11761,VP1d+VP4_l2PN1,ALPN,431,218,436.0
|
||||
0-131101-calyx_PN_KC_contact_block,6065,16610,VA7m_lPN,ALPN,324,164,328.0
|
||||
0-131101-calyx_PN_KC_contact_block,6842,17484,DC2_adPN,ALPN,339,171,342.0
|
||||
0-131101-calyx_PN_KC_contact_block,82312,109321,KC,KC,0,0,0.0
|
||||
0-131101-calyx_PN_KC_contact_block,133666,527577,VA6_adPN,ALPN,423,214,428.0
|
||||
0-131101-all_PN_KC_block,30,10039,VL2a_adPN,ALPN,371,187,374.0
|
||||
0-131101-all_PN_KC_block,179,10198,VA7l_adPN,ALPN,323,164,328.0
|
||||
0-131101-all_PN_KC_block,484,10522,VL2p_adPN,ALPN,384,193,386.0
|
||||
0-131101-all_PN_KC_block,1197,11289,lLN1_bc,ALLN,452,228,456.0
|
||||
0-131101-all_PN_KC_block,1381,11478,lLN1_bc,ALLN,452,228,456.0
|
||||
0-131101-all_PN_KC_block,1511,11620,lLN1_bc,ALLN,452,228,456.0
|
||||
0-131101-all_PN_KC_block,1644,11761,VP1d+VP4_l2PN1,ALPN,431,218,436.0
|
||||
0-131101-all_PN_KC_block,6065,16610,VA7m_lPN,ALPN,324,164,328.0
|
||||
0-131101-all_PN_KC_block,6842,17484,DC2_adPN,ALPN,339,171,342.0
|
||||
0-131101-all_PN_KC_block,82312,109321,KC,KC,0,0,0.0
|
||||
0-131101-all_PN_KC_block,133666,527577,VA6_adPN,ALPN,423,214,428.0
|
||||
0-131101-whole_PN_output_block,30,10039,VL2a_adPN,ALPN,0,0,0.0
|
||||
0-131101-whole_PN_output_block,179,10198,VA7l_adPN,ALPN,0,0,0.0
|
||||
0-131101-whole_PN_output_block,484,10522,VL2p_adPN,ALPN,0,0,0.0
|
||||
0-131101-whole_PN_output_block,1197,11289,lLN1_bc,ALLN,0,0,0.0
|
||||
0-131101-whole_PN_output_block,1381,11478,lLN1_bc,ALLN,0,0,0.0
|
||||
0-131101-whole_PN_output_block,1511,11620,lLN1_bc,ALLN,0,0,0.0
|
||||
0-131101-whole_PN_output_block,1644,11761,VP1d+VP4_l2PN1,ALPN,0,0,0.0
|
||||
0-131101-whole_PN_output_block,6065,16610,VA7m_lPN,ALPN,0,0,0.0
|
||||
0-131101-whole_PN_output_block,6842,17484,DC2_adPN,ALPN,5,0,0.0
|
||||
0-131101-whole_PN_output_block,82312,109321,KC,KC,0,0,0.0
|
||||
0-131101-whole_PN_output_block,133666,527577,VA6_adPN,ALPN,0,0,0.0
|
||||
1-131101-frozen_reference,30,10039,VL2a_adPN,ALPN,369,187,374.0
|
||||
1-131101-frozen_reference,179,10198,VA7l_adPN,ALPN,321,163,326.0
|
||||
1-131101-frozen_reference,484,10522,VL2p_adPN,ALPN,383,195,390.0
|
||||
1-131101-frozen_reference,1197,11289,lLN1_bc,ALLN,450,228,456.0
|
||||
1-131101-frozen_reference,1381,11478,lLN1_bc,ALLN,450,228,456.0
|
||||
1-131101-frozen_reference,1511,11620,lLN1_bc,ALLN,450,228,456.0
|
||||
1-131101-frozen_reference,1644,11761,VP1d+VP4_l2PN1,ALPN,430,218,436.0
|
||||
1-131101-frozen_reference,6065,16610,VA7m_lPN,ALPN,322,164,328.0
|
||||
1-131101-frozen_reference,6842,17484,DC2_adPN,ALPN,336,170,340.0
|
||||
1-131101-frozen_reference,82312,109321,KC,KC,119,60,120.0
|
||||
1-131101-frozen_reference,133666,527577,VA6_adPN,ALPN,420,213,426.0
|
||||
1-131101-calyx_PN_KC_contact_block,30,10039,VL2a_adPN,ALPN,369,187,374.0
|
||||
1-131101-calyx_PN_KC_contact_block,179,10198,VA7l_adPN,ALPN,321,163,326.0
|
||||
1-131101-calyx_PN_KC_contact_block,484,10522,VL2p_adPN,ALPN,382,194,388.0
|
||||
1-131101-calyx_PN_KC_contact_block,1197,11289,lLN1_bc,ALLN,450,228,456.0
|
||||
1-131101-calyx_PN_KC_contact_block,1381,11478,lLN1_bc,ALLN,450,228,456.0
|
||||
1-131101-calyx_PN_KC_contact_block,1511,11620,lLN1_bc,ALLN,450,228,456.0
|
||||
1-131101-calyx_PN_KC_contact_block,1644,11761,VP1d+VP4_l2PN1,ALPN,430,218,436.0
|
||||
1-131101-calyx_PN_KC_contact_block,6065,16610,VA7m_lPN,ALPN,322,164,328.0
|
||||
1-131101-calyx_PN_KC_contact_block,6842,17484,DC2_adPN,ALPN,337,171,342.0
|
||||
1-131101-calyx_PN_KC_contact_block,82312,109321,KC,KC,0,0,0.0
|
||||
1-131101-calyx_PN_KC_contact_block,133666,527577,VA6_adPN,ALPN,420,213,426.0
|
||||
1-131101-all_PN_KC_block,30,10039,VL2a_adPN,ALPN,369,187,374.0
|
||||
1-131101-all_PN_KC_block,179,10198,VA7l_adPN,ALPN,321,163,326.0
|
||||
1-131101-all_PN_KC_block,484,10522,VL2p_adPN,ALPN,383,195,390.0
|
||||
1-131101-all_PN_KC_block,1197,11289,lLN1_bc,ALLN,450,228,456.0
|
||||
1-131101-all_PN_KC_block,1381,11478,lLN1_bc,ALLN,450,228,456.0
|
||||
1-131101-all_PN_KC_block,1511,11620,lLN1_bc,ALLN,450,228,456.0
|
||||
1-131101-all_PN_KC_block,1644,11761,VP1d+VP4_l2PN1,ALPN,430,218,436.0
|
||||
1-131101-all_PN_KC_block,6065,16610,VA7m_lPN,ALPN,322,164,328.0
|
||||
1-131101-all_PN_KC_block,6842,17484,DC2_adPN,ALPN,336,171,342.0
|
||||
1-131101-all_PN_KC_block,82312,109321,KC,KC,0,0,0.0
|
||||
1-131101-all_PN_KC_block,133666,527577,VA6_adPN,ALPN,420,213,426.0
|
||||
1-131101-whole_PN_output_block,30,10039,VL2a_adPN,ALPN,0,0,0.0
|
||||
1-131101-whole_PN_output_block,179,10198,VA7l_adPN,ALPN,0,0,0.0
|
||||
1-131101-whole_PN_output_block,484,10522,VL2p_adPN,ALPN,0,0,0.0
|
||||
1-131101-whole_PN_output_block,1197,11289,lLN1_bc,ALLN,0,0,0.0
|
||||
1-131101-whole_PN_output_block,1381,11478,lLN1_bc,ALLN,0,0,0.0
|
||||
1-131101-whole_PN_output_block,1511,11620,lLN1_bc,ALLN,0,0,0.0
|
||||
1-131101-whole_PN_output_block,1644,11761,VP1d+VP4_l2PN1,ALPN,0,0,0.0
|
||||
1-131101-whole_PN_output_block,6065,16610,VA7m_lPN,ALPN,0,0,0.0
|
||||
1-131101-whole_PN_output_block,6842,17484,DC2_adPN,ALPN,5,0,0.0
|
||||
1-131101-whole_PN_output_block,82312,109321,KC,KC,0,0,0.0
|
||||
1-131101-whole_PN_output_block,133666,527577,VA6_adPN,ALPN,0,0,0.0
|
||||
2-131101-frozen_reference,30,10039,VL2a_adPN,ALPN,371,188,376.0
|
||||
2-131101-frozen_reference,179,10198,VA7l_adPN,ALPN,320,162,324.0
|
||||
2-131101-frozen_reference,484,10522,VL2p_adPN,ALPN,382,194,388.0
|
||||
2-131101-frozen_reference,1197,11289,lLN1_bc,ALLN,450,228,456.0
|
||||
2-131101-frozen_reference,1381,11478,lLN1_bc,ALLN,450,228,456.0
|
||||
2-131101-frozen_reference,1511,11620,lLN1_bc,ALLN,450,228,456.0
|
||||
2-131101-frozen_reference,1644,11761,VP1d+VP4_l2PN1,ALPN,430,217,434.0
|
||||
2-131101-frozen_reference,6065,16610,VA7m_lPN,ALPN,322,164,328.0
|
||||
2-131101-frozen_reference,6842,17484,DC2_adPN,ALPN,336,171,342.0
|
||||
2-131101-frozen_reference,82312,109321,KC,KC,120,61,122.0
|
||||
2-131101-frozen_reference,133666,527577,VA6_adPN,ALPN,421,213,426.0
|
||||
2-131101-calyx_PN_KC_contact_block,30,10039,VL2a_adPN,ALPN,370,188,376.0
|
||||
2-131101-calyx_PN_KC_contact_block,179,10198,VA7l_adPN,ALPN,321,163,326.0
|
||||
2-131101-calyx_PN_KC_contact_block,484,10522,VL2p_adPN,ALPN,382,194,388.0
|
||||
2-131101-calyx_PN_KC_contact_block,1197,11289,lLN1_bc,ALLN,450,228,456.0
|
||||
2-131101-calyx_PN_KC_contact_block,1381,11478,lLN1_bc,ALLN,450,228,456.0
|
||||
2-131101-calyx_PN_KC_contact_block,1511,11620,lLN1_bc,ALLN,450,228,456.0
|
||||
2-131101-calyx_PN_KC_contact_block,1644,11761,VP1d+VP4_l2PN1,ALPN,430,217,434.0
|
||||
2-131101-calyx_PN_KC_contact_block,6065,16610,VA7m_lPN,ALPN,323,164,328.0
|
||||
2-131101-calyx_PN_KC_contact_block,6842,17484,DC2_adPN,ALPN,336,171,342.0
|
||||
2-131101-calyx_PN_KC_contact_block,82312,109321,KC,KC,0,0,0.0
|
||||
2-131101-calyx_PN_KC_contact_block,133666,527577,VA6_adPN,ALPN,420,213,426.0
|
||||
2-131101-all_PN_KC_block,30,10039,VL2a_adPN,ALPN,370,188,376.0
|
||||
2-131101-all_PN_KC_block,179,10198,VA7l_adPN,ALPN,321,163,326.0
|
||||
2-131101-all_PN_KC_block,484,10522,VL2p_adPN,ALPN,382,194,388.0
|
||||
2-131101-all_PN_KC_block,1197,11289,lLN1_bc,ALLN,450,228,456.0
|
||||
2-131101-all_PN_KC_block,1381,11478,lLN1_bc,ALLN,450,228,456.0
|
||||
2-131101-all_PN_KC_block,1511,11620,lLN1_bc,ALLN,450,228,456.0
|
||||
2-131101-all_PN_KC_block,1644,11761,VP1d+VP4_l2PN1,ALPN,430,217,434.0
|
||||
2-131101-all_PN_KC_block,6065,16610,VA7m_lPN,ALPN,323,164,328.0
|
||||
2-131101-all_PN_KC_block,6842,17484,DC2_adPN,ALPN,336,171,342.0
|
||||
2-131101-all_PN_KC_block,82312,109321,KC,KC,0,0,0.0
|
||||
2-131101-all_PN_KC_block,133666,527577,VA6_adPN,ALPN,420,213,426.0
|
||||
2-131101-whole_PN_output_block,30,10039,VL2a_adPN,ALPN,0,0,0.0
|
||||
2-131101-whole_PN_output_block,179,10198,VA7l_adPN,ALPN,0,0,0.0
|
||||
2-131101-whole_PN_output_block,484,10522,VL2p_adPN,ALPN,0,0,0.0
|
||||
2-131101-whole_PN_output_block,1197,11289,lLN1_bc,ALLN,0,0,0.0
|
||||
2-131101-whole_PN_output_block,1381,11478,lLN1_bc,ALLN,0,0,0.0
|
||||
2-131101-whole_PN_output_block,1511,11620,lLN1_bc,ALLN,0,0,0.0
|
||||
2-131101-whole_PN_output_block,1644,11761,VP1d+VP4_l2PN1,ALPN,0,0,0.0
|
||||
2-131101-whole_PN_output_block,6065,16610,VA7m_lPN,ALPN,0,0,0.0
|
||||
2-131101-whole_PN_output_block,6842,17484,DC2_adPN,ALPN,0,0,0.0
|
||||
2-131101-whole_PN_output_block,82312,109321,KC,KC,0,0,0.0
|
||||
2-131101-whole_PN_output_block,133666,527577,VA6_adPN,ALPN,7,0,0.0
|
||||
3-131101-frozen_reference,30,10039,VL2a_adPN,ALPN,368,187,374.0
|
||||
3-131101-frozen_reference,179,10198,VA7l_adPN,ALPN,320,163,326.0
|
||||
3-131101-frozen_reference,484,10522,VL2p_adPN,ALPN,380,193,386.0
|
||||
3-131101-frozen_reference,1197,11289,lLN1_bc,ALLN,448,228,456.0
|
||||
3-131101-frozen_reference,1381,11478,lLN1_bc,ALLN,448,228,456.0
|
||||
3-131101-frozen_reference,1511,11620,lLN1_bc,ALLN,448,228,456.0
|
||||
3-131101-frozen_reference,1644,11761,VP1d+VP4_l2PN1,ALPN,428,218,436.0
|
||||
3-131101-frozen_reference,6065,16610,VA7m_lPN,ALPN,321,164,328.0
|
||||
3-131101-frozen_reference,6842,17484,DC2_adPN,ALPN,335,171,342.0
|
||||
3-131101-frozen_reference,82312,109321,KC,KC,119,60,120.0
|
||||
3-131101-frozen_reference,133666,527577,VA6_adPN,ALPN,416,212,424.0
|
||||
3-131101-calyx_PN_KC_contact_block,30,10039,VL2a_adPN,ALPN,368,187,374.0
|
||||
3-131101-calyx_PN_KC_contact_block,179,10198,VA7l_adPN,ALPN,320,163,326.0
|
||||
3-131101-calyx_PN_KC_contact_block,484,10522,VL2p_adPN,ALPN,381,194,388.0
|
||||
3-131101-calyx_PN_KC_contact_block,1197,11289,lLN1_bc,ALLN,448,228,456.0
|
||||
3-131101-calyx_PN_KC_contact_block,1381,11478,lLN1_bc,ALLN,448,228,456.0
|
||||
3-131101-calyx_PN_KC_contact_block,1511,11620,lLN1_bc,ALLN,448,228,456.0
|
||||
3-131101-calyx_PN_KC_contact_block,1644,11761,VP1d+VP4_l2PN1,ALPN,428,218,436.0
|
||||
3-131101-calyx_PN_KC_contact_block,6065,16610,VA7m_lPN,ALPN,321,164,328.0
|
||||
3-131101-calyx_PN_KC_contact_block,6842,17484,DC2_adPN,ALPN,335,171,342.0
|
||||
3-131101-calyx_PN_KC_contact_block,82312,109321,KC,KC,0,0,0.0
|
||||
3-131101-calyx_PN_KC_contact_block,133666,527577,VA6_adPN,ALPN,416,212,424.0
|
||||
3-131101-all_PN_KC_block,30,10039,VL2a_adPN,ALPN,368,187,374.0
|
||||
3-131101-all_PN_KC_block,179,10198,VA7l_adPN,ALPN,320,163,326.0
|
||||
3-131101-all_PN_KC_block,484,10522,VL2p_adPN,ALPN,381,194,388.0
|
||||
3-131101-all_PN_KC_block,1197,11289,lLN1_bc,ALLN,448,228,456.0
|
||||
3-131101-all_PN_KC_block,1381,11478,lLN1_bc,ALLN,448,228,456.0
|
||||
3-131101-all_PN_KC_block,1511,11620,lLN1_bc,ALLN,448,228,456.0
|
||||
3-131101-all_PN_KC_block,1644,11761,VP1d+VP4_l2PN1,ALPN,428,218,436.0
|
||||
3-131101-all_PN_KC_block,6065,16610,VA7m_lPN,ALPN,321,164,328.0
|
||||
3-131101-all_PN_KC_block,6842,17484,DC2_adPN,ALPN,335,171,342.0
|
||||
3-131101-all_PN_KC_block,82312,109321,KC,KC,0,0,0.0
|
||||
3-131101-all_PN_KC_block,133666,527577,VA6_adPN,ALPN,416,212,424.0
|
||||
3-131101-whole_PN_output_block,30,10039,VL2a_adPN,ALPN,0,0,0.0
|
||||
3-131101-whole_PN_output_block,179,10198,VA7l_adPN,ALPN,0,0,0.0
|
||||
3-131101-whole_PN_output_block,484,10522,VL2p_adPN,ALPN,0,0,0.0
|
||||
3-131101-whole_PN_output_block,1197,11289,lLN1_bc,ALLN,0,0,0.0
|
||||
3-131101-whole_PN_output_block,1381,11478,lLN1_bc,ALLN,0,0,0.0
|
||||
3-131101-whole_PN_output_block,1511,11620,lLN1_bc,ALLN,0,0,0.0
|
||||
3-131101-whole_PN_output_block,1644,11761,VP1d+VP4_l2PN1,ALPN,0,0,0.0
|
||||
3-131101-whole_PN_output_block,6065,16610,VA7m_lPN,ALPN,0,0,0.0
|
||||
3-131101-whole_PN_output_block,6842,17484,DC2_adPN,ALPN,3,0,0.0
|
||||
3-131101-whole_PN_output_block,82312,109321,KC,KC,0,0,0.0
|
||||
3-131101-whole_PN_output_block,133666,527577,VA6_adPN,ALPN,0,0,0.0
|
||||
4-131101-frozen_reference,30,10039,VL2a_adPN,ALPN,368,188,376.0
|
||||
4-131101-frozen_reference,179,10198,VA7l_adPN,ALPN,319,163,326.0
|
||||
4-131101-frozen_reference,484,10522,VL2p_adPN,ALPN,379,193,386.0
|
||||
4-131101-frozen_reference,1197,11289,lLN1_bc,ALLN,447,228,456.0
|
||||
4-131101-frozen_reference,1381,11478,lLN1_bc,ALLN,447,227,454.0
|
||||
4-131101-frozen_reference,1511,11620,lLN1_bc,ALLN,447,228,456.0
|
||||
4-131101-frozen_reference,1644,11761,VP1d+VP4_l2PN1,ALPN,428,217,434.0
|
||||
4-131101-frozen_reference,6065,16610,VA7m_lPN,ALPN,320,164,328.0
|
||||
4-131101-frozen_reference,6842,17484,DC2_adPN,ALPN,334,171,342.0
|
||||
4-131101-frozen_reference,82312,109321,KC,KC,119,61,122.0
|
||||
4-131101-frozen_reference,133666,527577,VA6_adPN,ALPN,416,213,426.0
|
||||
4-131101-calyx_PN_KC_contact_block,30,10039,VL2a_adPN,ALPN,368,188,376.0
|
||||
4-131101-calyx_PN_KC_contact_block,179,10198,VA7l_adPN,ALPN,319,163,326.0
|
||||
4-131101-calyx_PN_KC_contact_block,484,10522,VL2p_adPN,ALPN,379,193,386.0
|
||||
4-131101-calyx_PN_KC_contact_block,1197,11289,lLN1_bc,ALLN,447,228,456.0
|
||||
4-131101-calyx_PN_KC_contact_block,1381,11478,lLN1_bc,ALLN,447,227,454.0
|
||||
4-131101-calyx_PN_KC_contact_block,1511,11620,lLN1_bc,ALLN,447,228,456.0
|
||||
4-131101-calyx_PN_KC_contact_block,1644,11761,VP1d+VP4_l2PN1,ALPN,428,217,434.0
|
||||
4-131101-calyx_PN_KC_contact_block,6065,16610,VA7m_lPN,ALPN,320,164,328.0
|
||||
4-131101-calyx_PN_KC_contact_block,6842,17484,DC2_adPN,ALPN,334,171,342.0
|
||||
4-131101-calyx_PN_KC_contact_block,82312,109321,KC,KC,0,0,0.0
|
||||
4-131101-calyx_PN_KC_contact_block,133666,527577,VA6_adPN,ALPN,415,212,424.0
|
||||
4-131101-all_PN_KC_block,30,10039,VL2a_adPN,ALPN,368,188,376.0
|
||||
4-131101-all_PN_KC_block,179,10198,VA7l_adPN,ALPN,319,163,326.0
|
||||
4-131101-all_PN_KC_block,484,10522,VL2p_adPN,ALPN,379,193,386.0
|
||||
4-131101-all_PN_KC_block,1197,11289,lLN1_bc,ALLN,447,228,456.0
|
||||
4-131101-all_PN_KC_block,1381,11478,lLN1_bc,ALLN,447,227,454.0
|
||||
4-131101-all_PN_KC_block,1511,11620,lLN1_bc,ALLN,447,228,456.0
|
||||
4-131101-all_PN_KC_block,1644,11761,VP1d+VP4_l2PN1,ALPN,428,217,434.0
|
||||
4-131101-all_PN_KC_block,6065,16610,VA7m_lPN,ALPN,320,164,328.0
|
||||
4-131101-all_PN_KC_block,6842,17484,DC2_adPN,ALPN,334,171,342.0
|
||||
4-131101-all_PN_KC_block,82312,109321,KC,KC,0,0,0.0
|
||||
4-131101-all_PN_KC_block,133666,527577,VA6_adPN,ALPN,415,212,424.0
|
||||
4-131101-whole_PN_output_block,30,10039,VL2a_adPN,ALPN,0,0,0.0
|
||||
4-131101-whole_PN_output_block,179,10198,VA7l_adPN,ALPN,0,0,0.0
|
||||
4-131101-whole_PN_output_block,484,10522,VL2p_adPN,ALPN,0,0,0.0
|
||||
4-131101-whole_PN_output_block,1197,11289,lLN1_bc,ALLN,0,0,0.0
|
||||
4-131101-whole_PN_output_block,1381,11478,lLN1_bc,ALLN,0,0,0.0
|
||||
4-131101-whole_PN_output_block,1511,11620,lLN1_bc,ALLN,0,0,0.0
|
||||
4-131101-whole_PN_output_block,1644,11761,VP1d+VP4_l2PN1,ALPN,0,0,0.0
|
||||
4-131101-whole_PN_output_block,6065,16610,VA7m_lPN,ALPN,0,0,0.0
|
||||
4-131101-whole_PN_output_block,6842,17484,DC2_adPN,ALPN,3,0,0.0
|
||||
4-131101-whole_PN_output_block,82312,109321,KC,KC,0,0,0.0
|
||||
4-131101-whole_PN_output_block,133666,527577,VA6_adPN,ALPN,0,0,0.0
|
||||
5-131101-frozen_reference,30,10039,VL2a_adPN,ALPN,371,187,374.0
|
||||
5-131101-frozen_reference,179,10198,VA7l_adPN,ALPN,322,163,326.0
|
||||
5-131101-frozen_reference,484,10522,VL2p_adPN,ALPN,384,194,388.0
|
||||
5-131101-frozen_reference,1197,11289,lLN1_bc,ALLN,451,228,456.0
|
||||
5-131101-frozen_reference,1381,11478,lLN1_bc,ALLN,451,228,456.0
|
||||
5-131101-frozen_reference,1511,11620,lLN1_bc,ALLN,451,228,456.0
|
||||
5-131101-frozen_reference,1644,11761,VP1d+VP4_l2PN1,ALPN,430,217,434.0
|
||||
5-131101-frozen_reference,6065,16610,VA7m_lPN,ALPN,324,165,330.0
|
||||
5-131101-frozen_reference,6842,17484,DC2_adPN,ALPN,339,171,342.0
|
||||
5-131101-frozen_reference,82312,109321,KC,KC,120,61,122.0
|
||||
5-131101-frozen_reference,133666,527577,VA6_adPN,ALPN,423,214,428.0
|
||||
5-131101-calyx_PN_KC_contact_block,30,10039,VL2a_adPN,ALPN,371,187,374.0
|
||||
5-131101-calyx_PN_KC_contact_block,179,10198,VA7l_adPN,ALPN,323,164,328.0
|
||||
5-131101-calyx_PN_KC_contact_block,484,10522,VL2p_adPN,ALPN,384,194,388.0
|
||||
5-131101-calyx_PN_KC_contact_block,1197,11289,lLN1_bc,ALLN,451,228,456.0
|
||||
5-131101-calyx_PN_KC_contact_block,1381,11478,lLN1_bc,ALLN,451,228,456.0
|
||||
5-131101-calyx_PN_KC_contact_block,1511,11620,lLN1_bc,ALLN,451,228,456.0
|
||||
5-131101-calyx_PN_KC_contact_block,1644,11761,VP1d+VP4_l2PN1,ALPN,430,217,434.0
|
||||
5-131101-calyx_PN_KC_contact_block,6065,16610,VA7m_lPN,ALPN,323,164,328.0
|
||||
5-131101-calyx_PN_KC_contact_block,6842,17484,DC2_adPN,ALPN,339,171,342.0
|
||||
5-131101-calyx_PN_KC_contact_block,82312,109321,KC,KC,0,0,0.0
|
||||
5-131101-calyx_PN_KC_contact_block,133666,527577,VA6_adPN,ALPN,423,214,428.0
|
||||
5-131101-all_PN_KC_block,30,10039,VL2a_adPN,ALPN,371,187,374.0
|
||||
5-131101-all_PN_KC_block,179,10198,VA7l_adPN,ALPN,323,164,328.0
|
||||
5-131101-all_PN_KC_block,484,10522,VL2p_adPN,ALPN,384,194,388.0
|
||||
5-131101-all_PN_KC_block,1197,11289,lLN1_bc,ALLN,451,228,456.0
|
||||
5-131101-all_PN_KC_block,1381,11478,lLN1_bc,ALLN,451,228,456.0
|
||||
5-131101-all_PN_KC_block,1511,11620,lLN1_bc,ALLN,451,228,456.0
|
||||
5-131101-all_PN_KC_block,1644,11761,VP1d+VP4_l2PN1,ALPN,430,217,434.0
|
||||
5-131101-all_PN_KC_block,6065,16610,VA7m_lPN,ALPN,323,164,328.0
|
||||
5-131101-all_PN_KC_block,6842,17484,DC2_adPN,ALPN,339,171,342.0
|
||||
5-131101-all_PN_KC_block,82312,109321,KC,KC,0,0,0.0
|
||||
5-131101-all_PN_KC_block,133666,527577,VA6_adPN,ALPN,423,214,428.0
|
||||
5-131101-whole_PN_output_block,30,10039,VL2a_adPN,ALPN,0,0,0.0
|
||||
5-131101-whole_PN_output_block,179,10198,VA7l_adPN,ALPN,0,0,0.0
|
||||
5-131101-whole_PN_output_block,484,10522,VL2p_adPN,ALPN,0,0,0.0
|
||||
5-131101-whole_PN_output_block,1197,11289,lLN1_bc,ALLN,0,0,0.0
|
||||
5-131101-whole_PN_output_block,1381,11478,lLN1_bc,ALLN,0,0,0.0
|
||||
5-131101-whole_PN_output_block,1511,11620,lLN1_bc,ALLN,0,0,0.0
|
||||
5-131101-whole_PN_output_block,1644,11761,VP1d+VP4_l2PN1,ALPN,0,0,0.0
|
||||
5-131101-whole_PN_output_block,6065,16610,VA7m_lPN,ALPN,0,0,0.0
|
||||
5-131101-whole_PN_output_block,6842,17484,DC2_adPN,ALPN,6,0,0.0
|
||||
5-131101-whole_PN_output_block,82312,109321,KC,KC,0,0,0.0
|
||||
5-131101-whole_PN_output_block,133666,527577,VA6_adPN,ALPN,0,0,0.0
|
||||
|
@@ -0,0 +1,199 @@
|
||||
50d11647abe23cd7f259d6835e20fa46bfe0cdfe248d75ae69c6b21051b3680d INTERPRETATION.zh.md
|
||||
8d0c3ffbc718ada68cd4590a21726dd9c221269384e6aded32ca4731b21a983f REPORT.md
|
||||
2bd15ebf2718fdf06bfc968617b5a5fc72ebfd2a965559942876e40d168a229e audit/ROI-partition.csv
|
||||
4b35fc3bd77bd31a29ad30a9d5d16f0f29261518645cc565e08c62b0a884e977 audit/all-259-APL-target-PNs.parquet
|
||||
978c1ca48c392d573fc3ebc9b67eae1b8fd5ceb1c0033ed3ffa57173c1688dbc audit/all-PN-KC-contact-partitions.parquet
|
||||
63e700cfbd277ff9e08a45b680cfecea42ed7cd039e0b493d6860f755bfd8d17 audit/all_PN_KC_block-effective-overlay.parquet
|
||||
e0c968e8974ea7bd12daf98a4563349e50a77468892b5ebe2b1bb7c425b5c836 audit/calyx_PN_KC_contact_block-effective-overlay.parquet
|
||||
c7c27fcbcb3f5c341b3fbdc6783e46405b0ceb520d34da1cb654633d57c0dd2f audit/condition-ranges.csv
|
||||
0397c6d86eb5fd7282cbb3b06927b7627760aeedbaf176cf870257f93cd161f1 audit/final-service-health.json
|
||||
954e12d578df65f3e0891ad5c260b2d6a01a16de5d8f4168bcfbccda1ce6700f audit/final-summary.json
|
||||
aa39952c5e3f5842c3fcc6ee6462ff15abef78729ccda1e3d3854b7b939173ca audit/mechanism-interpretation.json
|
||||
00ec322b8e9c4900deaadda4eac8d604c61c88685fe3409f0dc8169c6057c055 audit/narrow-vs-allKC.csv
|
||||
095803667092a53d2bf7bbd4bb5904f9efe0ae0d74e92f579bb1f722478bfc23 audit/observed-APL-PN-ROI-pairs.parquet
|
||||
7347919244fd27c2ecf7191d24302cb203769976604c4bd1c650a450c9f34604 audit/population-counts.csv
|
||||
1f6e83038ce0ebb1ac97b5c53a07fefdd0aa183d0490e6259a47070961a4fcb1 audit/remaining-late-KCs.csv
|
||||
b9ead245b439d22ecac202db3c15e9dae9882aac8af318895039c9f676c97f63 audit/request-comparison.csv
|
||||
a0038972a067a029a607920bfb441519950511cad54853d5fa33067e61273b8b audit/run-complete.json
|
||||
67a8ce7fe5677fd7ab6e516f68254b4eb941a2f9f702de34027f69e91ce626de audit/scope-summary.json
|
||||
f9e0fd08cc5a2fe650749b06b3ca631b1c8258f3f1e40690458dbc5668920deb audit/trials.csv
|
||||
4256b8a89e2d5f55ca7b0ef2a45110dd0593994e3416a1de14144908f2a941af audit/watched-counts.csv
|
||||
159dcef426274c69b810d982bad4961b2f467d70b057c855586e17fc4a65c18d audit/whole_PN_output_block-effective-overlay.parquet
|
||||
7329672e081300537d77be3fb5abdd138d400ead500b5cb2093618cb556ea1cb events/0-131101-all_PN_KC_block.parquet
|
||||
7329672e081300537d77be3fb5abdd138d400ead500b5cb2093618cb556ea1cb events/0-131101-calyx_PN_KC_contact_block.parquet
|
||||
f2c738cce81d56dc38b15d3ed04f9ca9ef99e63ab121b868bbb234b640235ad4 events/0-131101-frozen_reference.parquet
|
||||
d6a7d5c6d6668d36f0514ae4f20eef3b9e60f9e555efb334cc35e9efca74520d events/0-131101-whole_PN_output_block.parquet
|
||||
eb96617dceffcb61be45de886e062ff86df2177e7ddcaf370c62d22307abf566 events/1-131101-all_PN_KC_block.parquet
|
||||
031ede1f2d136da0e3cac6c1f524eae3def616b74b2366bbdd4e4a8a33f024ab events/1-131101-calyx_PN_KC_contact_block.parquet
|
||||
edd3c442deb71e7db6e058ee0c5ed51f67c71b72f1f21e74d2c68cfe7531fb96 events/1-131101-frozen_reference.parquet
|
||||
20a6010a52c0c13bbcfe36a8b31b1c95d0dff4917a7a36b48ce727601de04719 events/1-131101-whole_PN_output_block.parquet
|
||||
37ea82b729e27f3833ac93faa5411b55b3b4d5df258f9975c637e758fc001aad events/2-131101-all_PN_KC_block.parquet
|
||||
37ea82b729e27f3833ac93faa5411b55b3b4d5df258f9975c637e758fc001aad events/2-131101-calyx_PN_KC_contact_block.parquet
|
||||
a0112b88296e49dd142c1b217d1da501a958edbfde63559180cf858b2f24ab41 events/2-131101-frozen_reference.parquet
|
||||
b78a97859869be17fdf07cfaec55a6ffd26c047df2521b4ebfdaf8069fc3857d events/2-131101-whole_PN_output_block.parquet
|
||||
fa5fbbbeba2266275ab60bb5aa43e6a556d7acb05c0e2e74792deb69c7886e87 events/3-131101-all_PN_KC_block.parquet
|
||||
ce408e93502105daa3c3598ad83916e1573a2b51094b601d8227ceec6c9e04c5 events/3-131101-calyx_PN_KC_contact_block.parquet
|
||||
361d560293461a5dfd8b921ef2086c6416f0111c2bdbee8239a1785756f4e750 events/3-131101-frozen_reference.parquet
|
||||
815ad98fdebb558d6d97f7857286aa26325eda6a07731003b01f2760e0ad74c8 events/3-131101-whole_PN_output_block.parquet
|
||||
b425e99cb678e2905b301c3d8955622f5f846b8cb95be56bc1d6a4ec8927e3a4 events/4-131101-all_PN_KC_block.parquet
|
||||
b425e99cb678e2905b301c3d8955622f5f846b8cb95be56bc1d6a4ec8927e3a4 events/4-131101-calyx_PN_KC_contact_block.parquet
|
||||
4a21d82b254a64327bb58cd46e6360b93919837b18f7813b2887236438a65b8e events/4-131101-frozen_reference.parquet
|
||||
92fa0bb6d40117291d637e039b75fab5acb95fa2900e349458548ab678ecc175 events/4-131101-whole_PN_output_block.parquet
|
||||
68af6e003289e6c5db21ed257f23cc1ffa576f0699054b5eed6e9f19f0bc198c events/5-131101-all_PN_KC_block.parquet
|
||||
68af6e003289e6c5db21ed257f23cc1ffa576f0699054b5eed6e9f19f0bc198c events/5-131101-calyx_PN_KC_contact_block.parquet
|
||||
c6868dc73bcdf64e19b89bd001f53c775d8c603fa482af19299afa4bef94966d events/5-131101-frozen_reference.parquet
|
||||
18c2b6537414fc88ec6d7af9a3e6d17ae355cca27f802ace6862a3bb86bcb703 events/5-131101-whole_PN_output_block.parquet
|
||||
7d80cc0eaacb0e82c95eeee504bdab6398e821faa43b04f0fb15882952d3d2d8 gpu-reference/extension-build/.ninja_deps
|
||||
4c72a7a59bad7ea9d919b94dd98eff0a060a253078f52e91807d45d0ee2ccc05 gpu-reference/extension-build/.ninja_log
|
||||
c570f72b9a2f486e104ed3bf5b1b9f2ccc729ecab02046cd62389d629fb4f48f gpu-reference/extension-build/build.ninja
|
||||
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gpu-reference/extension-build/lock
|
||||
328cdf2dd588ee875ffa06d9da5f77165e82b7ab1e62395135798116d6b3f0fc gpu-reference/extension-build/male_cns_lif_deterministic_v2_ext.so
|
||||
f1db36d694e76b5eabc790f173103db79108d8427d354d143304f93f659ddc7f gpu-reference/extension-build/phase4p_ext.cuda.o
|
||||
27d284f6a369221a931251b5a03ce133cc8231a97942567d4efafbfb45483811 gpu-reference/extension-build/phase4p_ext.o
|
||||
eb664fc02ec10508dfca36b107ab8f083d682113d172f4183aed7b766d96dd45 gpu-reference/extension.json
|
||||
07ea3fa9fe2a4e093cff38aba9aab4e7a018f32c108542fc773110f0a43a8293 masks/all_PN_KC_block.parquet
|
||||
0e2585cdb7d44b24f4579d90149f9bb7738718164036dde910be2d94a67370fc masks/calyx_PN_KC_contact_block.parquet
|
||||
95f800944d01738e3d36da64a17c9bd37b8372fd8ba165bdcd31a94da0fdee29 masks/whole_PN_output_block.parquet
|
||||
9f87e056f34222f34cbe5bcd109a45ede202baeea2e2b9bca909c326d5c6ec44 observations/0-131101-all_PN_KC_block.parquet
|
||||
55cdf371f17626e66c3bd2ed7ace8cfdaa53f383d1f112cf04f2c8b21ce607ef observations/0-131101-calyx_PN_KC_contact_block.parquet
|
||||
e8efc04cf282a0c3fac306dadcbc44f8fd9c13fe2754b753cb7c562db89c6138 observations/0-131101-frozen_reference.parquet
|
||||
182f0c3798a9c629a1e1460983ed2061b16d55f5ea82de048444d28998553061 observations/0-131101-whole_PN_output_block.parquet
|
||||
01937268b8a6299d2b1ab5486b8dcdaff8866b7826e34f4ad3a6bbf77fc74fa4 observations/1-131101-all_PN_KC_block.parquet
|
||||
dd0ac4ba7c774c8d475f944c8511c965d7dc574329ecfac9157b3f68f52438ae observations/1-131101-calyx_PN_KC_contact_block.parquet
|
||||
fc37e5a8befec43f187ed68e4de8399c2cb895cda03998a8ce29fcb7b5488efe observations/1-131101-frozen_reference.parquet
|
||||
3c031ca5fa45f3f974337361273d1b432a4182f61cfadf2d3fb348ad1a9ffc56 observations/1-131101-whole_PN_output_block.parquet
|
||||
4dd772a7358a75d4f674027bf5bdaaa8ee609cfdd86a34e88cc9a28ffd42b7dd observations/2-131101-all_PN_KC_block.parquet
|
||||
68f9b88919cf4e98a343c047c92c0dd261b681f106a53f8846c6d7704bae8390 observations/2-131101-calyx_PN_KC_contact_block.parquet
|
||||
30462668f2fe3b8051f60e94f3a25d895ac68bfcf9b1ca7fbff0ec07450aa524 observations/2-131101-frozen_reference.parquet
|
||||
68902b930d81216184358b38c8ac0132dc6ed201345af9a47e9e52bbb5ab3d2b observations/2-131101-whole_PN_output_block.parquet
|
||||
032642e1b288f6fc6f3a438f995dad5043a54df724db135b45b492f6c8365f05 observations/3-131101-all_PN_KC_block.parquet
|
||||
07e204e3dd51bba6f777e1142d3561987642b7bbc28208ddd4df0159bbbdfaab observations/3-131101-calyx_PN_KC_contact_block.parquet
|
||||
c42c6b392de967fad1d8dc3c46a3d1f936fc7065b3223290d57b99ac7783627d observations/3-131101-frozen_reference.parquet
|
||||
47baffba5864df085baf621c5bcce08b416a5123f1a436b1fb7e4a5b1baeb323 observations/3-131101-whole_PN_output_block.parquet
|
||||
36357d0ec81d346ab9345e2d976cca64e0cdf2b2730578e02abfea16a3d998f4 observations/4-131101-all_PN_KC_block.parquet
|
||||
1e1f38419a55ea53984b9c094e1ef2e0ce49120ad68ceeffb2cad0f94dbf7b5c observations/4-131101-calyx_PN_KC_contact_block.parquet
|
||||
59f491996efcab80c65342d8b6b9068ce7ba2c90e7cf9ec59642a2bfc225a0db observations/4-131101-frozen_reference.parquet
|
||||
14c4bfc60bd0c479d35f1e8f193372c5845f2451c91370c74e33c513cb4c023b observations/4-131101-whole_PN_output_block.parquet
|
||||
a728612a3a1f5b00c8508102e9af06dfb18c63728b94e39322598fbf19f140e0 observations/5-131101-all_PN_KC_block.parquet
|
||||
7e5a944d402aeeaa70ea183cdeed091cd69927324ea5d4c3142b491442b8f8b3 observations/5-131101-calyx_PN_KC_contact_block.parquet
|
||||
1979a8bc73379be06d4cbd5923f5f8ab5cebbe70a1a4919695c2d3363899a587 observations/5-131101-frozen_reference.parquet
|
||||
023e9b18d368ae28171b63ff73122e55b8da8e9a0f4b482004cbc73c759900fd observations/5-131101-whole_PN_output_block.parquet
|
||||
93a5b9bc4de3bf479916ae4b701fa7e23b570c442559e95a7aeabb7b33cd5410 performance/summary.json
|
||||
2b3ca78bf0946c757b7784719a6a7a06598941867df2a243a272a61337d2c889 protocol/calibration-panel.json
|
||||
da2d2e47d2bc3ab214203723cac30a1386b09008e07118f460039e496b0b88f4 protocol/environment.json
|
||||
073a6ab1b615e9abdb06e5a6775366c3978ce7794714949de1a5f714edf98ec7 protocol/forcing-hashes.json
|
||||
4795fae3b3a320deff14f32e4722e94ade17e464b1fbf19315a1cb1769eb1927 protocol/imported-code-hashes.json
|
||||
24cba080c7b72da8f40e406f1403646ff11c3cc34d9870991874575a486e3e27 protocol/input-hashes.json
|
||||
1eaf84efbcd9a7f5852b8d0feb4fd57b5f01f7211080923bb3fa63dadeaa1b7f protocol/launch-addendum.json
|
||||
6cee0248b8fb13a99f997c75a06542f26a1e9f5df8c8771ea997a5dc2de9d6b3 protocol/mask-hashes.json
|
||||
da8da4efa93ba69867ef732cb9d328576c5fd5b82f483803bd330f597b32e61b protocol/preregistered.json
|
||||
0980b7d3689cf626401d13728960c77a5f32d63fe61c5fb21869b36003ca890d regression/0-131101-all_PN_KC_block.json
|
||||
fc2d7c3fd66b1816dd569721b1ffe16fb3d04195e0f39e54311235f996263e18 regression/0-131101-calyx_PN_KC_contact_block.json
|
||||
f0bdabde30646bbfddef9a6bc346a14e9a268ea096bf1495ade09ccb7257441b regression/0-131101-frozen_reference.json
|
||||
4703574c70cf854d05038a729e072ab48ec2db60746517dc0bd76a4c90984c2b regression/0-131101-whole_PN_output_block.json
|
||||
104536398ec87802f8ded2ab37cce3311c0af39f74533e712c8f827eb42d738b regression/1-131101-all_PN_KC_block.json
|
||||
e7a98aa3f9eb31364a6c4f1f09df059162bc6633f527dd0eff44646a5a4e469d regression/1-131101-calyx_PN_KC_contact_block.json
|
||||
f1ed3d7a9a6a290295ef477bff09566a9aee08a33c98f9c62519a5f4537c472b regression/1-131101-frozen_reference.json
|
||||
db90cddc95d283c78b6df8279c50b30a2ebcd02b173a31ddfd1f5da8ca6c85ca regression/1-131101-whole_PN_output_block.json
|
||||
1ef62eb572ada32b947e8fbbe649dee7842cba3c9cb044b03291383d7ddc7c00 regression/2-131101-all_PN_KC_block.json
|
||||
e3e54e240443b1abbb413b27886193fba595a28af8c7277550abc399b482ccd0 regression/2-131101-calyx_PN_KC_contact_block.json
|
||||
663a6881b31c76bd08350fc757929233173f4af39a89f5bf1b75423ca75ee997 regression/2-131101-frozen_reference.json
|
||||
33153ce2d016e511ea2eaf2beed2af96a2b20de91524346b894f2c04379818f9 regression/2-131101-whole_PN_output_block.json
|
||||
6d4cc009cbc2debf074dab3c0c6b5a134cd3677c22f96aad3f44ed9793f0c2ea regression/3-131101-all_PN_KC_block.json
|
||||
91ff88c1fccfbb98164a1aad137adf0681eaa4ab458ee256060447a42736af42 regression/3-131101-calyx_PN_KC_contact_block.json
|
||||
3688243f5e477ea991d118909263c0a0ff3fc6be8c71924e49d14d1b0f687b30 regression/3-131101-frozen_reference.json
|
||||
71ff0a2d2ff00dcaf0b73e71edcd914f997b6698f2edecc3ad1890d2b368de44 regression/3-131101-whole_PN_output_block.json
|
||||
780f101c402d02f199efd7e4da12464f3d92af5dce3ec0ac07b7db298eb4b5d5 regression/4-131101-all_PN_KC_block.json
|
||||
eff14126327297664b469447643edf0a6715fb6f63694a32be8de5ff7121dfd7 regression/4-131101-calyx_PN_KC_contact_block.json
|
||||
8861144ebca5477c2d26b821123223ff9493e2f3469ed647c5e3cd9798b1973e regression/4-131101-frozen_reference.json
|
||||
78a82eb5862db7e8c98e50307112c62caa55377a42bc971e6416f74d69295cd4 regression/4-131101-whole_PN_output_block.json
|
||||
dc5a9055739131fceac3824357c103116870b00244801e60bb441c522a37aa8b regression/5-131101-all_PN_KC_block.json
|
||||
aa2ebf99bb706524a25d3bbc1047ee0604e37572dbe037854d8d2e9b55945166 regression/5-131101-calyx_PN_KC_contact_block.json
|
||||
a863e8bee672db98e9fbbf6fac8a00ebb6ddf003658dfc04a47aed25e56e1c61 regression/5-131101-frozen_reference.json
|
||||
739eb5af0a8ce21470307d57e160c31fa1504c4a0725b85e9e015fd90d733a71 regression/5-131101-whole_PN_output_block.json
|
||||
22e3f76d2971117550a43438ec4c12e6f592dc6d8a55b6abae6f31c06056b408 regression/final-integrity.json
|
||||
31912ae3b9dc77713c5d0ac6c3e5af94b360f8c8911e0078831a2f7e4f1cba33 regression/five-frozen-trials.json
|
||||
2ec053136d7744a8f158a1028d3e35a9e11424c402fb588ec977920a2c310a67 regression/fixed-event-replay.json
|
||||
22e3f76d2971117550a43438ec4c12e6f592dc6d8a55b6abae6f31c06056b408 regression/preflight.json
|
||||
d5e28ea53f1b2da7050ca66e4159a430fe330e9ff349ee95cd2e39c2402be99e regression/restored.json
|
||||
4f6287aaf4324986a8c41bdbf06b784ab1d612558fa1204d1a587108788f63f4 regression/run-start.json
|
||||
7039bb7de7c47f6b2fd29ce7ab8bc86aebd0266579f5abc9518d1f4dc8a21644 regression/unit-tests.json
|
||||
ae083713cc4b4da9c54d1184889c953e0a8673dcd4c9ad466058d92a2418252e replay/fixed-event-scope.csv
|
||||
3dad1e907d601202ac3ae94a0e970eb47e28f60360c69867ec084c41e23682e4 requests/0-131101-all_PN_KC_block.parquet
|
||||
3dad1e907d601202ac3ae94a0e970eb47e28f60360c69867ec084c41e23682e4 requests/0-131101-calyx_PN_KC_contact_block.parquet
|
||||
056d260ad9ac6bc25dfd3d93439ed1ffdf10d8cf202c9e12cde48d2b4c54cb9a requests/0-131101-frozen_reference.parquet
|
||||
ab3d71145e3c26aa2d706686b17d35c73c48a2493f04b850e4a99ac27da8b1b8 requests/0-131101-whole_PN_output_block.parquet
|
||||
b3acab9cfc958ea8397d1e7c4dfdc309743c8c183b16bf249d9f5b362d240aa2 requests/0-scheduled.npz
|
||||
bef3f81a3e139a1528a732d2008d0b7f87f4baafd060f2df54e93fab56cbb3e5 requests/1-131101-all_PN_KC_block.parquet
|
||||
9c86e4ef2bb21ca6d1b1a6a7ffccee28eff70065bdde9ba67cb809642a12141f requests/1-131101-calyx_PN_KC_contact_block.parquet
|
||||
0a3ba010a7ca0a8641ab020f424f11302d48a411e72679020afcc5dfc6b5f1ab requests/1-131101-frozen_reference.parquet
|
||||
8eb9c25cbcf79b7a440b5f31d60b6c8311bb771a3562ea4ef0e99089e009dfc4 requests/1-131101-whole_PN_output_block.parquet
|
||||
4ba4ab357be3a36240985c50081f79f1b51d88dbb9732878c4ef767a3f83cc8a requests/1-scheduled.npz
|
||||
631c58d841868b7d146fbe44222a2c78f8b0974140ddd562c936f2b40bc309ae requests/2-131101-all_PN_KC_block.parquet
|
||||
631c58d841868b7d146fbe44222a2c78f8b0974140ddd562c936f2b40bc309ae requests/2-131101-calyx_PN_KC_contact_block.parquet
|
||||
40ebd12c2ce7f16a4d3c97e8e9a9b4d711b40abd0f195a8deb28423468bfc79b requests/2-131101-frozen_reference.parquet
|
||||
fa317a476da0399d2c2d9417710c9b2f44853348c7ceb347c72f00df7969937f requests/2-131101-whole_PN_output_block.parquet
|
||||
5a5d9c03e9f5c7b7d913d3301167951e6d879deec99a5ab30433f4fe9f7cb45c requests/2-scheduled.npz
|
||||
51b6123fd7ff6f11b83fba88ed530ffb22b929cf03fe022ddebc131454ad3ff4 requests/3-131101-all_PN_KC_block.parquet
|
||||
55f420b8c44a739a7ec2633282826f2a2cb66cdd2366969e171bfe7505ed387c requests/3-131101-calyx_PN_KC_contact_block.parquet
|
||||
e4b05f8d1ccb81dbbf355b764e24846d891f5cf067dae31b4fd6d7ec2dca6fb6 requests/3-131101-frozen_reference.parquet
|
||||
25d8bed34c4e89dc83d21dcd15f5dbb19c052279c88b3d8684220760fabca08c requests/3-131101-whole_PN_output_block.parquet
|
||||
fa4156dd4d01229c7f1597012850fc7c146914fcbd1fa65a97fd47a64d527a5d requests/3-scheduled.npz
|
||||
a4ba8ef0a20f3b316810e50d20839f9c0d0fb832c6455d536df4983d569658a0 requests/4-131101-all_PN_KC_block.parquet
|
||||
a4ba8ef0a20f3b316810e50d20839f9c0d0fb832c6455d536df4983d569658a0 requests/4-131101-calyx_PN_KC_contact_block.parquet
|
||||
09eb1de00266368de2aa0b5a086dc3269dd0a38f3bfa09d5b24bc38e621da55e requests/4-131101-frozen_reference.parquet
|
||||
3d54dcb034548fe825127080e040c5f2327264f8fa94e7785740807ab8165a26 requests/4-131101-whole_PN_output_block.parquet
|
||||
ac73e1ce6410e0aabdb794459c65bdcfe76e8da9e8d95bd60c84802cf928ae8d requests/4-scheduled.npz
|
||||
9ea2f433d3b22ade9a9b3c20fa9d7a2e325011eb53304b38b15b18ff0b985129 requests/5-131101-all_PN_KC_block.parquet
|
||||
9ea2f433d3b22ade9a9b3c20fa9d7a2e325011eb53304b38b15b18ff0b985129 requests/5-131101-calyx_PN_KC_contact_block.parquet
|
||||
525feff11f344e4894d23d6b1233c111a0aa392a4db699e486b6b79f4753a983 requests/5-131101-frozen_reference.parquet
|
||||
884769d20ff28b10b0ffc25a90aef8c0e05badb47225f1cbe0885e16b70eb012 requests/5-131101-whole_PN_output_block.parquet
|
||||
5257f5f8ddb3c21daf1b95ec1ccdded54fd411088cc716ba118f17b6e771114d requests/5-scheduled.npz
|
||||
f8d9d8318515cad98fa232891893439a50acd253d7436ae2b4225071d2e9f03d states/0-131101-all_PN_KC_block-watched.npz
|
||||
ae0d9f975329008cd009fae8f2bf45ce2203133e1e5720dc1361cfabde3912fe states/0-131101-all_PN_KC_block.npz
|
||||
7efe6247b0932751aa88064f86d9fa48e89bd8154501176ac9b9370d82e4fcb3 states/0-131101-calyx_PN_KC_contact_block-watched.npz
|
||||
8d14bf9207b5341fc8225a5459a68af8bbcbfd03b2f04ff95260c3ec4af7be77 states/0-131101-calyx_PN_KC_contact_block.npz
|
||||
12ef82cf65581f494b2fea6f3fcd6428e8dcb642e58cefd6ddc810ace15e1d0b states/0-131101-frozen_reference-watched.npz
|
||||
8cb75b2c7588748a4b71e3d2aab878b2ff8b0f718ffa4839507f83eb2ab32954 states/0-131101-frozen_reference.npz
|
||||
cf52c567a7ca5adc9ccac8d2de1af265d84a632da9248bd7d87904e6bb8b9fec states/0-131101-whole_PN_output_block-watched.npz
|
||||
b833f7be6bc76341480935cdc14ab6231f9ff502a21250a02af975eacaca8edb states/0-131101-whole_PN_output_block.npz
|
||||
c7a39e5940638250c176dd0c357283103d2d5bb75d3a9f2355d110446b1fba78 states/1-131101-all_PN_KC_block-watched.npz
|
||||
f0f720afa8417e084ed6b8668c89954f5f73b105987b2468e36c4f3a70521f59 states/1-131101-all_PN_KC_block.npz
|
||||
2d97c7ca9070e10cfc77c0048fb2b27d00c489c2ae0f168cade10faf2d453cee states/1-131101-calyx_PN_KC_contact_block-watched.npz
|
||||
9e3b7d8b4b59d8252e78e306a1dfcf1264326f9ecb0a182b64290ff1c0718589 states/1-131101-calyx_PN_KC_contact_block.npz
|
||||
f183d8c5857472b8ffc3284be604828e9ddea4cbcdfbd299ba96fe3b7ca81c98 states/1-131101-frozen_reference-watched.npz
|
||||
ae4d6b809bf44133bd87de3c7ee969e95a903e0a2ec0fca8002325cbb03b0ef1 states/1-131101-frozen_reference.npz
|
||||
57931d95e6b3eeaaf69fbdb3a69b7512a186ac72f613b5a87f9ed69fba511f2f states/1-131101-whole_PN_output_block-watched.npz
|
||||
040d893e095f5c0cb7413cd8f5922f7bd4b49b12ce73d0f7ef31078bb25e5ef3 states/1-131101-whole_PN_output_block.npz
|
||||
565445dad0afa6767a0cd4db5829666513f4b509706ada63778853bf2f20e7d6 states/2-131101-all_PN_KC_block-watched.npz
|
||||
e8753a3bd49c7b7c99f0deae6c6ae0d9a4a210065e5d520e4ae9afc6c2b9bc51 states/2-131101-all_PN_KC_block.npz
|
||||
ed7f30d8e409c1f539de4c46f1a212fba4ba21102e5d381d8d0468ea911e9b9b states/2-131101-calyx_PN_KC_contact_block-watched.npz
|
||||
79596be88ad828ac25fd91fab363899f55a50b3ea337c1f69ddc8f2ea02556ee states/2-131101-calyx_PN_KC_contact_block.npz
|
||||
3dc6c3239847e7b57e936cb9fdee961b4cb0cc97f29a79015a78c8c76c6e3e40 states/2-131101-frozen_reference-watched.npz
|
||||
3885e3be3790851a38df68d9ecd4fc6d709ab2df2ed9dfc6cd20088685d47585 states/2-131101-frozen_reference.npz
|
||||
03ae942e80df043b3f24e99438af974a958ad4605bcc4994dd56184f4649ca5e states/2-131101-whole_PN_output_block-watched.npz
|
||||
68929be61bf57cc2e339010be89569507bd86e19414b80d72a65a9802539de8b states/2-131101-whole_PN_output_block.npz
|
||||
c4ae92e319e795b6c596e2f7af5a61e55bff3445f96b9e345c267990fae6e41c states/3-131101-all_PN_KC_block-watched.npz
|
||||
8b175b4fac0f5821cdc9f894810eeea7797109b93f1cf88b020462f6a46a03a1 states/3-131101-all_PN_KC_block.npz
|
||||
a3c252fca88b4463953f2badf1b1028ac831ca86db0e3a6b6235dcdd6d6dd339 states/3-131101-calyx_PN_KC_contact_block-watched.npz
|
||||
dfea1fa07ce87fbd1cc34c2f6e799050a8e7e034a6b1be0c746073019edd7371 states/3-131101-calyx_PN_KC_contact_block.npz
|
||||
efcfdb65dd96bfb389ce06b0c93165dbe711724c369124659216e99f776731b3 states/3-131101-frozen_reference-watched.npz
|
||||
a2d453db134e2afa29d0acdaf114657d4a9ecf5eac9761fd8d20e81488f8deb5 states/3-131101-frozen_reference.npz
|
||||
9c10800139d86f4bd6735e9629b77b05116425259122cdc801c814a8bcb31909 states/3-131101-whole_PN_output_block-watched.npz
|
||||
ac5cd9159719e446682035150570b3a82242278b3df6e3285d7d8872cb2ad31c states/3-131101-whole_PN_output_block.npz
|
||||
112c62d3fb7b37c89e8bb7c8f6ce26faccf710a9626b36fe9e2e6ae60c723f97 states/4-131101-all_PN_KC_block-watched.npz
|
||||
5cd00244ad955e2ade3a1c11a438f71fd45fbe44b6c984f1d89df821cce01dee states/4-131101-all_PN_KC_block.npz
|
||||
f6d97fd0afa95066a8c92b6a9a4b2134703ac20f8c3b85518e149ade35d0322a states/4-131101-calyx_PN_KC_contact_block-watched.npz
|
||||
72022e2237532dfbc765519009f097bbc74adb12cc8d0f6e467d2cb43ed749e3 states/4-131101-calyx_PN_KC_contact_block.npz
|
||||
1500add748659784162eac2d42719e210839b24a048b9f13a799ac82db1d22be states/4-131101-frozen_reference-watched.npz
|
||||
7c47edf74d96c6a6d78127f5794842ec0ec6517476824f510111b6ae7db84484 states/4-131101-frozen_reference.npz
|
||||
7a1ea781bf2654c81662aa44fde08e48cddc9c6f7e4a63092edf9434db3f794b states/4-131101-whole_PN_output_block-watched.npz
|
||||
9010e095f29ae73cd3c41cc56668421a4a26fcdf168f4292c370a6472d4bac52 states/4-131101-whole_PN_output_block.npz
|
||||
4e9cdec61c2871b52e2ebee9c76d006b236b01000b24558061f964f2220ded4a states/5-131101-all_PN_KC_block-watched.npz
|
||||
5a5bbea421409a33d4b5637f73652bd9bf12ccc2441d69946830a754ba4931f0 states/5-131101-all_PN_KC_block.npz
|
||||
29bb7a2f41c8113551bc469f57dd1be80c2ddf8525ae35d64cf68d1937e62220 states/5-131101-calyx_PN_KC_contact_block-watched.npz
|
||||
01276b2d98fad5762e89bc7cd25292e8c78f4032cfddc8f25c81e0e2fcfc3de9 states/5-131101-calyx_PN_KC_contact_block.npz
|
||||
707f4fed38d0dffc8a581a54b2cdbfce7dbaa0f25f630830df0c7214ec7549fd states/5-131101-frozen_reference-watched.npz
|
||||
1f296417629abbfdaa5a289d42e607655d930b2b78ede983a000a162eb954e53 states/5-131101-frozen_reference.npz
|
||||
87b94583d373d4e0a71733f9b67165360d7d646f54f2cb0d3ae842eadb532d87 states/5-131101-whole_PN_output_block-watched.npz
|
||||
bba613671dd0f6f0a4dc450f20a55eaefe1d6026238adb23d9ec89b91f304934 states/5-131101-whole_PN_output_block.npz
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"binary": "/data/digital-drosophila/experiments/phase4ab-terminal-scope/gpu-reference/extension-build/male_cns_lif_deterministic_v2_ext.so",
|
||||
"binary_sha256": "328cdf2dd588ee875ffa06d9da5f77165e82b7ab1e62395135798116d6b3f0fc",
|
||||
"build_seconds": 58.095501807008986,
|
||||
"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,8 @@
|
||||
{
|
||||
"ComfyUI_models_unloaded": false,
|
||||
"device": "NVIDIA GeForce RTX 4090",
|
||||
"diagnostic_overhead_included": true,
|
||||
"not_runtime_benchmark": true,
|
||||
"peak_VRAM_bytes": 401255936,
|
||||
"wall_seconds_including_build": 497.18762119600433
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
[
|
||||
{
|
||||
"all_response_sum": 2.647552750875989,
|
||||
"formal_label": "",
|
||||
"mapped_nonzero_glomeruli": 9,
|
||||
"mapped_response_sum": 2.647552967071533,
|
||||
"mapped_signal_fraction": 1.0000000816586352,
|
||||
"mapped_strong_glomeruli": 6,
|
||||
"odor_id": "OMSUIQOIVADKIM-RXMQYKEDSA-N",
|
||||
"odor_name": "ethyl (R)-(-)-3-hydroxybutanoate",
|
||||
"split": "calibration"
|
||||
},
|
||||
{
|
||||
"all_response_sum": 3.15310405209239,
|
||||
"formal_label": "",
|
||||
"mapped_nonzero_glomeruli": 10,
|
||||
"mapped_response_sum": 3.153104305267334,
|
||||
"mapped_signal_fraction": 1.0000000802938755,
|
||||
"mapped_strong_glomeruli": 7,
|
||||
"odor_id": "LABTWGUMFABVFG-ARJAWSKDSA-N",
|
||||
"odor_name": "3-penten-2-one",
|
||||
"split": "calibration"
|
||||
},
|
||||
{
|
||||
"all_response_sum": 2.5893836710143447,
|
||||
"formal_label": "",
|
||||
"mapped_nonzero_glomeruli": 10,
|
||||
"mapped_response_sum": 2.589383840560913,
|
||||
"mapped_signal_fraction": 1.000000065477577,
|
||||
"mapped_strong_glomeruli": 7,
|
||||
"odor_id": "QNVRIHYSUZMSGM-ZCFIWIBFSA-N",
|
||||
"odor_name": "(2R)-hexan-2-ol",
|
||||
"split": "calibration"
|
||||
},
|
||||
{
|
||||
"all_response_sum": 2.145005152753913,
|
||||
"formal_label": "",
|
||||
"mapped_nonzero_glomeruli": 8,
|
||||
"mapped_response_sum": 2.145005226135254,
|
||||
"mapped_signal_fraction": 1.0000000342103332,
|
||||
"mapped_strong_glomeruli": 5,
|
||||
"odor_id": "VLSVVMPLPMNWBH-UHFFFAOYSA-N",
|
||||
"odor_name": "gamma-propyl-gamma-butyrolactone",
|
||||
"split": "calibration"
|
||||
},
|
||||
{
|
||||
"all_response_sum": 1.9317070827976401,
|
||||
"formal_label": "",
|
||||
"mapped_nonzero_glomeruli": 9,
|
||||
"mapped_response_sum": 1.9317071437835693,
|
||||
"mapped_signal_fraction": 1.0000000315710025,
|
||||
"mapped_strong_glomeruli": 5,
|
||||
"odor_id": "XHIUFYZDQBSEMF-UHFFFAOYSA-N",
|
||||
"odor_name": "2-methyl butyl acetate",
|
||||
"split": "calibration"
|
||||
},
|
||||
{
|
||||
"all_response_sum": 4.358990574986397,
|
||||
"formal_label": "",
|
||||
"mapped_nonzero_glomeruli": 9,
|
||||
"mapped_response_sum": 4.358990669250488,
|
||||
"mapped_signal_fraction": 1.0000000216252112,
|
||||
"mapped_strong_glomeruli": 8,
|
||||
"odor_id": "OMSUIQOIVADKIM-YFKPBYRVSA-N",
|
||||
"odor_name": "ethyl (S)-(+)-3-hydroxybutanoate",
|
||||
"split": "calibration"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"GPU_inventory": "0, Tesla V100-SXM2-16GB, GPU-a745fd30-4ca8-2370-09f6-2d374ac866dc, 580.178.04, 16384 MiB\n1, Tesla V100-SXM2-16GB, GPU-0f0ff6ed-bf1f-50ea-c244-b4566eccc66a, 580.178.04, 16384 MiB\n2, NVIDIA GeForce RTX 4090, GPU-79f3a85d-adce-7833-7003-6488140ca596, 580.178.04, 49140 MiB\n",
|
||||
"executable": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"installed_or_upgraded_packages": false,
|
||||
"nvcc": "nvcc: NVIDIA (R) Cuda compiler driver\nCopyright (c) 2005-2024 NVIDIA Corporation\nBuilt on Tue_Oct_29_23:50:19_PDT_2024\nCuda compilation tools, release 12.6, V12.6.85\nBuild cuda_12.6.r12.6/compiler.35059454_0\n",
|
||||
"packages": {
|
||||
"PyYAML": "6.0.3",
|
||||
"ninja": "1.13.2",
|
||||
"numpy": "2.2.6",
|
||||
"pandas": "2.3.3",
|
||||
"pyarrow": "25.0.1",
|
||||
"scipy": "1.15.3",
|
||||
"torch": "2.14.0"
|
||||
},
|
||||
"platform": "Linux-5.15.0-194-generic-x86_64-with-glibc2.35",
|
||||
"python": "3.10.12 (main, Aug 31 2026, 10:18:17) [GCC 11.4.0]",
|
||||
"source_sha256": "be92ce24e63910f67da0238b19e3abb882e1afd317561fccf01734f1b4a56f25"
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
[
|
||||
{
|
||||
"forcing": "a939ee1aa335c3821dd6f539e12936ef3b9eeb784a253961d83eda193b8cf072",
|
||||
"odor_index": 0,
|
||||
"seed": 80131101,
|
||||
"targets_rates": "2c69540b8352e9ac4870fa598306925daf5787fd5fefc9eb818eeddf1dcb67e1"
|
||||
},
|
||||
{
|
||||
"forcing": "16ca8d267bfaf6aaf7894ec7e8b47a1bd834526e0353fd81a5aa87ac6bf0da1c",
|
||||
"odor_index": 1,
|
||||
"seed": 81131101,
|
||||
"targets_rates": "b1ada43fc2751f56fba325b151cb8382f45425b69bb9d9a62653970c176d6104"
|
||||
},
|
||||
{
|
||||
"forcing": "b7eac53509b51e957617eaaf2ca7c4c319565c9037cab7b2b54e797323ddbff4",
|
||||
"odor_index": 2,
|
||||
"seed": 82131101,
|
||||
"targets_rates": "ee8255452f19cbbfb3deff719e42e9c15c85b0c974602063cabbb6a7b02052a0"
|
||||
},
|
||||
{
|
||||
"forcing": "23030e5d12d837ca5b12f944f89f5efe806b1fca155157187a8a01e2b62913a8",
|
||||
"odor_index": 3,
|
||||
"seed": 83131101,
|
||||
"targets_rates": "11a3f98ad623d5d217375ce4343217d428f4905c84964379c6d6d7e78c759275"
|
||||
},
|
||||
{
|
||||
"forcing": "a5d761a8c836af61e99092f7e22cf949ee37b013aa1841d16258355c51f5eedf",
|
||||
"odor_index": 4,
|
||||
"seed": 84131101,
|
||||
"targets_rates": "4b805ed706ff3a9ba19020c0b10f29d90efee476a9b440507cf221827e8419a9"
|
||||
},
|
||||
{
|
||||
"forcing": "cff8e383719d570f0c1a6f491385d81e4451d356603aea57235aa444974a3316",
|
||||
"odor_index": 5,
|
||||
"seed": 85131101,
|
||||
"targets_rates": "7deea1e8ce60a4357d57e359a30d7693815b59a413c0d5c48e96f654cab78500"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,122 @@
|
||||
{
|
||||
"__main__": {
|
||||
"path": "models/male-cns-lif/terminal-scope-diagnostic-v1/launch.py",
|
||||
"sha256": "0b2f71365267886933ba5becb52f4123d3d4e95e9c5bc0cf19c9bf0563831625"
|
||||
},
|
||||
"__mp_main__": {
|
||||
"path": "models/male-cns-lif/terminal-scope-diagnostic-v1/launch.py",
|
||||
"sha256": "0b2f71365267886933ba5becb52f4123d3d4e95e9c5bc0cf19c9bf0563831625"
|
||||
},
|
||||
"audit": {
|
||||
"path": "models/male-cns-lif/apl-pn-scope-audit-v1/audit.py",
|
||||
"sha256": "4ef071ba88f4e1cd78f068be58414dd7f4099dfac69c68266c4f46e175eab9fb"
|
||||
},
|
||||
"brain_runtime": {
|
||||
"path": "models/male-cns-lif/brain_runtime.py",
|
||||
"sha256": "1c4e3e6f06708bfec30b24e92297f320b2b8b87ebbbe6da501f5f2db4f74762a"
|
||||
},
|
||||
"diagnostic": {
|
||||
"path": "models/male-cns-lif/terminal-scope-diagnostic-v1/diagnostic.py",
|
||||
"sha256": "c8ec2ae6e72d35fedbd42acc6e6b5e7af2634d5b9805dc20e777b172c55d5aa4"
|
||||
},
|
||||
"phase4b": {
|
||||
"path": "models/male-cns-lif/phase4b.py",
|
||||
"sha256": "693468685a7ff3db1d09a088e0bbdaa78c595d64086b27e9cc18abceb4c7d174"
|
||||
},
|
||||
"phase4c": {
|
||||
"path": "models/male-cns-lif/phase4c.py",
|
||||
"sha256": "5ec83a132deb8ba20e62dab485537c2414016fe2fece546198d61c0668d75b6b"
|
||||
},
|
||||
"phase4h_audit": {
|
||||
"path": "models/male-cns-lif/phase4h_audit.py",
|
||||
"sha256": "83128ea0a7276a06c6ce57e4c533d076cf442e28e3b0834e38c4537cc87e1136"
|
||||
},
|
||||
"phase4i": {
|
||||
"path": "models/male-cns-lif/phase4i.py",
|
||||
"sha256": "f5a45ba4b41553495ea50e09ae4522f97f78ffb62b7fa690d8eb6e3ed06bd555"
|
||||
},
|
||||
"phase4j": {
|
||||
"path": "models/male-cns-lif/phase4j.py",
|
||||
"sha256": "abb4574da85f00bd9ef61024c65993ef81d42651ff8d8d63c15dd69c6222471e"
|
||||
},
|
||||
"phase4k": {
|
||||
"path": "models/male-cns-lif/phase4k.py",
|
||||
"sha256": "6ca7dd7b3fec7f970f8a43ac8286dd0f05b2674ac3996b9b20583b636719abe7"
|
||||
},
|
||||
"phase4l": {
|
||||
"path": "models/male-cns-lif/phase4l.py",
|
||||
"sha256": "e97d58d8c1f44920d0e953f8f5831ddc86fa0198784e86460e315de4116ac553"
|
||||
},
|
||||
"phase4m": {
|
||||
"path": "models/male-cns-lif/phase4m.py",
|
||||
"sha256": "3d1b64861559c9c04e08153b4056d968ab556637916d388170b36fc6348fa822"
|
||||
},
|
||||
"phase4n": {
|
||||
"path": "models/male-cns-lif/phase4n.py",
|
||||
"sha256": "dbbb49447aecbc862d3f54bba9de41f6b8ab90a6afb1ef43a686149fce832d13"
|
||||
},
|
||||
"phase4p": {
|
||||
"path": "models/male-cns-lif/deterministic-runtime-v2/phase4p.py",
|
||||
"sha256": "c8a13dbdd58dd222f73c1224de448e54bdf90c3f533163427a2bb25446a03999"
|
||||
},
|
||||
"phase4p_finalize": {
|
||||
"path": "models/male-cns-lif/deterministic-runtime-v2/phase4p_finalize.py",
|
||||
"sha256": "b627fb0934bca8f04ec7c595a7b5e6690a2af62a44bc00ff2972f9f764671cd4"
|
||||
},
|
||||
"phase4p_revalidate": {
|
||||
"path": "models/male-cns-lif/deterministic-runtime-v2/phase4p_revalidate.py",
|
||||
"sha256": "c7e693a2da70acdce4f53af5c2853e52e8333acc93f88a46a5e8083eac639346"
|
||||
},
|
||||
"phase4p_validate": {
|
||||
"path": "models/male-cns-lif/deterministic-runtime-v2/phase4p_validate.py",
|
||||
"sha256": "ce06aa5cb6439450440a91603af1c0d187b20dc11abda6528ea0dfc6b71569b5"
|
||||
},
|
||||
"phase4q": {
|
||||
"path": "models/male-cns-lif/credit-v3/phase4q.py",
|
||||
"sha256": "2cd10fb215d7ed624f4a4323453d20c4327bea490fa52eb3afc5d7fa0176a6e5"
|
||||
},
|
||||
"phase4r": {
|
||||
"path": "models/male-cns-lif/timing-audit-v1/phase4r.py",
|
||||
"sha256": "f33b7d01ff3fe3858a1d995a7471740218be250910548fde11b87432a15a73f1"
|
||||
},
|
||||
"phase4s": {
|
||||
"path": "models/male-cns-lif/timing-credit-v1/phase4s.py",
|
||||
"sha256": "59e4ee98a2a81321b1d1f9edd78035133ade8b73673b47a9c89f77bd39511769"
|
||||
},
|
||||
"phase4t": {
|
||||
"path": "models/male-cns-lif/timing-stability-v1/phase4t.py",
|
||||
"sha256": "eebb61a1b97fb3de90746d23cc3037d1290a97d505ecff7fc784948e68dfa88e"
|
||||
},
|
||||
"phase4u": {
|
||||
"path": "models/male-cns-lif/odor-timing-generalization-v1/phase4u.py",
|
||||
"sha256": "c97b908f38619a52a291c63fe90056f69d966f4138f50a3489f54e6e0ff8683e"
|
||||
},
|
||||
"phase4v": {
|
||||
"path": "models/male-cns-lif/csus-audit-v1/phase4v.py",
|
||||
"sha256": "9007a0b7b01760d05a0d29d01e8551452d8029dee507992f4f06b1aa74885e53"
|
||||
},
|
||||
"phase4w": {
|
||||
"path": "models/male-cns-lif/late-kc-audit-v1/phase4w.py",
|
||||
"sha256": "2c0c2eaf793b7f89eb8b1f606bc3878f16f101325818c5e6fe2b690eefdfb9a8"
|
||||
},
|
||||
"phase4x": {
|
||||
"path": "models/male-cns-lif/transmitter-audit-v1/phase4x.py",
|
||||
"sha256": "89999433ca5ca81764cef921c0095a207639ac3f3b9845537d7dc819b52c1dac"
|
||||
},
|
||||
"phase4y": {
|
||||
"path": "models/male-cns-lif/dpm-hypothesis-v1/phase4y.py",
|
||||
"sha256": "636139eaeafa981a0c54c59a7c69e2b52b8493aa798448fa86ae6d2c6baba319"
|
||||
},
|
||||
"phase4z": {
|
||||
"path": "models/male-cns-lif/pn-feedback-audit-v1/phase4z.py",
|
||||
"sha256": "0a9136c5543531ae5ce76eeef9a512f09b94ed2b96f8b14d2e8f7e6782b7e40d"
|
||||
},
|
||||
"scope": {
|
||||
"path": "models/male-cns-lif/terminal-scope-diagnostic-v1/scope.py",
|
||||
"sha256": "8f5774496dcceaee1c2793a5308754cbd0864c4a38d507481071d988f9de424d"
|
||||
},
|
||||
"transmitter_roles_v1": {
|
||||
"path": "models/male-cns-lif/transmitter-audit-v1/transmitter_roles_v1.py",
|
||||
"sha256": "76ba0cae6c5db417ec030456797f7935216c6877bd339d5e435133a0061e3930"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
[
|
||||
{
|
||||
"bytes": 10065020,
|
||||
"path": "experiments/phase4aa-apl-pn-scope/localization/APL-incident.parquet",
|
||||
"sha256": "442b0fa2640cd1bfaf97e558ae912a8601dc3289b420021526353bc3bcfba849"
|
||||
},
|
||||
{
|
||||
"bytes": 6749567,
|
||||
"path": "experiments/phase4aa-apl-pn-scope/localization/APL-target-PN-to-KC.parquet",
|
||||
"sha256": "310827739c293b633d6c392d2b59ced6820a0b39606fdb29ff263ce3f5b4847e"
|
||||
},
|
||||
{
|
||||
"bytes": 472,
|
||||
"path": "experiments/phase4aa-apl-pn-scope/external-resources/synaptic-partners/download-verification.json",
|
||||
"sha256": "4fd796f88f05a08d5f7f3c3ff2c63c939f330e9acc4519a5272c8b3b97fcf4ac"
|
||||
},
|
||||
{
|
||||
"bytes": 9283041,
|
||||
"path": "datasets/male-cns-v1.0/processed/neuron-only/neuron-index/unified-metadata.parquet",
|
||||
"sha256": "922af16846a065c3dbfca7c11146b83ca217fcbd7392edc745f444a04eae8c63"
|
||||
},
|
||||
{
|
||||
"bytes": 204663632,
|
||||
"path": "datasets/male-cns-v1.0/processed/neuron-only/gpu/csr-weights.int64.npy",
|
||||
"sha256": "c7ae101451dd19c47fd976bcfacbc52d67193a68ffa04c5b4d2e911cfd52d99b"
|
||||
},
|
||||
{
|
||||
"bytes": 102331880,
|
||||
"path": "datasets/male-cns-v1.0/processed/neuron-only/gpu/csr-indices.int32.npy",
|
||||
"sha256": "ce20f7433f78442c717ad2a7b5394cf4a3b109d990b4be0788040b7b0f4ed150"
|
||||
},
|
||||
{
|
||||
"bytes": 1333736,
|
||||
"path": "datasets/male-cns-v1.0/processed/neuron-only/gpu/csr-indptr.int64.npy",
|
||||
"sha256": "fe43420f11e6242a11f8199ae7f097cab4b8a6db181d36f2a46b9e46670acbb4"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"launcher_sha256": "0b2f71365267886933ba5becb52f4123d3d4e95e9c5bc0cf19c9bf0563831625",
|
||||
"model_source_edited": false,
|
||||
"module_paths": [
|
||||
"/data/digital-drosophila/models/male-cns-lif/deterministic-runtime-v2",
|
||||
"/data/digital-drosophila/models/male-cns-lif/credit-v3",
|
||||
"/data/digital-drosophila/models/male-cns-lif/timing-audit-v1",
|
||||
"/data/digital-drosophila/models/male-cns-lif/timing-credit-v1",
|
||||
"/data/digital-drosophila/models/male-cns-lif/timing-stability-v1",
|
||||
"/data/digital-drosophila/models/male-cns-lif/odor-timing-generalization-v1",
|
||||
"/data/digital-drosophila/models/male-cns-lif/csus-audit-v1",
|
||||
"/data/digital-drosophila/models/male-cns-lif/late-kc-audit-v1",
|
||||
"/data/digital-drosophila/models/male-cns-lif/dpm-hypothesis-v1",
|
||||
"/data/digital-drosophila/models/male-cns-lif/pn-feedback-audit-v1",
|
||||
"/data/digital-drosophila/models/male-cns-lif/transmitter-audit-v1"
|
||||
],
|
||||
"only_fix": "Add explicit existing frozen dependency directories to module lookup",
|
||||
"previous_attempt": "ModuleNotFoundError: phase4v before run-start and before simulation",
|
||||
"protocol_parameters_changed": false
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"all_PN_KC_block.parquet": "07ea3fa9fe2a4e093cff38aba9aab4e7a018f32c108542fc773110f0a43a8293",
|
||||
"calyx_PN_KC_contact_block.parquet": "0e2585cdb7d44b24f4579d90149f9bb7738718164036dde910be2d94a67370fc",
|
||||
"whole_PN_output_block.parquet": "95f800944d01738e3d36da64a17c9bd37b8372fd8ba165bdcd31a94da0fdee29"
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"before_analysis": true,
|
||||
"config": {
|
||||
"canonical": "datasets/male-cns-v1.0/processed/neuron-only",
|
||||
"conditions": [
|
||||
"frozen_reference",
|
||||
"calyx_PN_KC_contact_block",
|
||||
"all_PN_KC_block",
|
||||
"whole_PN_output_block"
|
||||
],
|
||||
"event_prior": "experiments/phase4z-pn-feedback-audit",
|
||||
"experiment": "experiments/phase4ab-terminal-scope",
|
||||
"input_model": "models/male-cns-lif/csus-audit-v1",
|
||||
"late_start_ms": 500,
|
||||
"model": "models/male-cns-lif/terminal-scope-diagnostic-v1",
|
||||
"no_candidate": true,
|
||||
"odor_indices": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5
|
||||
],
|
||||
"phase": "4AB",
|
||||
"prior_experiment": "experiments/phase4aa-apl-pn-scope",
|
||||
"prior_model": "models/male-cns-lif/apl-pn-scope-audit-v1",
|
||||
"repeat_odor_index": 0,
|
||||
"roi_labels": [
|
||||
"CA(L)",
|
||||
"CA(R)"
|
||||
],
|
||||
"root": "/data/digital-drosophila",
|
||||
"runtime": "models/male-cns-lif/deterministic-runtime-v2",
|
||||
"seed": 131101,
|
||||
"snapshot": "registry/snapshots/bootstrap-20260929",
|
||||
"state_prior": "experiments/phase4y-dpm-hypothesis",
|
||||
"target_KC": 82312,
|
||||
"watched_VA6": 133666,
|
||||
"workers": 4
|
||||
},
|
||||
"parent_commit": "d6843e675dec5ae38a06f2ba70d74836aea53ace",
|
||||
"source_hashes": {
|
||||
"PROTOCOL.md": "451b53b128eb0ad67acb81f060f3676794a68c98637dd2c0eddd137da509fccf",
|
||||
"config.yaml": "e22088d9847504a50c0e684d2cee9420f484ab1ebef9d6057921062d8f785e73",
|
||||
"diagnostic.py": "c8ec2ae6e72d35fedbd42acc6e6b5e7af2634d5b9805dc20e777b172c55d5aa4",
|
||||
"scope.py": "8f5774496dcceaee1c2793a5308754cbd0864c4a38d507481071d988f9de424d",
|
||||
"test_scope.py": "38a1c6e653ae97e77e5feda3ee8f2f8a3c366755bfbbd57ca1373b9b8f971bbb"
|
||||
},
|
||||
"timestamp_utc": "2026-09-29T16:14:53.622166+00:00"
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"repeat_exact": {
|
||||
"counts": true,
|
||||
"events": true,
|
||||
"final_g": true,
|
||||
"final_v": true,
|
||||
"requests": true,
|
||||
"states": true,
|
||||
"trace": true
|
||||
},
|
||||
"trial": "0-131101-all_PN_KC_block"
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"repeat_exact": {
|
||||
"counts": true,
|
||||
"events": true,
|
||||
"final_g": true,
|
||||
"final_v": true,
|
||||
"requests": true,
|
||||
"states": true,
|
||||
"trace": true
|
||||
},
|
||||
"trial": "0-131101-calyx_PN_KC_contact_block"
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"prior_exact": {
|
||||
"counts": true,
|
||||
"events": true,
|
||||
"final_g": true,
|
||||
"final_v": true,
|
||||
"trace": true,
|
||||
"watched_states": true
|
||||
},
|
||||
"repeat_exact": {
|
||||
"counts": true,
|
||||
"events": true,
|
||||
"final_g": true,
|
||||
"final_v": true,
|
||||
"requests": true,
|
||||
"states": true,
|
||||
"trace": true
|
||||
},
|
||||
"trial": "0-131101-frozen_reference"
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"repeat_exact": {
|
||||
"counts": true,
|
||||
"events": true,
|
||||
"final_g": true,
|
||||
"final_v": true,
|
||||
"requests": true,
|
||||
"states": true,
|
||||
"trace": true
|
||||
},
|
||||
"trial": "0-131101-whole_PN_output_block"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"trial": "1-131101-all_PN_KC_block"
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"trial": "1-131101-calyx_PN_KC_contact_block"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"prior_exact": {
|
||||
"counts": true,
|
||||
"events": true,
|
||||
"final_g": true,
|
||||
"final_v": true,
|
||||
"trace": true,
|
||||
"watched_states": true
|
||||
},
|
||||
"trial": "1-131101-frozen_reference"
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"trial": "1-131101-whole_PN_output_block"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"trial": "2-131101-all_PN_KC_block"
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"trial": "2-131101-calyx_PN_KC_contact_block"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"prior_exact": {
|
||||
"counts": true,
|
||||
"events": true,
|
||||
"final_g": true,
|
||||
"final_v": true,
|
||||
"trace": true,
|
||||
"watched_states": true
|
||||
},
|
||||
"trial": "2-131101-frozen_reference"
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"trial": "2-131101-whole_PN_output_block"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"trial": "3-131101-all_PN_KC_block"
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"trial": "3-131101-calyx_PN_KC_contact_block"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"prior_exact": {
|
||||
"counts": true,
|
||||
"events": true,
|
||||
"final_g": true,
|
||||
"final_v": true,
|
||||
"trace": true,
|
||||
"watched_states": true
|
||||
},
|
||||
"trial": "3-131101-frozen_reference"
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"trial": "3-131101-whole_PN_output_block"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"trial": "4-131101-all_PN_KC_block"
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"trial": "4-131101-calyx_PN_KC_contact_block"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"prior_exact": {
|
||||
"counts": true,
|
||||
"events": true,
|
||||
"final_g": true,
|
||||
"final_v": true,
|
||||
"trace": true,
|
||||
"watched_states": true
|
||||
},
|
||||
"trial": "4-131101-frozen_reference"
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"trial": "4-131101-whole_PN_output_block"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"trial": "5-131101-all_PN_KC_block"
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"trial": "5-131101-calyx_PN_KC_contact_block"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"prior_exact": {
|
||||
"counts": true,
|
||||
"events": true,
|
||||
"final_g": true,
|
||||
"final_v": true,
|
||||
"trace": true,
|
||||
"watched_states": true
|
||||
},
|
||||
"trial": "5-131101-frozen_reference"
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"declared_weight_scope_exact": true,
|
||||
"trial": "5-131101-whole_PN_output_block"
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"original": {
|
||||
"checked": 230239,
|
||||
"exclusions": [
|
||||
".cache",
|
||||
".git",
|
||||
".mypy_cache",
|
||||
".pytest_cache",
|
||||
".venv",
|
||||
"__pycache__",
|
||||
"node_modules",
|
||||
"venv"
|
||||
],
|
||||
"meaning": "All original listed bytes checked; only newly named stage outputs are additions.",
|
||||
"mismatches": [],
|
||||
"new_stage_additions_allowed": true,
|
||||
"pass": true,
|
||||
"reference_sha256": "6f186112e6102f2f7969de7442fa7ee4432200a3678586cfc4e10c490b31bca4"
|
||||
},
|
||||
"prior_experiment": {
|
||||
"checked": 68,
|
||||
"checksums_sha256": "a69b2511689207b0d9ddbe2fabce3be71908f457bb898e3b685a213a796a272a",
|
||||
"manifest_sha256": "6d75567af2a6c0993d4fc08e272814910c19fa9602811cfacd1ebc4ba76bc737",
|
||||
"mismatches": [],
|
||||
"pass": true
|
||||
},
|
||||
"prior_model": {
|
||||
"checked": 12,
|
||||
"checksums_sha256": "55dc418f2d62be04601af33cbd8789578447e6a2289d3a581dc713cbb7466a25",
|
||||
"manifest_sha256": "9120685eb02dc2bd3b38d42b2ade1f38f6bbc2a1ec269fd4d555cead2d628277",
|
||||
"mismatches": [],
|
||||
"pass": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"oracle": "frozen deterministic-v2",
|
||||
"original_v1_preserved": true,
|
||||
"pass": true,
|
||||
"trials": [
|
||||
{
|
||||
"exact": {
|
||||
"counts": true,
|
||||
"g": true,
|
||||
"neuron_idx": true,
|
||||
"step": true,
|
||||
"v": true
|
||||
},
|
||||
"trial": "auditory-10hz",
|
||||
"wall_seconds": 2.6707512350112665
|
||||
},
|
||||
{
|
||||
"exact": {
|
||||
"counts": true,
|
||||
"g": true,
|
||||
"neuron_idx": true,
|
||||
"step": true,
|
||||
"v": true
|
||||
},
|
||||
"trial": "auditory-100hz",
|
||||
"wall_seconds": 5.058842792001087
|
||||
},
|
||||
{
|
||||
"exact": {
|
||||
"counts": true,
|
||||
"g": true,
|
||||
"neuron_idx": true,
|
||||
"step": true,
|
||||
"v": true
|
||||
},
|
||||
"trial": "olfactory-50hz",
|
||||
"wall_seconds": 5.067613077990245
|
||||
},
|
||||
{
|
||||
"exact": {
|
||||
"counts": true,
|
||||
"g": true,
|
||||
"neuron_idx": true,
|
||||
"step": true,
|
||||
"v": true
|
||||
},
|
||||
"trial": "mechanosensory-50hz",
|
||||
"wall_seconds": 5.076028995012166
|
||||
},
|
||||
{
|
||||
"exact": {
|
||||
"counts": true,
|
||||
"g": true,
|
||||
"neuron_idx": true,
|
||||
"step": true,
|
||||
"v": true
|
||||
},
|
||||
"trial": "gustatory-50hz",
|
||||
"wall_seconds": 5.056191121999291
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"baseline_exact_neurons": 11,
|
||||
"terminal_nonKC_arrivals_exact": true
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"original": {
|
||||
"checked": 230239,
|
||||
"exclusions": [
|
||||
".cache",
|
||||
".git",
|
||||
".mypy_cache",
|
||||
".pytest_cache",
|
||||
".venv",
|
||||
"__pycache__",
|
||||
"node_modules",
|
||||
"venv"
|
||||
],
|
||||
"meaning": "All original listed bytes checked; only newly named stage outputs are additions.",
|
||||
"mismatches": [],
|
||||
"new_stage_additions_allowed": true,
|
||||
"pass": true,
|
||||
"reference_sha256": "6f186112e6102f2f7969de7442fa7ee4432200a3678586cfc4e10c490b31bca4"
|
||||
},
|
||||
"prior_experiment": {
|
||||
"checked": 68,
|
||||
"checksums_sha256": "a69b2511689207b0d9ddbe2fabce3be71908f457bb898e3b685a213a796a272a",
|
||||
"manifest_sha256": "6d75567af2a6c0993d4fc08e272814910c19fa9602811cfacd1ebc4ba76bc737",
|
||||
"mismatches": [],
|
||||
"pass": true
|
||||
},
|
||||
"prior_model": {
|
||||
"checked": 12,
|
||||
"checksums_sha256": "55dc418f2d62be04601af33cbd8789578447e6a2289d3a581dc713cbb7466a25",
|
||||
"manifest_sha256": "9120685eb02dc2bd3b38d42b2ade1f38f6bbc2a1ec269fd4d555cead2d628277",
|
||||
"mismatches": [],
|
||||
"pass": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"APL_matrices": true,
|
||||
"base": true,
|
||||
"frozen_effective_weights": true,
|
||||
"raw": true
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"ComfyUI_queues": [
|
||||
{
|
||||
"pending": 0,
|
||||
"port": 8188,
|
||||
"running": 0
|
||||
},
|
||||
{
|
||||
"pending": 0,
|
||||
"port": 8189,
|
||||
"running": 0
|
||||
},
|
||||
{
|
||||
"pending": 0,
|
||||
"port": 8190,
|
||||
"running": 0
|
||||
}
|
||||
],
|
||||
"device": "NVIDIA GeForce RTX 4090",
|
||||
"free_VRAM": 12494438400,
|
||||
"timestamp_utc": "2026-09-29T16:16:57.370037+00:00",
|
||||
"total_VRAM": 50864390144
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"finite": true,
|
||||
"fuzz_cases": 10000,
|
||||
"fuzz_seed": 41337,
|
||||
"input_nonmutation": true,
|
||||
"never_sign_flip_or_amplify": true,
|
||||
"pass": true,
|
||||
"source_sha256": "971136a667367a84cfc50ebc3fa73a749eddb8b8e1ca6931708ba67bfc12f0c1",
|
||||
"unit_tests": 6,
|
||||
"unittest_log": "test_duplicates_rejected (test_scope.ScopeTests) ... ok\ntest_existing_edge_only (test_scope.ScopeTests) ... ok\ntest_invalid_partition_rejected (test_scope.ScopeTests) ... ok\ntest_partial_and_full (test_scope.ScopeTests) ... ok\ntest_roi_and_side_not_guessed (test_scope.ScopeTests) ... ok\ntest_zero_identity_and_nonmutation (test_scope.ScopeTests) ... ok\n\n----------------------------------------------------------------------\nRan 6 tests in 0.017s\n\nOK\n",
|
||||
"zero_identity_bitwise": true
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
condition,neuron_idx,arrival_unchanged,arrival_L1_difference,conditional_late_spikes,all_other_recorded_events_and_APL_fixed,whole_brain_causality_claim
|
||||
frozen_reference,30,True,0.0,187,True,False
|
||||
calyx_PN_KC_contact_block,30,True,0.0,187,True,False
|
||||
all_PN_KC_block,30,True,0.0,187,True,False
|
||||
whole_PN_output_block,30,False,2603.4250798225403,186,True,False
|
||||
frozen_reference,179,True,0.0,164,True,False
|
||||
calyx_PN_KC_contact_block,179,True,0.0,164,True,False
|
||||
all_PN_KC_block,179,True,0.0,164,True,False
|
||||
whole_PN_output_block,179,False,2433.4745279848576,159,True,False
|
||||
frozen_reference,484,True,0.0,194,True,False
|
||||
calyx_PN_KC_contact_block,484,True,0.0,194,True,False
|
||||
all_PN_KC_block,484,True,0.0,194,True,False
|
||||
whole_PN_output_block,484,False,2778.325125724077,193,True,False
|
||||
frozen_reference,1197,True,0.0,228,True,False
|
||||
calyx_PN_KC_contact_block,1197,True,0.0,228,True,False
|
||||
all_PN_KC_block,1197,True,0.0,228,True,False
|
||||
whole_PN_output_block,1197,False,233827.83066305518,227,True,False
|
||||
frozen_reference,1381,True,0.0,228,True,False
|
||||
calyx_PN_KC_contact_block,1381,True,0.0,228,True,False
|
||||
all_PN_KC_block,1381,True,0.0,228,True,False
|
||||
whole_PN_output_block,1381,False,263067.20497968793,227,True,False
|
||||
frozen_reference,1511,True,0.0,228,True,False
|
||||
calyx_PN_KC_contact_block,1511,True,0.0,228,True,False
|
||||
all_PN_KC_block,1511,True,0.0,228,True,False
|
||||
whole_PN_output_block,1511,False,247104.5574080348,227,True,False
|
||||
frozen_reference,1644,True,0.0,218,True,False
|
||||
calyx_PN_KC_contact_block,1644,True,0.0,218,True,False
|
||||
all_PN_KC_block,1644,True,0.0,218,True,False
|
||||
whole_PN_output_block,1644,False,27596.52651181817,216,True,False
|
||||
frozen_reference,6065,True,0.0,164,True,False
|
||||
calyx_PN_KC_contact_block,6065,True,0.0,164,True,False
|
||||
all_PN_KC_block,6065,True,0.0,164,True,False
|
||||
whole_PN_output_block,6065,False,6536.750062584877,152,True,False
|
||||
frozen_reference,6842,True,0.0,171,True,False
|
||||
calyx_PN_KC_contact_block,6842,True,0.0,171,True,False
|
||||
all_PN_KC_block,6842,True,0.0,171,True,False
|
||||
whole_PN_output_block,6842,False,5408.699882417917,162,True,False
|
||||
frozen_reference,82312,True,0.0,60,True,False
|
||||
calyx_PN_KC_contact_block,82312,False,13211.275120049715,0,True,False
|
||||
all_PN_KC_block,82312,False,13676.575129687786,0,True,False
|
||||
whole_PN_output_block,82312,False,13676.575129687786,0,True,False
|
||||
frozen_reference,133666,True,0.0,213,True,False
|
||||
calyx_PN_KC_contact_block,133666,True,0.0,213,True,False
|
||||
all_PN_KC_block,133666,True,0.0,213,True,False
|
||||
whole_PN_output_block,133666,False,14746.32684147358,210,True,False
|
||||
|
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"experiments/phase4ab-terminal-scope": {
|
||||
"checked": 199,
|
||||
"checksums_sha256": "d83926a3055d9f9ca471ceba328076d7ceba883f267468750914080733e95e31",
|
||||
"manifest_sha256": "cb3723f9dae29d4889489ae39f40293c927f4f9e532551e2c4d5214bf0a70140",
|
||||
"mismatches": [],
|
||||
"pass": true
|
||||
},
|
||||
"models/male-cns-lif/terminal-scope-diagnostic-v1": {
|
||||
"checked": 11,
|
||||
"checksums_sha256": "92a03195cb41863027fd0397ad3811248354a5d3f2e91ffa2c297eba62dc2821",
|
||||
"manifest_sha256": "5cea0035a95345825b73385c6e3056244c2a614d10a6fa6742487a331d8f0f3e",
|
||||
"mismatches": [],
|
||||
"pass": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,242 @@
|
||||
[
|
||||
{
|
||||
"bytes": 5154,
|
||||
"copy": "evidence/INTERPRETATION.zh.md",
|
||||
"sha256": "e62102c1084dd513dec04f9fdc41570441b25100d5fdcea9e43427f70870f0d7",
|
||||
"source": "experiments/phase4ac-lif-semantics/INTERPRETATION.zh.md"
|
||||
},
|
||||
{
|
||||
"bytes": 5210,
|
||||
"copy": "evidence/REPORT.md",
|
||||
"sha256": "a8b24e795ee1fc8b2c212367525ef9508d4edce74876a361a9164ce146158569",
|
||||
"source": "experiments/phase4ac-lif-semantics/REPORT.md"
|
||||
},
|
||||
{
|
||||
"bytes": 558,
|
||||
"copy": "evidence/audit/author-source-clauses.json",
|
||||
"sha256": "7cce72b98892eac115e500340a8c11f6737c0dd83bfd7c9fbd28b2167bf2f60e",
|
||||
"source": "experiments/phase4ac-lif-semantics/audit/author-source-clauses.json"
|
||||
},
|
||||
{
|
||||
"bytes": 227,
|
||||
"copy": "evidence/audit/final-status.json",
|
||||
"sha256": "c61d57cfb8808b0af5133e5d061e3ed6c435a6475f7a23b90f16c2de45d999fb",
|
||||
"source": "experiments/phase4ac-lif-semantics/audit/final-status.json"
|
||||
},
|
||||
{
|
||||
"bytes": 1552,
|
||||
"copy": "evidence/audit/local-inhibition-crosswalk.csv",
|
||||
"sha256": "d2e2c65cffa100598c6f991bcf8df3b094501fbe59d34519839df280a2d8b087",
|
||||
"source": "experiments/phase4ac-lif-semantics/audit/local-inhibition-crosswalk.csv"
|
||||
},
|
||||
{
|
||||
"bytes": 208,
|
||||
"copy": "evidence/audit/run-complete.json",
|
||||
"sha256": "4480a78f84ecca51e4153fa8cc9650a7f77ca3a91c04cd14cbe653a4f9162e4c",
|
||||
"source": "experiments/phase4ac-lif-semantics/audit/run-complete.json"
|
||||
},
|
||||
{
|
||||
"bytes": 547,
|
||||
"copy": "evidence/audit/selected-real-edges.csv",
|
||||
"sha256": "9103e9d03fa21058a4f6cd21780c56fed8cdcfca26c34c2a43726e39aed8ec55",
|
||||
"source": "experiments/phase4ac-lif-semantics/audit/selected-real-edges.csv"
|
||||
},
|
||||
{
|
||||
"bytes": 531,
|
||||
"copy": "evidence/audit/semantics-differences.csv",
|
||||
"sha256": "1ea234a0a1fff64234dbff05e1f25513151295b0cfb0a1fc7bd174d3f5b7e3e6",
|
||||
"source": "experiments/phase4ac-lif-semantics/audit/semantics-differences.csv"
|
||||
},
|
||||
{
|
||||
"bytes": 5427,
|
||||
"copy": "evidence/checksums.sha256",
|
||||
"sha256": "81bb3a86454147f1562bc3592438b6a6d0091dbe1d2a777e802882ecf1d0db35",
|
||||
"source": "experiments/phase4ac-lif-semantics/checksums.sha256"
|
||||
},
|
||||
{
|
||||
"bytes": 1085,
|
||||
"copy": "evidence/external-resources/LICENSE",
|
||||
"sha256": "3621f6d6476189190e2960fa43f11b275ba4eca848fdac50a1ba2925de6223e8",
|
||||
"source": "experiments/phase4ac-lif-semantics/external-resources/LICENSE"
|
||||
},
|
||||
{
|
||||
"bytes": 3445,
|
||||
"copy": "evidence/external-resources/environment_full.yml",
|
||||
"sha256": "402fcef4968c99397b0e908b3323ab9e6ef86af5583e46e6427f96f3d1091adf",
|
||||
"source": "experiments/phase4ac-lif-semantics/external-resources/environment_full.yml"
|
||||
},
|
||||
{
|
||||
"bytes": 11900,
|
||||
"copy": "evidence/external-resources/model.py",
|
||||
"sha256": "fc45837d7122c6ce2a7f3f2f23c515992e4b232aadb919efabb72337fac88e4e",
|
||||
"source": "experiments/phase4ac-lif-semantics/external-resources/model.py"
|
||||
},
|
||||
{
|
||||
"bytes": 1137,
|
||||
"copy": "evidence/external-resources/provenance.json",
|
||||
"sha256": "7dc4014bbf9fbe64665a82d4542bba71df7c4497064850d30ef0278f23ba2e49",
|
||||
"source": "experiments/phase4ac-lif-semantics/external-resources/provenance.json"
|
||||
},
|
||||
{
|
||||
"bytes": 442,
|
||||
"copy": "evidence/gpu-reference/extension.json",
|
||||
"sha256": "9d88976e53ac778d64887e0708aaf06922af3fddb69717b4cda2ea4bb750c2ae",
|
||||
"source": "experiments/phase4ac-lif-semantics/gpu-reference/extension.json"
|
||||
},
|
||||
{
|
||||
"bytes": 9363,
|
||||
"copy": "evidence/manifest.json",
|
||||
"sha256": "4e7d1606e107fe72f5dad935952705260577edaba6f811d65b4105ce07abd72c",
|
||||
"source": "experiments/phase4ac-lif-semantics/manifest.json"
|
||||
},
|
||||
{
|
||||
"bytes": 228,
|
||||
"copy": "evidence/motifs/feedforward-edges.csv",
|
||||
"sha256": "add7a3b450e3f3043af602baf8e770e5358c1c024d44bb21a74ef18429c0680e",
|
||||
"source": "experiments/phase4ac-lif-semantics/motifs/feedforward-edges.csv"
|
||||
},
|
||||
{
|
||||
"bytes": 547,
|
||||
"copy": "evidence/motifs/five-edges.csv",
|
||||
"sha256": "9103e9d03fa21058a4f6cd21780c56fed8cdcfca26c34c2a43726e39aed8ec55",
|
||||
"source": "experiments/phase4ac-lif-semantics/motifs/five-edges.csv"
|
||||
},
|
||||
{
|
||||
"bytes": 547,
|
||||
"copy": "evidence/motifs/no_input-edges.csv",
|
||||
"sha256": "9103e9d03fa21058a4f6cd21780c56fed8cdcfca26c34c2a43726e39aed8ec55",
|
||||
"source": "experiments/phase4ac-lif-semantics/motifs/no_input-edges.csv"
|
||||
},
|
||||
{
|
||||
"bytes": 152,
|
||||
"copy": "evidence/motifs/pair-edges.csv",
|
||||
"sha256": "05a7c7a5547aaeea4d1522f9cea75463405f0c3cdfbc4d563f111ad51cb80e00",
|
||||
"source": "experiments/phase4ac-lif-semantics/motifs/pair-edges.csv"
|
||||
},
|
||||
{
|
||||
"bytes": 1009,
|
||||
"copy": "evidence/motifs/summary.csv",
|
||||
"sha256": "4e762a26ecc7d3c3f862260495b6064a60832431b61dd41b944e8c501617a906",
|
||||
"source": "experiments/phase4ac-lif-semantics/motifs/summary.csv"
|
||||
},
|
||||
{
|
||||
"bytes": 288,
|
||||
"copy": "evidence/motifs/trio-edges.csv",
|
||||
"sha256": "c842c5bce0b11275c0eba9532955026a4b58931c2346e178bfa8a84227289c71",
|
||||
"source": "experiments/phase4ac-lif-semantics/motifs/trio-edges.csv"
|
||||
},
|
||||
{
|
||||
"bytes": 138,
|
||||
"copy": "evidence/performance/summary.json",
|
||||
"sha256": "ef768705779fdf1fa5563e00d80b703ee70804742bbf4fa701c4d63532896f80",
|
||||
"source": "experiments/phase4ac-lif-semantics/performance/summary.json"
|
||||
},
|
||||
{
|
||||
"bytes": 291,
|
||||
"copy": "evidence/protocol/dynamics.json",
|
||||
"sha256": "a5aa62f5588fbf754c6164b69d61a5154d23fc8f749ae4c36aea3f4ad1fa2576",
|
||||
"source": "experiments/phase4ac-lif-semantics/protocol/dynamics.json"
|
||||
},
|
||||
{
|
||||
"bytes": 434,
|
||||
"copy": "evidence/protocol/frozen-input-hashes.json",
|
||||
"sha256": "6cbe6b4b43f7e3928b247a2188b955be5431224a01f8c0838544a0b9f34fe569",
|
||||
"source": "experiments/phase4ac-lif-semantics/protocol/frozen-input-hashes.json"
|
||||
},
|
||||
{
|
||||
"bytes": 524,
|
||||
"copy": "evidence/protocol/prepared-input-hashes.json",
|
||||
"sha256": "726e949b87ebd4e15e10ed3a57336f03bc8e4c2e13ebe8b7e8dbb718166b4f6e",
|
||||
"source": "experiments/phase4ac-lif-semantics/protocol/prepared-input-hashes.json"
|
||||
},
|
||||
{
|
||||
"bytes": 3227,
|
||||
"copy": "evidence/protocol/preregistered.json",
|
||||
"sha256": "00a18f5e7e41892011cc69e25a151e61d1a44352b2152a11f77ef4576dfb83bf",
|
||||
"source": "experiments/phase4ac-lif-semantics/protocol/preregistered.json"
|
||||
},
|
||||
{
|
||||
"bytes": 182,
|
||||
"copy": "evidence/regression/anatomical-edge-validation.json",
|
||||
"sha256": "96eed02282d703f483873bf56cacc9147ebdfb6c7cd25d159a8161a2d3532ee5",
|
||||
"source": "experiments/phase4ac-lif-semantics/regression/anatomical-edge-validation.json"
|
||||
},
|
||||
{
|
||||
"bytes": 185,
|
||||
"copy": "evidence/regression/feedforward.json",
|
||||
"sha256": "1125ada92933e1f69c53b1f2085c9678c154854b2ff1bbfcc68ffe851bac118b",
|
||||
"source": "experiments/phase4ac-lif-semantics/regression/feedforward.json"
|
||||
},
|
||||
{
|
||||
"bytes": 1664,
|
||||
"copy": "evidence/regression/final-integrity.json",
|
||||
"sha256": "f39187d9efcc54ca48beed0b6daf3e18368652e11bef62065bcc988a9fc4fcdc",
|
||||
"source": "experiments/phase4ac-lif-semantics/regression/final-integrity.json"
|
||||
},
|
||||
{
|
||||
"bytes": 185,
|
||||
"copy": "evidence/regression/five.json",
|
||||
"sha256": "1125ada92933e1f69c53b1f2085c9678c154854b2ff1bbfcc68ffe851bac118b",
|
||||
"source": "experiments/phase4ac-lif-semantics/regression/five.json"
|
||||
},
|
||||
{
|
||||
"bytes": 1206,
|
||||
"copy": "evidence/regression/frozen-five.json",
|
||||
"sha256": "0aa4d6b309121bf203ea475ea797136f21a46aba8e1dc513c2b522d3b2c97434",
|
||||
"source": "experiments/phase4ac-lif-semantics/regression/frozen-five.json"
|
||||
},
|
||||
{
|
||||
"bytes": 494,
|
||||
"copy": "evidence/regression/motifs.json",
|
||||
"sha256": "31716107c5c2c6b9d05b81373f0ec7d95be15147e9cb84296fd8ef898e2338af",
|
||||
"source": "experiments/phase4ac-lif-semantics/regression/motifs.json"
|
||||
},
|
||||
{
|
||||
"bytes": 185,
|
||||
"copy": "evidence/regression/no_input.json",
|
||||
"sha256": "1125ada92933e1f69c53b1f2085c9678c154854b2ff1bbfcc68ffe851bac118b",
|
||||
"source": "experiments/phase4ac-lif-semantics/regression/no_input.json"
|
||||
},
|
||||
{
|
||||
"bytes": 185,
|
||||
"copy": "evidence/regression/pair.json",
|
||||
"sha256": "1125ada92933e1f69c53b1f2085c9678c154854b2ff1bbfcc68ffe851bac118b",
|
||||
"source": "experiments/phase4ac-lif-semantics/regression/pair.json"
|
||||
},
|
||||
{
|
||||
"bytes": 1664,
|
||||
"copy": "evidence/regression/preflight.json",
|
||||
"sha256": "f39187d9efcc54ca48beed0b6daf3e18368652e11bef62065bcc988a9fc4fcdc",
|
||||
"source": "experiments/phase4ac-lif-semantics/regression/preflight.json"
|
||||
},
|
||||
{
|
||||
"bytes": 179,
|
||||
"copy": "evidence/regression/run-start.json",
|
||||
"sha256": "68c3f652297bd8e7f8de7fb286ff45f1d3a59668df8313f17d1b6793ddada6ab",
|
||||
"source": "experiments/phase4ac-lif-semantics/regression/run-start.json"
|
||||
},
|
||||
{
|
||||
"bytes": 155,
|
||||
"copy": "evidence/regression/synthetic.json",
|
||||
"sha256": "25cf81371c5a05ba841406f2ede9c4ddd4e2dec00230e90c3985879624337336",
|
||||
"source": "experiments/phase4ac-lif-semantics/regression/synthetic.json"
|
||||
},
|
||||
{
|
||||
"bytes": 185,
|
||||
"copy": "evidence/regression/trio.json",
|
||||
"sha256": "1125ada92933e1f69c53b1f2085c9678c154854b2ff1bbfcc68ffe851bac118b",
|
||||
"source": "experiments/phase4ac-lif-semantics/regression/trio.json"
|
||||
},
|
||||
{
|
||||
"bytes": 33,
|
||||
"copy": "evidence/regression/unit-tests.json",
|
||||
"sha256": "abe9ac4065f0ddeb5697b971e12aab4f36946eaa819536a06ecc58d0d2f0eb70",
|
||||
"source": "experiments/phase4ac-lif-semantics/regression/unit-tests.json"
|
||||
},
|
||||
{
|
||||
"bytes": 7495,
|
||||
"copy": "evidence/synthetic/results.csv",
|
||||
"sha256": "3a05e5a7f0d95935c1e14ad4eb733575759f1f170f3c61ee9e94c7d86dd917c4",
|
||||
"source": "experiments/phase4ac-lif-semantics/synthetic/results.csv"
|
||||
}
|
||||
]
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user