シミュレーションデータ記録・解析機能
[!NOTE] 最新の実装状況は 機能実装ステータス (Remaining Functionality) を参照してください。
作成日: 2025年12月6日
Copyright: 2025 Moonlight Technologies Inc. All Rights Reserved.
Author: Masahiro Aoki
このドキュメントの目的と使い方
- 目的: シミュレーション記録/解析機能の追加内容を短時間で把握するための概要メモ。
- 対象読者: 開発者、QA/検証担当。
- まず読む順: 概要 → 新規追加ファイル → クイックスタート。
- 関連リンク: 詳細手順は SIMULATION_RECORDING_GUIDE.md、実行スクリプトは
examples/run_zenoh_distributed_brain.py。
概要
分散脳シミュレーション実行時のデータ記録・解析システムが追加されました。
新規追加ファイル
コアモジュール
evospikenet/sim_recorder.py- データ記録システムevospikenet/sim_analyzer.py- データ解析ツール
ドキュメント
SIMULATION_RECORDING_GUIDE.md- 詳細ガイドexamples/example_simulation_recording.py- 使用例
クイックスタート
1. 記録を有効化してシミュレーション実行
python examples/run_zenoh_distributed_brain.py \
--node-id pfc-0 \
--module-type pfc \
--enable-recording
2. 記録データを解析
python evospikenet/sim_analyzer.py ./sim_recordings/sim_20251206_001234
3. サンプルスクリプトを実行
python examples/example_simulation_recording.py
記録されるデータ
- ✅ スパイクデータ: 各層からのスパイク列
- ✅ 膜電位データ: ニューロンの膜電位(オプション)
- ✅ 重みデータ: ネットワークの重み行列(オプション)
- ✅ 制御データ: ノードの状態遷移
主な機能
記録機能
- オプションで有効/無効を切り替え
- サブサンプリングでストレージ削減
- GZIP圧縮対応
- バッファリングで効率的な書き込み
解析機能
- 発火率の自動計算
- スパイクラスタープロット生成
- 発火率の時系列プロット
- サマリーレポート自動生成
使用例
<!-- from evospikenet.sim_recorder import SimulationRecorder, RecorderConfig -->
# 記録設定
config = RecorderConfig(
enable_recording=True,
record_spikes=True,
record_membrane=True,
session_name="my_experiment"
)
# 記録開始
with SimulationRecorder(config) as recorder:
# シミュレーション実行
for step in range(1000):
# スパイクを記録
recorder.record_spike_data(
node_id="pfc-0",
layer_name="lif",
spikes=output_spikes
)
詳細情報
詳しくは SIMULATION_RECORDING_GUIDE.md を参照してください。