メインコンテンツまでスキップ

SiMa.aiとNeatを使ってアプリを開発しましょう。

SiMa.ai Neat で構成した C++ アプリケーションのワークフロー

SiMa.ai Neat で構成した C++ アプリケーションのワークフロー

何 SiMa.ai Neat ~ですか

SiMa.ai Neat は、SiMa.ai プラットフォーム上で AI アプリケーションを構築および実行するためのアプリケーション開発フレームワークです。コンパイルされたモデルアーカイブ(.tar.gz)をロードおよび実行するための Python および C++ API を提供し、Modalix 処理リソースを使用するエンドツーエンドのアプリケーションを構築し、ランタイム実行を管理します。

より広範な SiMa.ai ソフトウェアスタックにおいて、SiMa.ai Neat はアプリケーション層に位置します。SiMa.ai ランタイムスタックを基盤とし、その下に GStreamer を使用するため、開発者は、より低レベルのランタイムコンポーネントを手動で接続するのではなく、アプリケーションロジックに集中できます。

推論への最短経路として、コンパイルされたモデルアーカイブをModel としてロードし、直接実行します。アプリケーションが複数の入力、処理ステージ、モデル、または出力を必要とする場合は、これらのコンポーネントをGraph として構成し、Run に組み込みます。同じパブリック API は、従来の開発とエージェントベースの開発の両方をサポートするため、チームはどちらのワークフローを使用してでも、アプリケーションをレビュー、拡張、および保守できます。

最適なデプロイモデルを選択してください。

  • Modalix DevKit 上で実行 — アプリケーションと Neat グラフが直接実行されます。 デバイスを使用します。ModelGraphNode、およびRunとともに、simaai::neatまたはpyneatを使用してください。実行 / 推論から開始します。
  • 共同処理のために、Modalix PCIeカードを使用してください — アプリケーションは、 ホストマシンからテンソルまたは画像をカードに送信し、モデルを実行します。simaai::neat::pcieまたはpyneatpcieを使用してください。PCIeによる共同処理から開始します。

C++ または PyNeat

直接実行されるアプリケーションの場合 Modalix DevKit, SiMa.ai Neat 2つの言語インターフェースを通じて、同じ基本的なワークフローを提供するため、お客様のアプリケーションに最適なものを選択できます。

  • PyNeat — Pythonバインディング(pyneat)。迅速な反復処理、ノートブック、データサイエンスのワークフロー、およびDevKit上でPythonアプリケーションを直接実行する場合に最適です。
  • C++ — ネイティブな simaai::neat API。大規模なアプリケーション、既存のC++コードベースとの緊密な統合、およびクロスコンパイルされたホストからDevKitへのワークフローに最適です。

どちらも同じコンパイルされたモデルのアーティファクトとModalixランタイムを使用します。以下に示す概念とページは、どちらにも適用されます。PCIeコプロセッシングは、simaai::neat::pciepyneatpcieを通じて、個別のC++およびPythonインターフェースを提供します。

アプリケーションを開発してください。 SiMa.ai Neat あなたのために地図を作成します。

Modalixは、アプリケーションコア、画像処理、機械学習の高速化、ビデオエンジン、共有メモリ、および高速I/Oを1つのSoCに統合しています。PythonおよびC++ APIを通じて、SiMa.ai Neatは、システム内のアプリケーションに関連する処理リソース全体でアプリケーションを構築するための、単一のプログラミングモデルを提供します。

カメラまたはネットワークストリームから、処理および推論を経て最終結果に至るまでのエンドツーエンドのフローを構築します。SiMa.ai Neatは、ランタイムパイプラインを構築し、適用可能な場合は高速化された実装を選択し、Modalix全体での実行とデータ移動を調整します。あなたはアプリケーションに集中し、SiMa.ai Neatが基盤となるハードウェアとランタイムの複雑さを処理します。

MLSoC Modalix のフロアプランに配置された SiMa.ai Neat アプリケーション

MLSoC Modalix のフロアプランに配置された SiMa.ai Neat アプリケーションのモバイル表示

例示的なマッピング: 選択するルートは、アプリケーション、モデル、および利用可能なハードウェアアクセラレーションによって異なります。詳細については、こちらをご覧ください。 プロセッサのバックエンド 技術的なマッピングのため。

あなたのアプリケーションについて説明してください。 ~を持つエージェント Neat スキルがそれを発展させます。

SiMa.aiとNeatは、Neat SDK(Neat開発環境)に含まれるスキルを通じて、すぐに利用できるエージェントベースのアプリケーション開発をサポートします。これらのスキルにより、コーディングエージェントは、公開されているPythonおよびC++ APIを使用し、確立されたアプリケーションパターンに従い、Modalixの開発および検証ワークフローで作業するためのコンテキストを得ることができます。

推奨されるエージェントベースのパスでは、アプリケーションを作成し、ペアリングされたModalix DevKit上で実行し、結果と診断を調べ、実装を改良することができます。従来の開発は、同じAPIを通じて直接制御するための並行パスとして残ります。どちらの方法でも、標準的で検証可能なSiMa.ai Neatアプリケーションが生成されるため、エージェントによって開発されたコードを確認または変更し、アプリケーションの進化に合わせて2つのワークフローを切り替えることができます。エージェントベースの開発を有効にするには、Neat SDK をセットアップします。を参照してください。

コーディングエージェントが SiMa.ai Neat アプリケーションを作成、実行、診断、改善する流れ

SiMa.ai Neat のエージェント開発ループのモバイル表示

要件

アプリケーションを開発する前に、まず「はじめてのステップ」の手順を完了させてください。

  • デプロイモデルのインストール — Modalix DevKit の場合は、Neat をインストールしてください。 Neat SDK に含まれるライブラリを使用するか、デバイスに直接インストールします。PCIe によるコプロセッシングを行う場合は、ホストマシンに core/pciehost をインストールし、Modalix PCIe カードに互換性のある Neat Library をインストールします。
  • モデルのアーティファクト — Model Zoo から事前にコンパイルされたモデルを使用するか、独自のモデルを Modalix で使用できる形式のアーカイブにコンパイルします。
  • ランタイムターゲット — DevKit 上でネイティブアプリケーションを実行するか、またはアプリケーションをビルドして実行します。 ホストマシン上で直接コプロセッシングアプリケーションを実行します。Neat SDKでネイティブC++アプリケーションをクロスコンパイルする際に、DevKitをペアリングおよび同期してください。

「Hello Neat!」のページでは、最初の推論を実行する方法を説明し、「開発ワークフロー」のページでは、主要な概念をより詳細に解説し、チュートリアルでは、実際のアプリケーションパターンに適用する方法を示します。

完全なアプリケーションを調べて、変更して実行するには、アプリケーションの例を参照してください。