SiMa.aiとNeatを使ってアプリを開発しましょう。
何 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 グラフが直接実行されます。
デバイスを使用します。
Model、Graph、Node、および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::neatAPI。大規模なアプリケーション、既存のC++コードベースとの緊密な統合、およびクロスコンパイルされたホストからDevKitへのワークフローに最適です。
どちらも同じコンパイルされたモデルのアーティファクトとModalixランタイムを使用します。以下に示す概念とページは、どちらにも適用されます。PCIeコプロセッシングは、simaai::neat::pcieとpyneatpcieを通じて、個別のC++およびPythonインターフェースを提供します。
アプリケーションを開発してください。 SiMa.ai Neat あなたのために地図を作成します。
Modalixは、アプリケーションコア、画像処理、機械学習の高速化、ビデオエンジン、共有メモリ、および高速I/Oを1つのSoCに統合しています。PythonおよびC++ APIを通じて、SiMa.ai Neatは、システム内のアプリケーションに関連する処理リソース全体でアプリケーションを構築するための、単一のプログラミングモデルを提供します。
カメラまたはネットワークストリームから、処理および推論を経て最終 結果に至るまでのエンドツーエンドのフローを構築します。SiMa.ai Neatは、ランタイムパイプラインを構築し、適用可能な場合は高速化された実装を選択し、Modalix全体での実行とデータ移動を調整します。あなたはアプリケーションに集中し、SiMa.ai Neatが基盤となるハードウェアとランタイムの複雑さを処理します。
例示的なマッピング: 選択するルートは、アプリケーション、モデル、および利用可能なハードウェアアクセラレーションによって異なります。詳細については、こちらをご覧ください。 プロセッサのバックエンド 技術的なマッピングのため。
あなたのアプリケーションについて説明してください。 ~を持つエージェント Neat スキルがそれを発展させます。
SiMa.aiとNeatは、Neat SDK(Neat開発環境)に含まれるスキルを通じて、すぐに利用できるエージェントベースのアプリケーション開発をサポートします。これらのスキルにより、コーディングエージェントは、公開されているPythonおよびC++ APIを使用し、確立されたアプリケーションパターンに従い、Modalixの開発および検証ワークフローで作業するためのコンテキストを得ることができます。
推奨されるエージェントベースのパスでは、アプリケーションを作成し、ペアリングされたModalix DevKit上で実行し、結果と診断を調べ、実装を改良することができます。従来の開発は、同じAPIを通じて直接制御するための並行パスとして残ります。どちらの方法でも、標準的で検証可能なSiMa.ai Neatアプリケーションが生成されるため、エージェントによって開発されたコードを確認または変更し、アプリケーションの進化に合わせて2つのワークフローを切り替えることができます。エージェントベースの開発を有効にするには、Neat SDK をセットアップします。を参照してください。
要件
アプリケーションを開発する前に、まず「はじめてのステップ」の手順を完了させてください。
- デプロイモデルのインストール — Modalix DevKit の場合は、Neat をインストールしてください。
Neat SDK に含まれるライブラリを使用するか、デバイスに直接インストールします。PCIe によるコプロセッシングを行う場合は、ホストマシンに
core/pciehostをインストールし、Modalix PCIe カードに互換性のある Neat Library をインストールします。 - モデルのアーティファクト — Model Zoo から事前にコンパイルされたモデルを使用するか、独自のモデルを Modalix で使用できる形式のアーカイブにコンパイルします。
- ランタイムターゲット — DevKit 上でネイティブアプリケーションを実行するか、またはアプリケーションをビルドして実行します。 ホストマシン上で直接コプロセッシングアプリケーションを実行します。Neat SDKでネイティブC++アプリケーションをクロスコンパイルする際に、DevKitをペアリングおよび同期してください。
「Hello Neat!」のページでは、最初の推論を実行する方法を説明し、「開発ワークフロー」のページでは、主要な概念をより詳細に解説し、チュートリアルでは、実際のアプリケーションパターンに適用する方法を示します。
完全なアプリケーションを調べて、変更して実行するには、アプリケーションの例を参照してください。
ここから始めましょう。
まず、動作環境を構築し、そこから主要な機能を段階的に追加していく。 SiMa.ai Neat アプリケーションのワークフロー。
さらに構築する
より高度なアプリケーションを開発したり、APIの機能を詳しく調べたりする準備が整ったら、これらのセクションを参照してください。