本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
下载并设置 Edge Manager
Edge Manager 代理是边缘设备的推理引擎。使用代理对加载到边缘设备上的模型进行预测。代理还会收集模型指标,并按特定时间间隔捕获数据。
在本部分中,您将使用代理设置您的设备。为此,请先将发布构件和签名根证书从发布存储桶本地复制到您的计算机。解压缩发布构件后,将其上传到 Amazon S3。接下来,定义并保存代理的配置文件。提供了一个模板供您复制和粘贴。最后,将发布构件、配置文件和凭证复制到您的设备。
下载边 SageMaker 缘管理器代理。
对于受支持的操作系统,该代理以二进制格式发布。此示例在使用 Linux 操作系统并具有架构的 Jetson Nano 上运行推理。ARM64有关受支持设备使用的操作系统和架构的更多信息,请参阅支持的设备、芯片架构和系统。
从 us-west-2 区域的 SageMaker Edge Manager 版本桶中获取最新版本的二进制文件。
!aws s3 ls s3://sagemaker-edge-release-store-us-west-2-linux-armv8/Releases/ | sort -r
这会返回按版本排序的发布构件。
PRE 1.20210512.96da6cc/ PRE 1.20210305.a4bc999/ PRE 1.20201218.81f481f/ PRE 1.20201207.02d0e97/
版本有以下格式:
<MAJOR_VERSION>.<YYYY-MM-DD>.<SHA-7>
。它由三个部分组成:<MAJOR_VERSION>
:发布版本。发布版本当前设置为1
。<YYYY-MM-DD>
:构件发布的时间戳。< SHA -7>:构建版本所依据的存储库提交 ID。
将压缩TAR文件复制到本地或直接复制到您的设备上。以下示例说明了如何在发布本文档时复制最新的发布构件。
!aws s3 cp s3://sagemaker-edge-release-store-us-west-2-linux-x64/Releases/1.20201218.81f481f/1.20201218.81f481f.tgz ./
获得工件后,解压压缩TAR后的文件。以下内容解压缩TAR文件并将其存储在名为的目录中:
agent_demo
!mkdir agent_demo !tar -xvzf 1.20201218.81f481f.tgz -C ./agent_demo
将代理发布构件上传到 Amazon S3 存储桶。以下代码示例会复制
agent_demo
中的内容,然后将其上传到名为agent_demo
的 Amazon S3 存储桶中:!aws s3 cp --recursive ./agent_demo s3://{bucket}/agent_demo
您还需要发布存储桶中的签名根证书:
!aws s3 cp s3://sagemaker-edge-release-store-us-west-2-linux-x64/Certificates/us-west-2/us-west-2.pem ./
将签名根证书上传到 Amazon S3 存储桶:
!aws s3 cp us-west-2.pem s3://{bucket}/authorization-files/
-
定义边 SageMaker 缘管理器代理配置文件。
首先,按如下方式定义代理配置文件:
sagemaker_edge_config = { "sagemaker_edge_core_device_name":
"device_name"
, "sagemaker_edge_core_device_fleet_name":"device_fleet_name"
, "sagemaker_edge_core_capture_data_buffer_size": 30, "sagemaker_edge_core_capture_data_push_period_seconds": 4, "sagemaker_edge_core_folder_prefix": "demo_capture", "sagemaker_edge_core_region": "us-west-2", "sagemaker_edge_core_root_certs_path": "/agent_demo/certificates", "sagemaker_edge_provider_aws_ca_cert_file": "/agent_demo/iot-credentials/AmazonRootCA1.pem", "sagemaker_edge_provider_aws_cert_file": "/agent_demo/iot-credentials/device.pem.crt", "sagemaker_edge_provider_aws_cert_pk_file": "/agent_demo/iot-credentials/private.pem.key", "sagemaker_edge_provider_aws_iot_cred_endpoint":"endpoint"
, "sagemaker_edge_provider_provider": "Aws", "sagemaker_edge_provider_s3_bucket_name": bucket, "sagemaker_edge_core_capture_data_destination": "Cloud" }替换以下内容:
-
"device_name"
,使用您的设备名称(此字符串在前面的步骤中存储在名为device_name
的变量中)替换。 -
"device_fleet_name
",使用设备队列的名称(此字符串在前面的步骤中存储在名为device_fleet_name
的变量中)替换。 -
"endpoint"
使用凭证提供商的 AWS 账户专用端点(此字符串存储在前面的步骤中名endpoint
为的变量中)。
接下来,将其另存为JSON文件:
edge_config_file = open("sagemaker_edge_config.json", "w") json.dump(sagemaker_edge_config, edge_config_file, indent = 6) edge_config_file.close()
将配置文件上传到您的 Amazon S3 存储桶:
!aws s3 cp sagemaker_edge_config.json s3://{bucket}/
-
将发布构件、配置文件和凭证复制到设备。
在边缘设备自身上执行以下说明。
注意
必须先在边缘设备 AWS CLI 上安装 Python AWS SDK for Python (Boto3)、和。
在您的设备上打开终端。创建一个用于存储发布构件、您的凭证和配置文件的文件夹。
mkdir agent_demo cd agent_demo
将存储在 Amazon S3 存储桶中的发布构件的内容复制到您的设备:
# Copy release artifacts aws s3 cp s3://
<bucket-name>
/agent_demo
/ ./ --recursive(发布构件的内容存储在上一步中名为
agent_demo
的目录中)。用 Amazon S3 存储桶的名称和发布构件的文件路径分别替换<bucket-name>
和agent_demo
。进入
/bin
目录并使二进制文件可执行:cd bin chmod +x sagemaker_edge_agent_binary chmod +x sagemaker_edge_agent_client_example cd agent_demo
创建一个目录来存储您的 AWS IoT 证书,并将您的证书从 Amazon S3 存储桶复制到边缘设备(使用您在变量中定义的相同内容
bucket
:mkdir iot-credentials cd iot-credentials aws s3 cp s3://
<bucket-name>
/authorization-files/AmazonRootCA1.pem ./ aws s3 cp s3://<bucket-name>
/authorization-files/device.pem.crt ./ aws s3 cp s3://<bucket-name>
/authorization-files/private.pem.key ./ cd ../创建一个目录来存储模型签名根证书:
mkdir certificates cd certificates aws s3 cp s3://
<bucket-name>
/authorization-files/us-west-2.pem ./ cd agent_demo将您的配置文件复制到您的设备上:
#Download config file from S3 aws s3 cp s3://
<bucket-name>
/sagemaker_edge_config.json ./ cd agent_demo您边缘设备上的
agent_demo
目录应类似于以下内容:├──agent_demo | ├── bin | ├── sagemaker_edge_agent_binary | └── sagemaker_edge_agent_client_example | ├── sagemaker_edge_config.json | ├── certificates | └──us-west-2.pem | ├── iot-credentials | ├── AmazonRootCA1.pem | ├── device.pem.crt | └── private.pem.key | ├── docs | ├── api | └── examples | ├── ATTRIBUTIONS.txt | ├── LICENSE.txt | └── RELEASE_NOTES.md