本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
應用程式、指令碼和範本範例
本指南的 GitHub 儲存庫提供 AWS Panorama 裝置的範例應用程式、指令碼和範本。使用這些範例來了解最佳實務並自動化開發工作流程。
範例應用程式
範例應用程式示範使用 AWS Panorama 功能和常見的電腦視覺任務。這些範例應用程式包含可自動設定和部署的指令碼和範本。使用最少的組態,您可以從命令列部署和更新應用程式。
-
aws-panorama-sample
– 具有分類模型的基本電腦視覺。使用 AWS SDK for Python (Boto) 將指標上傳至 CloudWatch、儀器預先處理和推論方法,以及設定記錄。 -
debug-server
– 在裝置上開啟傳入連接埠,並將流量轉送至應用程式碼容器。使用多執行緒同時執行應用程式碼、HTTP 伺服器和 HTTP 用戶端。 -
自訂模型
– 從程式碼匯出模型,並使用 SageMaker AI Neo 編譯,以測試與 AWS Panorama 設備的相容性。在 Python 開發、Docker 容器或 Amazon EC2 執行個體上於本機建置。匯出和編譯特定 TensorFlow 或 Python 版本的所有 Keras 內建應用程式模型。
如需更多範例應用程式,也請造訪 aws-panorama-samples
公用程式指令碼
util-scripts
目錄中的指令碼會管理 AWS Panorama 資源或自動化開發工作流程。
-
provision-device.sh
– 佈建裝置。 -
check-updates.sh
– 檢查並套用設備軟體更新。 -
reboot-device.sh
– 重新啟動裝置。 -
register-camera.sh
– 註冊攝影機。 -
deregister-camera.sh
– 刪除攝影機節點。 -
view-logs.sh
– 檢視應用程式執行個體的日誌。 -
pause-camera.sh
– 暫停或繼續攝影機串流。 -
push.sh
– 建置、上傳和部署應用程式。 -
rename-package.sh
– 重新命名節點套件。更新目錄名稱、組態檔案和應用程式資訊清單。 -
samplify.sh
– 將您的帳戶 ID 取代為範例帳戶 ID,並還原備份組態以移除本機組態。 -
update-model-config.sh
:// – 更新描述項檔案後,將模型重新新增至應用程式。 -
cleanup-patches.sh
:// – 取消註冊舊修補程式版本,並從 Amazon S3 刪除其資訊清單。
如需用量詳細資訊,請參閱 README
AWS CloudFormation 範本
使用 cloudformation-templates
目錄中的 AWS CloudFormation 範本為應用程式建立資源 AWS Panorama 。
-
alarm-application.yml
– 建立警示,監控應用程式是否有錯誤。如果應用程式執行個體引發錯誤或停止執行 5 分鐘,警示會傳送通知電子郵件。 -
alarm-device.yml
– 建立監控裝置連線能力的警示。如果裝置停止傳送指標 5 分鐘,警示會傳送通知電子郵件。 -
application-role.yml
– 建立應用程式角色。此角色包含將指標傳送至 CloudWatch 的許可。為您的應用程式使用的其他 API 操作將許可新增至政策陳述式。 -
vpc-appliance.yml
– 為 AWS Panorama 設備建立具有私有子網路服務存取權的 VPC。若要將設備連接至 VPC,請使用 AWS Direct Connect 或 AWS Site-to-Site VPN。 -
vpc-endpoint.yml
– 建立具有 AWS Panorama 服務私有子網路服務的 VPC。VPC 內的資源可以連線至 AWS Panorama 來監控和管理 AWS Panorama 資源,而無需連線至網際網路。
此目錄中的create-stack.sh
指令碼會建立 AWS CloudFormation 堆疊。它需要變數數量的引數。第一個引數是範本的名稱,其餘的引數是範本中參數的覆寫。
例如,以下命令會建立應用程式角色。
$
./create-stack.sh application-role
更多範例和工具
aws-panorama-samples
-
應用程式
– 適用於各種模型架構和使用案例的範例應用程式。 -
攝影機串流驗證
– 驗證攝影機串流。 -
PanoJupyter
– 在 AWS Panorama 設備上執行 JupyterLab。 -
Sideloading
– 在不建置或部署應用程式容器的情況下更新應用程式程式碼。
AWS 社群也開發了 的工具和指引 AWS Panorama。在 GitHub 上查看下列開放原始碼專案。
-
Cookiecutter-panorama
– AWS Panorama 應用程式的 Cookiecutter 範本。 -
背包
– 用於存取執行期環境詳細資訊、分析和其他影片輸出選項的 Python 模組。