跳至主要内容

安裝或更新 Neat Library

請使用此頁面來安裝或更新 Neat Library。

Neat Library 位於 Palette SDK 之中。

當您在執行 sima-cli sdk setup 時配對一個 DevKit,SDK 會自動在其 DevKit 上安裝包含的 Neat Library 和捆綁的 PyNeat 環境,並將其安裝在 ~/pyneat 上。

何時需要離線安裝

若目標無法從 SiMa.ai 服務下載套件,請使用離線安裝。 在可連上網際網路的電腦上下載套件。

選擇安裝位置​

從您建立或執行 Neat 應用程式的環境中執行安裝程式:

環境何時使用
Palette SDK當您想要在不安裝新的 SDK 版本的情況下,升級 Palette SDK 中的 Neat Library 時。
ROS2 SDK當您想要在容器的系統路徑中安裝 Neat 標頭和函式庫後,在 ARM64 上原生編譯 ROS 2 應用程式時。
DevKit當您想要直接在裝置上安裝或更新執行階段時。

C++ 開發套件​

最小安裝包含執行階段與 sima-neat-dev。預設安裝將教學與測試列為選用附加項目; all 則全部包含。共用程式庫應用程式需要 Core 公開標頭、相符的 Scheduler 前端, 以及 GStreamer、OpenCV 與 JSON 開發檔案。它們不需要已淘汰的 Internals 整合套件, 也不需要 Runner、Kernels、Codecs、記憶體程式庫、heap 或 LLiMa 開發 API。 選定的套件會提供所需的執行階段相依項目。

請使用已安裝的共用目標:

find_package(SimaNeat CONFIG REQUIRED)
target_link_libraries(my_app PRIVATE SimaNeat::sima_neat)

靜態封存仍包含在 sima-neat-dev 中。請使用 COMPONENTS Static,並維持安裝 相符的 simaai-scheduler 套件。安裝 zlib1g-dev、libcpp-httplib-dev, 以及啟用 LLiMa 的建置所需的 sima-lmm-dev,連同它們的相依項目。 Core 使用 Scheduler 已安裝的前端;不要在應用程式中加入 Internals 或下層程式庫的開發目標:

find_package(SimaNeat CONFIG REQUIRED COMPONENTS Static)
target_link_libraries(my_app PRIVATE SimaNeat::sima_neat_static)

靜態 Core 仍使用共用實作程式庫。從來源建置 Core 時,也使用相同的 Scheduler 前端 邊界,並需要其他相依項目的開發檔案,包括啟用時所需的 LLiMa。

線上安裝先決條件​

在您打算安裝 Neat Library 的環境中安裝 sima-cli。 請參考 sima-cli 安裝指南。

在 community.sima.ai 建立帳戶,即可存取 SiMa.ai 資源,例如用於測試的預先編譯模型。

驗證環境,以便安裝程式可以下載 SiMa.ai 的成品。請參閱 sima-cli 登入 以取得詳細資訊。

sdk or devkit$sima-cli login

確認環境是否能夠連接到 SiMa.ai 成品的主機:

sdk or devkit$curl -fsS https://artifacts.neat.sima.ai/sima-cli/linux-mac.sh -o /dev/null && echo "artifacts reachable"

顯示「artifacts reachable」表示主機可連線。如果出現 curl 錯誤,例如逾時、連線被拒絕,或「無法解析主機」,則表示已封鎖外向連線——請檢查您的主機網路、Proxy 或防火牆(請參閱 Palette SDK 網路功能 和 主機設定注意事項),或者如果機器無法直接連線到 SiMa.ai 服務,請使用 離線安裝。

安裝 Neat Library​

套件相容性

安裝程式使用選定 Core 成品中列出的每個 Debian 套件,不會選擇不同的 Scheduler 或 LLiMa 版本。已安裝的平台必須滿足該成品未提供的相依項目。 若 APT 為完成安裝而要移除平台套件,安裝程式會停止; 請更新平台,而不是在 Core 或 LLiMa 中替換套件。

在執行安裝程式之前,請選擇一個工作目錄。在 DevKit 上,將安裝程式安裝在 /media/nvme 目錄下,以避免填滿根檔案系統。在 SDK 容器中,請使用容器內的本地路徑,例如 $HOME/neat。

選擇您的環境,然後依序執行步驟。在 Palette SDK 容器中安裝,以進行跨平台編譯 C++ 應用程式。在 ROS2 SDK 中安裝,以在 ARM64 上進行原生編譯;其 Debian 套件會安裝到 /usr,而不是 Neat 跨平台編譯的系統根目錄。在 DevKit 上安裝,以設定該處的執行階段,同時也會在 ~/pyneat 中設定 PyNeat。安裝程式指令在每個環境中都相同。

準備一個容器本地安裝目錄,例如:$HOME/neat。

sdk$cd $HOME && mkdir -p neat && cd neat

安裝 sima-cli 預設選取的 Neat Library 套件。您可以選擇性地安裝額外內容,包括預先建置的教學課程、原始碼教學課程和測試:

