このプロジェクトについて
flybrain-sdkは、小規模なコネクトームシミュレーションを実行し、それをゲームやオーディオデモ、実験に組み込むためのアルファ段階(0.4)のPython SDKです。意図的にCPU優先に設計されており、リファレンスバックエンドはfloat64エッジリスト上のNumPy leaky integrate-and-fire (LIF) ランタイムであるため、GPUやCUDAのセットアップは不要です。実行要件はPython 3.9以上とNumPyのみであり、パッケージのインポートや同梱されたトイモデルのロードはオフラインで動作します。
コアAPI:セッションは FlyBrain.load("toy", backend="cpu") で開始し、同梱データ、ローカルのモデルJSONパス、またはConnectomeオブジェクトを受け入れます。stimulate(name, strength, duration_ms) は次回のティックに向けて有限の電流パルスをスケジュールし、step(n) はn回の固定シミュレーションティックを進めて不変の最終状態を返し、action() は時間を進めずに独立したモーター強度を読み取ります。save()/restore() はモデル、設定、ダイナミクス、保留中の刺激を含むチェックポイントを書き込み・再読み込みし、advance(duration_ms=...) は期間ベースのバリアントを提供します。トイモデルの感覚チャネルは food, looming_left, looming_right, touch であり、モーターチャネルは walk, turn_left, turn_right, jump です。これらはそれぞれ0から1の間の値であり、確率や測定速度ではなくヒューリスティックな制御値として記述されます。ゲームの移動やレンダリングはホストアプリケーションに委ねられます。
バックエンド:現在は cpu のみが実装されています。wasm と cuda という名称は予約済みインターフェースとして存在し、BackendUnavailableError を発生させます。プロジェクトでは、CUDAおよびWASMは未実装のランタイムであると明記されています。
モデル:同梱のオフラインデモは、手書きの12ニューロン回路です。別途、約3.8 MBのMaleCNSモデル (male-cns-escape-v1) があり、313個の実ソースニューロンと20,607個の解剖学的エッジを、明示的に想定されたLIFパラメータで動作させます。これは再現可能なレシピを含むモデルカードに記載されています。オフラインカタログは list_models() および model_info() で確認でき、fetch_model() は明示的なネットワークリクエストを行い、アセットをローカルにキャッシュしてファイルパスを返します。CLI相当の操作は "python -m flybrain models list|info|download" で行えます。生物学的モデルには明示的な download=True フラグが必要です。wheelには大きなモデルは同梱されておらず、生のFeather/NPYアセットを直接 FlyBrain.load() に渡すことはまだできません。
読み出しと介入:ユーザーは(cell_typeなどで)ニューロン集団を選択し、rates_hz などのフィールドを観察し、グループにカスタム読み出し名をバインドし、指定した振幅・期間・単位の電流で選択したセルを駆動させ、介入レイヤーを通じてグループをサイレンス(抑制)させ、その後解除することができます。open_circuit の例とMaleCNS再現ガイドにワークフローが示されています。
デモキットとブラウザツール:Sessionループは、置換可能な特徴エンコーダー、レート読み出し、環境に加え、チェックポイントと検証済みフィードバックリプレイをサポートしています。"python examples/demo_session.py dodge" および "... tones" は、レコーディング、チェックポイント、およびスタンドアロンの再生用HTMLを生成し、tonesテンプレートはWAV出力も可能です。ブラウザ上の回路ラボでは、トイセルや実セルへの刺激、出力のサイレンス、レートの検査、編集可能なHTMLデモのダウンロードがリアルタイムで行えます。ギャラリービューアは記録されたPython実行結果をリプレイします。リポジトリにはTypeScriptのCPUランタイムパッケージも含まれています。
インストールとビルド:本パッケージはPyPIに公開されていないため、GitHubから(pip install "flybrain-sdk @ git+https://github.com/freeman-1984-coder/flybrain-sdk.git")またはクローンして pip install -e . でインストールします。pytest用の dev エキストラをオプションで指定可能です。配布物は python -m build で生成され、twine check で確認されます。
範囲と誠実性に関する注記:著者は、このSDKを実験用の「配管(plumbing)」として記述しており、ハエの検証済みエミュレーションではないとしています。配線だけでは生理学的パラメータ、受容体効果、感覚エンコーディング、モーターデコーディング、身体、学習は決定されず、デモには可塑性、形態学、現実的な視覚、または推論された生物学的行動は含まれていません。全脳のリアルタイムCPUパフォーマンスは確立されていません。コードとオリジナルのトイデータはMITライセンスです。サードパーティのデータセットは独自のライセンスと引用要件を維持します。本プロジェクトは独立しており、Janelia、FlyWire、Google、またはデータセットの著者とは提携していません。貢献が求められている領域には、ライセンスと整合性メタデータ付きのバージョン管理されたモデルソース、FlyWireインポーター、Godot/Unityアダプター、およびリファレンスダイナミクスのWASMポートが含まれます。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.