CortexNodus:ノード操作で構築する可視化AIトレーニングワークベンチ

AI/ML

概要

CortexNodusは、コードを書かずにノードをつなげるだけで深層学習のワークフローを構築し、その構成からPyTorchスクリプトを自動生成して学習を実行する可視化ツールです。フロントエンドにLiteGraph.jsを用いたキャンバスを備え、ノードはデータロード、前処理、ネットワークレイヤー、ロス、オプティマイザ、評価などの機能を表します。バックエンドはFlaskで実装され、キャンバスのJSONを解析するモジュール(ml/designer.py)によりノード構成をDesignerPlanに変換、PyTorchのモデル定義と訓練ループを組み立てます。組み込みデータセット(MNIST、Fashion-MNIST、CIFAR-10)を使ったデモが用意され、拡張によって同等の複雑度のネットワークを追加できます。

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 6
  • ファイル数: 10
  • メインの言語: Python

主な特徴

  • ノードベースの可視化インターフェース(LiteGraph.js)でドラッグ&ドロップによるパイプライン構築。
  • Flaskバックエンドがキャンバスを解析してPyTorchコードと訓練ループを自動生成・実行。
  • MNIST、Fashion-MNIST、CIFAR-10等のサンプルデータセットを内蔵し、即時学習デモが可能。
  • フロントエンドにInspectorや状態ポーリングを実装し、学習進捗をモニタリング。

技術的なポイント

CortexNodusの技術的な中核は「ビジュアル構成→コード生成→実行」のワークフローにあります。フロントエンドはLiteGraph.jsによるノードキャンバス(templates/index.html + static/designer.js)で、各ノードは役割(データ、変換、レイヤー、損失、最適化、評価など)を持ち、Inspectorを通じてパラメータを編集できます。キャンバス状態はJSONとしてバックエンドに送られ、ml/designer.pyがこれを解析してDesignerPlanという中間表現へ変換します。DesignerPlanはノードのトポロジーとパラメータを保持し、これを基にapp.pyがPyTorchのモデル定義(nn.Module相当)とトレーニングループ(データローダ、損失計算、逆伝播、最適化、エポック管理)を組み立てます。

自動生成の利点は、繰り返し構築されるテンプレートを確実に同じ構造で生成できる点にあり、ユーザーは実験設計に集中できます。一方で、コード生成には型・次元・デバイス(CPU/GPU)管理、データの形状伝搬、エラーチェックが求められます。CortexNodusはまず画像用の標準データセットをターゲットにしているため、入力チャネルやサイズ、バッチ処理に対する想定が明確であり、ノード間の接続でデータ整合性を保つ仕組みが重要です。

実行面ではFlaskプロセス内で生成コードを実行して訓練を管理しており、学習中の状態はポーリングでフロントエンドに送られます。これにより進捗バーやログ出力がUIに反映されます。ただし現状の実装から推察すると単一プロセス/単一GPU想定であり、大規模分散、長時間ジョブ管理、チェックポイント自動保存や再開、ログの永続化(MLFlow等)は今後の拡張ポイントです。拡張性としては、ノードの種類を増やすことでResNetやTransformerなど複雑なアーキテクチャを構築可能であり、コード生成部分をテンプレート化・プラグイン化すればモデルライブラリの統合やカスタムノード追加が容易になります。

セキュリティ面では、ユーザー入力(ノードパラメータやアップロードデータ)を用いて動的にコードを生成・実行するため、入力検証やサンドボックス化(別プロセスやコンテナでの実行)、リソース制限が必要です。CIやテストが整備されれば信頼性が高まり、教育用途やプロトタイピング、AutoML的なラピッド実験プラットフォームとしての活用が期待できます。

プロジェクトの構成

主要なファイルとディレクトリ:

  • LICENSE: file
  • README.md: file
  • app.py: file(Flask サーバ、生成コードの実行とAPI)
  • templates/index.html: file(フロントエンドの骨格)
  • static/designer.js: file(LiteGraphキャンバスのロジック)
  • static/style.css: file(ダークテーマUI)
  • ml/designer.py: file(キャンバスJSON→DesignerPlan変換、コード生成補助)
  • docs/: dir(ドキュメント)
  • example/: dir(例、サンプルキャンバスやスクリプト)
  • requirements.txt: file(依存パッケージ) …他 0-2 ファイル(合計約10ファイル)

まとめ

ノードベースでPyTorchコードを自動生成・実行する学習ワークベンチ。プロトタイピングや教育に有用だが、運用・拡張には堅牢化が必要。

リポジトリ情報:

READMEの抜粋:

CortexNodus

CortexNodus 是一个基于 Flask + LiteGraph.js 的可视化 AI 训练工作台,可通过拖拽方式构建完整的深度学习流水线(数据 → 模型 → 训练 → 评估),并自动在后端生成 PyTorch 代码并执行训练。目前已内置 MNIST、Fashion-MNIST、CIFAR-10 等常见图片数据集,能够图形化训练一个数字识别模型,也可以扩展为更多同等复杂度的网络。

目录结构

  • app.py:Flask 服务,负责解析画布、构建 PyTorch 模型与训练循环、生成脚本。
  • templates/index.html:主界面骨架。
  • static/style.css:暗色主题 UI 样式。
  • static/designer.js:LiteGraph 画布逻辑、节点注册、Inspector、状态轮询。
  • ml/designer.py:画布 JSON 解析器,负责将节点拓扑转换为 DesignerPlan

快速开始(Windows PowerShell)

...