科研高性能计算【免费下载链接】fly-brainEmulation of the Drosophila Fly brain: Brian2, Brian2CUDA, PyTorch, NEST GPU, and neuromorphic chips项目地址https://gitcode.com/gh_mirrors/fl/fly-brain点击查看免费下载想在 fly-brain 中复现 Nature 论文基准套件吗本文带你用一条命令跑通--paper五轮实验并彻底搞懂run-label如何管理 600 个 spike parquet 文件、断点续跑与结果校验。fly-brain 是基于 FlyWire 连接组约 138k 神经元、500 万突触的成年果蝇全脑 LIF 仿真基准统一对比 Brian2、Brian2CUDA、PyTorch、NEST GPU、GeNN 与 Brian2GeNN 六大后端。一、先搞懂--paper 基准套件到底跑什么很多人第一次看到--paper参数就懵了。它其实是论文级别的完整参数网格 重复轮次预设核心配置硬编码在 code/benchmark.py 中配置项取值含义t_run0.1 / 1 / 10 / 100秒4 档仿真时长March 网格n_run1 / 4 / 8 / 16 / 325 档独立试验数批大小轮数PAPER_ROUNDS 5同一网格重复 5 轮默认后端cpu / gpu / pytorch / nestgpu / genn5 个主环境后端也就是说每个后端每轮跑4 × 5 20 个参数组合5 轮下来单后端产出 100 个结果行六大后端合并后就是论文数据集中的600 个 spike parquet 文件每轮 120 个。 与完整基准python main.pyt_run 含 1000 秒、单轮不同--paper时长上限是 100 秒、且强制 5 轮专为论文可复现性设计。二、一键安装步骤准备好两个 conda 环境复现前需要准备运行环境入口在 main.py环境定义在仓库根目录# 主环境Brian2 / Brian2CUDA / PyTorch / GeNN 系统级 NEST GPU conda env create -f environment.yml conda activate brain-fly # Brian2GeNN 专用环境Brian2 版本冲突必须隔离 conda env create -f environment-brian2genn.yml conda activate brain-fly-brian2genn主环境 environment.yml 覆盖 5 个核心后端environment-brian2genn.yml 单独隔离 Brian2GeNN因为它把 Brian2 钉死在2.6与 Brian2CUDA 的 Brian2 2.8.0 冲突NEST GPU 需从源码编译自定义user_m1神经元模型详见 README.md 的 NEST GPU 小节编译源码在 scripts/nestgpu_source_files/。三、最快配置方法一条命令启动五轮实验在brain-fly环境中执行python main.py --paper --run-label nature_2026_07这条命令会按轮次循环每轮依次调用 5 个后端 runnercode/run_brian2_cuda.py、code/run_pytorch.py、code/run_nestgpu.py、code/run_genn.py每完成一个参数组合就增量写入data/benchmark-results.csv即使中途中断也不会丢数据。把 Brian2GeNN 作为第 6 个后端加跑进同一个 labelconda activate brain-fly-brian2genn python main.py --brian2genn --paper --run-label nature_2026_07⚠️ 注意切换环境后追加的 Brian2GeNN 行会按run_label round与原有行合并到同一 CSV 和同一目录无需手动搬运。四、run-label 机制详解结果是怎么组织的--run-label是整个复现流程的目录钥匙其实现位于 code/benchmark.py消毒处理sanitize_run_label()把非法字符替换为_保证文件系统安全目录分组spike 输出落到data/results/label/round_XX/每轮 120 个文件CSV 去重键带 label 的行以(framework, n_run, t_run, experiment, run_label, round)为键保留历史行而不像无 label 的一次性运行那样覆盖旧行清单与校验自动维护manifest.csv和checksums.sha256。以官方数据集 data/results/nature_2026_07/ 为例结构如下data/results/nature_2026_07/ ├── manifest.csv # 600 行 spike 文件清单含 schema 版本 ├── checksums.sha256 # 600 条 sha256 校验和 └── round_01/ … round_05/ # 每轮 120 个 parquet如 brian2cpp_t1.0s_n1.parquet每行 spike parquet 的时间列统一为time_ms并带trial、neuron_index、flywire_id、exp_name字段六大后端共享同一 schema这也是跨后端对比的基础。五、中断了怎么办断点续跑指南五轮 × 六后端全量跑下来耗时很长仅 Brian2 CPU 的n_run32, t_run100s单组就需约 1 小时。main.py提供了两个参数配合续跑# 从第 3 轮开始只再跑 3 轮 python main.py --paper --run-label nature_2026_07 --round-start 3 --rounds 3--round-start指定起始轮号见 main.py--rounds覆盖默认的 5 轮由于 CSV 按 label round 去重重跑已有轮次会原地更新对应行不会产生重复。六、进阶技巧--disable-spike-io 纯计时模式论文中还有一组无 I/O对照数据关闭 spike 探测与 parquet 输出纯粹测量仿真速度python main.py --paper --rounds 1 --run-label nature_2026_07_noio --disable-spike-io官方对照结果在 data/results/nature_2026_07/no_io/见 no_io/README.md120/120 全部成功。结论摘要后端仿真时间中位降幅总时间中位降幅Brian2 CPU4.1%7.1%Brian2CUDA11.2%13.5%PyTorch CUDA9.6%7.9%GeNN9.3%14.2%Brian2GeNN37.4%2.4%原始数据见 no_io/timings.csv 与 no_io/timing_summary.csv。七、结果校验从 sha256 到地面真值对比1. 校验 spike 包完整性cd data/results/nature_2026_07 sha256sum -c checksums.sha2562. 对比 Brian2 CPU 地面真值Brian2 (CPU) 实现了 Shiu et al.Nature 2024的标准 LIF 模型被用作神经精度基准。直接指定 label 和轮次即可python code/compare_ground_truth.py --run-label nature_2026_07 --round 1脚本 code/compare_ground_truth.py 会计算活跃神经元 Jaccard 重叠度、逐神经元放电率相关系数与 spike 计数比结果写入data/ground-truth-comparison.json。3. 全后端两两对比python code/compare_spike_outputs.py \ --run-label nature_2026_07 --round 1 \ --output-dir data/results/nature_2026_07/comparisonscode/compare_spike_outputs.py 产出pairwise_summary.csv、parity_rates.csv等文件而 code/compare_backend_to_brian2.py 则用于论文支撑材料——把某个后端如--backend brian2genn与 Brian2 CPU 在全部 5 个轮次上做放电率一致性对比。八、常见问题 FAQQ1跑--paper一定要加--run-label吗不是必须但强烈建议。多轮运行不给 label 时系统会用default_run_label()自动生成paper_YYYYmmdd_HHMMSS时间戳标签见 code/benchmark.py不方便跨轮对齐。Q2spike parquet 为什么没进 Git600 个 parquet 体积过大被有意 gitignore仓库只提交 manifest.csv 和 checksums.sha256 作为元数据完整数据包需从项目 README 说明的网盘下载后用校验和验证。Q3如何只看某一后端的五轮结果在 data/benchmark-results.csv 中筛选run_labelnature_2026_07且backend_key匹配的行即可例如brian2cpp、brian2cuda、pytorch、nestgpu、genn、brian2genn。总结复现 fly-brain 的 Nature 基准套件只需记住三步备好两个 conda 环境 →python main.py --paper --run-label 标签→ 用sha256sum -c和对比脚本验收。run-label round的双重索引让 600 个 spike 文件各归其位--round-start让长任务可随时续跑这正是论文级可复现实验管理的最小完整方案。赞分享科研高性能计算【免费下载链接】fly-brainEmulation of the Drosophila Fly brain: Brian2, Brian2CUDA, PyTorch, NEST GPU, and neuromorphic chips项目地址https://gitcode.com/gh_mirrors/fl/fly-brain点击查看免费下载相关推荐Gopeed跨平台下载工具从 HTTP 到磁力链接一个客户端全搞定Gopeed跨平台下载工具从 HTTP 到磁力链接一个客户端全搞定 Gopeed 是一款用 Go 和 Flutter 构建的跨平台下载工具开源免费一个客科研高性能计算Dopamine论文复现指南从Nature DQN到RainbowDopamine论文复现指南从Nature DQN到Rainbow 你是否还在为复现强化学习经典论文而烦恼本文将带你使用Dopamine框架从零开始实现从强化学习机器学习深度学习S4实验复现指南如何重现论文中的关键结果S4实验复现指南如何重现论文中的关键结果 结构化状态空间序列模型S4作为近年来序列建模领域的重要突破在长序列处理任务中展现出了卓越的性能。本指南将带你一人工智能深度学习机器学习上一篇Qwen-Agent 怎么把大文档切成知识库下一篇实测百万文本块搜索Memvid如何实现毫秒级语义检索创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?