開發流程
本頁面提供一份概略的地圖,說明您實際上如何每天使用 SiMa.ai Neat。當您準備好時,每個步驟都會連結到更深入的頁面。
迴圈
典型的 Neat 開發週期如下:
- 安裝 — 在您的主機或裝置上取得
sima-neat套件,並可選擇性地安裝pyneatPython 介面。 - 試用 Hello Neat — 編譯一個最簡化的範例,以確認函式庫是否已正確連接。
- 選擇一個已編譯的模型 — Neat 會使用一個已編譯的模型封存檔(
.tar.gz,通常稱為 MPK)。您可以從 Model Zoo 中選擇一個,或者使用 Model Compiler 編譯您自己的模型。 - 撰寫
Model/Graph/Run— 載入模型,建構圖,並以最適合該任務的最小執行階段路徑來執行它。 - 執行並檢查 — 提供輸入,獲取輸出,並使用
GraphReport/MeasureReport來驗證行為。 - 透過教學逐步學習 — 從單次推論開始,進而學習如何建立管線、多輸入模型、多串流圖,以及達到生產級別的錯誤處理能力。
- 部署 — 將您的應用程式與目標裝置上已安裝的 Neat 函式庫連結。
選擇模型、圖或執行
從最小的、能夠解決問題的表面開始。當應用程式的運作機制變得更複雜時,您可以隨時升級。
| 如果您需要…… | 從以下開始 | 為什麼 | 下一站 |
|---|---|---|---|
| 執行一次已編譯的模型。 | Model.run(...) | 從成品到輸出張量之間的最短路徑。 | 執行您的第一個模型 |
| 在已連接的 Modalix PCIe 卡上執行模型。 | pcie::Model / pyneatpcie.Model | 在不建立原生卡片應用程式的情況下,於主機端進行協同處理。 | PCIe 協同處理 |
| 檢查範本合約或路線。 | Model | 規格、中繼資料和路由資訊會告訴您模型接受和輸出的內容。 | 模型 |
| 將模型新增到應用程式流程中。 | Graph | 命名輸入和輸出,組成節點,並保持拓撲結構的明確性。 | 圖 |
| 在不同時間點重複使用同一個圖。 | graph.build(...) → Run | 提供推送/拉取、關閉/排空控制、測量和佇列策略功能。 | 執行圖 |
| 同時處理多個資料流,或追求最高的處理量。 | RunOptions + 測量 | 調整傳輸量需要佇列策略、封包丟棄計數器,以及針對每個資料流的證據。 | 調整吞吐量與佇列深度 |
如果這是您第一次進行實作練習,請從 教學指南 中的預先檢查清單開始,然後在新增圖形相關機制之前,先執行一個模型。
核心概念概覽
「開發流程」頁面會詳細說明上述各個環節。以下是重點摘要: