開発ワークフロー
このページは、SiMa.aiとNeatを日常的にどのように使用するかを示す概要図です。各ステップは、詳細なページへのリンクとなっており、必要に応じてそちらを参照できます。
ループ
典型的な Neat 開発サイクルは次のようになります。
- インストール — ホストまたはデバイスに、
sima-neatパッケージと、必要に応じてpyneatPythonバインディングをインストールします。 - Hello Neat を試してみましょう — 最小限のサンプルをコンパイルして、ライブラリが正しく設定されていることを確認します。
- コンパイル済みのモデルを選択してください — Neat は、コンパイル済みのモデルアーカイブ(
.tar.gz、通常は MPK と呼ばれます)を使用します。Model Zoo から選択するか、Model Compiler を使用して独自のモデルをコンパイルしてください。 Model/Graph/Runを作成する — モデルをロードし、グラフを構成し、そのジョブに最適な最小限のランタイムで実行します。- 実行と検証 — 入力を与え、出力を確認し、
GraphReport/MeasureReportを使用して動作を検証します。 - チュートリアルを活用して反復学習する — 単一の推論から、パイプライン、複数入力モデル、複数ストリームのグラフ、そして実運用レベルのエラー処理へとステップアップしましょう。
- デプロイ — ターゲットデバイスにインストールされている Neat ライブラリとアプリケーションをリンクします。
モデル、グラフ、または実行を選択してください。
最も小さな範囲で、目的を達成できるところから始めましょう。アプリがより多くの機能を持つようになれば、いつでも機能を拡張できます。
| もし何か必要なことがあれば…… | まず最初に | なぜ | 次の停車駅 |
|---|---|---|---|
| コンパイル済みのモデルを1回実行します。 | Model.run(...) | アーティファクトから出力テンソルへの最短経路。 | 最初のモデルを実行する |
| 接続された Modalix PCIeカード上でモデルを実行します。 | pcie::Model / pyneatpcie.Model | カード上にネイティブアプリケーションを構築することなく、ホスト側で共同処理を行う。 | PCIe コプロセッシ ング |
| モデル契約書または経路を確認する | Model | 仕様、メタデータ、およびルート情報には、モデルがどのような入力を受け入れ、どのような出力を生成するかについて説明されています。 | モデル |
| アプリケーションのフローにモデルを追加します。 | Graph | 入力と出力に名前を付け、ノードを構成し、トポロジーを明確に保ちます。 | グラフ |
| 時間経過に伴い、グラフを再利用する。 | graph.build(...) → Run | プッシュ/プル、クローズ/ドレイン制御、測定、およびキューポリシーを提供します。 | グラフを実行する |
| 複数のストリームを同時に処理するか、最大の処理能力を追求します。 | RunOptions + 測定 | スループットの最適化には、キューポリシー、ドロップカウンター、およびストリームごとのデータが必要です。 | スループットとキュー深度を調整する |
もしこれが初めての操作手順であれば、まずチュートリアルの事前確認リストから始め、次にグラフ関連の機能を追加する前に、まず1つのモデルを実行してください。