sdk$sima-cli neat install core@v0.6.1

線上安裝的預設 PyNeat 環境​

在 DevKit 上安裝 Neat Library,同時也會在 DevKit 上的 ~/pyneat 位置建立一個預設的 PyNeat 虛擬環境。這是支援的 PyNeat 環境——請直接啟用它:

devkit$source ~/pyneat/bin/activate

如果您從與 DevKit Sync 配對的 SDK 容器內部執行安裝程式,則安裝程式不僅會在 SDK 容器內部,還會在配對的 DevKit 上設定 PyNeat。PyNeat 會安裝到 DevKit 上的 ~/pyneat 中的虛擬環境中。

對於自訂的 Python 虛擬環境,請參閱 安裝 PyNeat。

原始碼建置​

當您需要使用尚未發布的變更、自訂建置設定,或參與 Neat Library 的開發時,請從原始碼進行建置。大多數使用者應該改用上述的套件安裝方式。

如果您偏好從原始碼開始建置,請遵循「建造」指南。

如需了解 SDK 的設定和 DevKit Sync 的導入流程,請參閱 Palette SDK。

離線安裝​

安裝前檢查 Python 相依性

離線安裝會保留現有的 Python 環境,以及其中額外的套件與檔案。安裝套件前會執行 pip check。如果環境已損壞,安裝會停止,並顯示環境路徑與相依性錯誤。請修復回報的相依性後再重試;離線修復需要額外的 wheel 檔案。安裝後會再次檢查相依性,回報仍存在或新引入的衝突。套件變更不會自動復原。

只有在您要捨棄環境並重新安裝時,才明確執行 ./install.sh --recreate-venv(獨立 Core)或 sudo python3 -B install.py --recreate-venv(PCIe)。這會刪除所選環境中的套件與檔案,且不建立備份。在 SDK 中,此選項適用於已配對的 DevKit,不會變更 SDK 主機的 Python。請先儲存需要的檔案。預先檢查與僅驗證命令都不會重建環境。

Neat Library 離線套件自 0.6.0 版本起提供。 對於使用 Platform 3.0 或更新版本的 Modalix DevKit,請使用此套件。

1. 下載套件​

在可連上網際網路的電腦上安裝 sima-cli。請參閱 sima-cli 安裝指南。

在可連上網際網路的電腦上執行此命令:

host$sima-cli neat install core/offline@v0.6.1 --download-only

預設套件包含執行階段、教學和測試。 若只要下載執行階段,請使用:

host$sima-cli neat install core/offline@v0.6.1 -t minimal --download-only

2. 安裝套件​

  1. 將下載的檔案複製到 Modalix DevKit 或 Palette SDK 工作區。
  2. 在該目錄中開啟終端機。若要安裝至 SDK,請使用 SDK shell。
  3. 解壓縮安裝程式封存檔:

下載的封存檔名稱可能在 .tar.gz 前附加 SHA-256 前 8 個字元。解壓縮前,請在此目錄中僅保留選定的安裝程式封存檔。

sdk or devkit$tar -xzf neat-core-offline-installer*.tar.gz
  1. 進入解壓縮後的目錄:
sdk or devkit$cd neat-core-offline
  1. 以一般使用者身分啟動安裝程式。安裝程式會在必要時要求 sudo 權限。
sdk or devkit$./install.sh

若需要教學或測試,請將獨立的額外封存檔解壓縮至所選目錄。

離線安裝後,請使用下列命令啟用 Python 環境:

devkit$source ~/pyneat/bin/activate

離線安裝會重用主機上現有的 ~/pyneatpcie,或卡及 DevKit 上現有的 ~/pyneat;如果是符號連結,則重用其目標。若家目錄中沒有環境,卡或 DevKit 會在安裝使用者可寫入 NVMe 時使用 /media/nvme/pyneat,否則使用 ~/pyneat。新的 NVMe 安裝會建立 ~/pyneat 連結,不會取代現有的家目錄環境。

套件選項與安裝程式行為​

  • 安裝程式會在安裝前檢查系統相容性和可用磁碟空間。
  • 安裝程式使用套件內含的相依項目。若缺少必要的相依項目,安裝程式會停止。
  • 在 SDK 中,安裝程式會將 Neat Library 複製到 /opt/toolchain/aarch64/modalix。
  • 若已設定 DEVKIT_SYNC_DEVKIT_IP,安裝程式也會透過 SSH 安裝至已配對的 DevKit。兩個環境都必須通過檢查。

如果安裝失敗,請閱讀所顯示路徑中的記錄:/tmp/neat-core-offline-*.log。 若要查看詳細輸出,請使用 ./install.sh --verbose。

若安裝期間 SSH 中斷連線,遠端安裝程式可能會繼續執行。 重試或刪除報告中顯示的暫存目錄之前,請確認安裝程式已停止。

下一步​

繼續進行 安裝 PyNeat,以設定自訂的 Python 環境,或使用 Neat 指令列介面 來檢查已安裝的環境。