Edge Manager 代理 - Amazon SageMaker
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

Edge Manager 代理

Edge Manager agent 是 边缘设备的推理引擎。使用 代理通过加载到 边缘设备上的模型进行预测。代理还收集模型指标并按特定间隔捕获数据。示例数据存储在您的 Amazon S3 存储桶中。

代理的工作原理

代理在设备的 CPU 上运行。代理将在您在编译作业期间指定的目标设备的框架和硬件上运行推理。例如,如果您为 Jetson Nano 编译了模型,则 代理将在提供的深度学习运行时 (DLR) 中支持 GPU。

代理以二进制格式发布,适用于支持的操作系统。检查您的操作系统是否受支持,并满足下表中的最低操作系统要求:

Linux

版本:Ubuntu 18.04

支持的二进制格式x86-64 位(ELF 二进制)和 ARMv8 64 位(ELF 二进制)

Windows

版本:Windows 10 版本 1909

支持的二进制格式x86-32 位 (DLL) 和 x86-64 位 (DLL)

安装 Edge Manager 代理

要使用 Edge Manager agent,您首先需要获取发行构件和根证书。版本构件存储在 Amazon S3 区域的 us-west-2 存储桶中。要下载构件,请指定您的操作系统 (<OS>) 和 VERSION

根据您的操作系统,将 <OS> 替换为以下内容之一:

Windows 32-bit Windows 64-bit Linux x86-64 Linux ARMv8
windows-x86 windows-x64 linux-x64 linux-armv8

VERSION 分为三个组件:<MAJOR_VERSION>.<YYYY-MM-DD>-<SHA-7>,其中:

  • MAJOR_VERSION:发布版本。发布版本当前设置为 1

  • <YYYY-MM-DD>:构件版本的时间戳。

  • SHA-7:从中生成版本的存储库提交 ID。

您需要以 格式提供 MAJOR_VERSION 和时间戳<YYYY-MM-DD>。我们建议您使用最新的项目发布时间戳。使用以下命令获取最新的时间戳。

在命令行中运行以下命令以获取最新的时间戳。将 <OS> 替换为您的操作系统:

aws s3 ls s3://sagemaker-edge-release-store-us-west-2-<OS>/Releases/ | sort -r

例如,如果您有一个 Windows 32-bit操作系统,请运行:

aws s3 ls s3://sagemaker-edge-release-store-us-west-2-windows-x86/Releases/ | sort -r

这将返回:

2020-12-01 23:33:36 0 PRE 1.20201218.81f481f/ PRE 1.20201207.02d0e97/

此示例中的返回输出显示了两个发布构件。第一个发布构件文件指出, 发布版本: 具有主要发布版本 1、时间戳 20201218 (<YYYY-MM-DD>格式) 和 81f481f SHA-7 提交 ID。

注意

上述命令假定您已配置 AWS Command Line Interface。有关如何配置 AWS CLI 用于与 AWS 交互的设置的更多信息,请参阅配置 AWS CLI。

根据您的操作系统,使用以下命令安装构件:

Windows 32-bit
aws s3 cp s3://sagemaker-edge-release-store-us-west-2-windows-x86/Releases/<VERSION>/<VERSION>.zip . aws s3 cp s3://sagemaker-edge-release-store-us-west-2-windows-x86/Releases/<VERSION>/sha256_hex.shasum .
Windows 64-bit
aws s3 cp s3://sagemaker-edge-release-store-us-west-2-windows-x64/Releases/<VERSION>/<VERSION>.zip . aws s3 cp s3://sagemaker-edge-release-store-us-west-2-windows-x64/Releases/<VERSION>/sha256_hex.shasum .
Linux x86-64
aws s3 cp s3://sagemaker-edge-release-store-us-west-2-linux-x64/Releases/<VERSION>/<VERSION>.tgz . aws s3 cp s3://sagemaker-edge-release-store-us-west-2-linux-x64/Releases/<VERSION>/sha256_hex.shasum .
Linux ARMv8
aws s3 cp s3://sagemaker-edge-release-store-us-west-2-linux-armv8/Releases/<VERSION>/<VERSION>.tgz . aws s3 cp s3://sagemaker-edge-release-store-us-west-2-linux-armv8/Releases/<VERSION>/sha256_hex.shasum .

您还需要下载根证书。此证书将验证由 AWS 签名的模型构件,然后再将它们加载到您的边缘设备上。

从支持的操作系统列表中替换<OS>对应于您的平台的 ,并将 <REGION> 替换为您的 AWS 区域。

aws s3 cp s3://sagemaker-edge-release-store-us-west-2-<OS>/Certificates/<REGION>/<REGION>.pem .

运行 SageMaker Manager 代理

SageMaker Edge Manager agent 可作为独立进程以可执行格式和可链接格式 (ELF) 可执行二进制文件的形式运行,也可以作为动态共享对象 (.dll) 链接到 。作为独立可执行二进制文件运行是首选模式,在 Linux 上受支持。Windows 支持作为共享对象 (.dll) 运行。

在 Linux 上,我们建议您通过作为初始化 (init) 系统一部分的服务运行二进制文件。如果要直接运行二进制文件,您可以在终端中执行此操作,如下所示。如果您有最新的操作系统,则运行 代理之前无需其他安装,因为所有要求都静态内置到可执行文件中。这使您能够灵活地在终端、作为服务或在容器中运行代理。

./sagemaker_edge_agent -a <ADDRESS_TO_SOCKET> -c <PATH_TO_CONFIG_FILE>

获取AWS IoT凭证证书

SageMaker Edge Manager 利用 AWS IoT Core 服务来促进 AWS 云中边缘设备和终端节点之间的连接。通过这样做,您可以在设置设备以使用 后利用现有AWS IoT功能Edge Manager。

要将设备连接到 AWS IoT,您需要创建AWS IoT事物对象,向 创建和注册客户端证书AWS IoT,并为设备创建和配置 IAM 角色。

按照“如何通过使用 AWS IoT 凭证提供程序博客文章中的说明,在设备中消除对硬编码 AWS 凭证的需要”,了解如何在 中创建和注册客户端证书AWS IoT以及如何为设备创建和配置 IAM 角色。有关授权 AWS 服务的一般信息,请参阅授权直接调用 AWS 服务

Edge 设备上的模型

可以一次Edge Manager agent加载一个模型,并在边缘设备上使用该模型进行推理。代理将验证模型签名,并将边缘打包作业生成的所有构件加载到内存中。此步骤要求安装前面步骤中介绍的所有必需证书以及其余二进制安装。如果无法验证模型的签名,则加载模型将失败,并返回相应的代码和原因。

有关如何下载根证书和二进制版本构件安装 Edge Manager 代理的说明,请参阅。有关在 中创建和注册客户端证书AWS IoT以及为设备创建和配置 IAM 角色的信息,AWS IoT请参阅 中的安全性。