本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
示例应用程序、脚本和模板
本指南的 GitHub 存储库提供了适用于 AWS Panorama 设备的示例应用程序、脚本和模板。使用这些示例来学习最佳实践并自动执行开发工作流。
示例应用程序
示例应用程序演示了 AWS Panorama 功能的使用和常见计算机视觉任务。这些示例应用程序包括用于自动执行设置和部署的脚本和模板。只需进行最少的配置,即可从命令行部署和更新应用程序。
-
aws-panorama-sample
– 具有分类模型的基本计算机视觉。使用 AWS SDK for Python (Boto) 将指标上传到 CloudWatch、仪器预处理和推理方法以及配置日志记录。 -
debug-server
– 在设备上打开入站端口,并将流量转发到应用程序代码容器。使用多线程同时运行应用程序代码、HTTP 服务器和 HTTP 客户端。 -
custom-model
– 从代码中导出模型并使用 SageMaker Neo 进行编译,以测试与 AWS Panorama 设备的兼容性。在 Python 开发、Docker 容器或 Amazon EC2 实例中进行本地构建。在 Keras 中导出并编译特定 TensorFlow 或 Python 版本的所有内置应用程序模型。
如需了解更多示例应用程序,另请访问 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 中删除其清单。
有关用法的详细信息,请参阅自述文件
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 模板。 -
backpack
– 用于访问运行时环境详细信息、分析和其他视频输出选项的 Python 模块。