下载并设置 Edge Manager - Amazon SageMaker

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

下载并设置 Edge Manager

Edge Manager 代理是边缘设备的推理引擎。使用代理对加载到边缘设备上的模型进行预测。代理还会收集模型指标,并按特定时间间隔捕获数据。

在本部分中,您将使用代理设置您的设备。为此,请先将发布构件和签名根证书从发布存储桶本地复制到您的计算机。解压缩发布构件后,将其上传到 Amazon S3。接下来,定义并保存代理的配置文件。提供了一个模板供您复制和粘贴。最后,将发布构件、配置文件和凭证复制到您的设备。

  1. 下载边 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/
  2. 定义边 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}/
  3. 将发布构件、配置文件和凭证复制到设备。

    在边缘设备自身上执行以下说明。

    注意

    必须先在边缘设备 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