示例应用程序、脚本和模板 - AWS Panorama

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

示例应用程序、脚本和模板

本指南的 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 资源或自动执行开发工作流。

有关用法的详细信息,请参阅自述文件

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 存储库包含更多示例应用程序和实用工具。

AWS 社区还为 AWS Panorama 开发了工具和指南。在 GitHub 上查看以下开源项目。

  • cookiecutter-panorama – 适用于 AWS Panorama 应用程序的 Cookiecutter 模板。

  • backpack – 用于访问运行时环境详细信息、分析和其他视频输出选项的 Python 模块。