下载并设置边缘管理器 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

下载并设置边缘管理器

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

在本节中,您将使用代理设置您的设备。为此,请首先将发布对象复制到本地发布存储桶中并对根证书签名到您的计算机。解压发布工件之后,将其上载到 Amazon S3。接下来,定义并保存代理的配置文件。将提供一个模板供您复制和粘贴。最后,将发布项目、配置文件和凭据复制到您的设备。

  1. 下载 SageMaker 边缘管理器代理。

    针对受支持的操作系统,代理以二进制格式发布。此示例在使用 Linux 操作系统并具有 ARM64 体系结构的 Jetson Nano 上运行推断。有关操作系统和体系结构支持的设备使用的更多信息,请参阅支持的设备、芯片架构和系统.

    从 SageMaker 边缘管理器发布存储桶中获取最新版本的二进制文件,从美国西部 2 区域中获取最新版本的二进制文件。

    !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并将其上载到 Amazon S3 存储桶中的 Amazon S3 存储桶中的名为agent_demo

    !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"使用您的Amazon帐户特定的终端节点(此字符串存储在名为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. 将发布项目、配置文件和凭据复制到您的设备。

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

    注意

    您必须首先安装 Python,Amazon SDK for Python (Boto3),以及Amazon CLI在边缘设备上。

    在您的设备上打开终端。创建一个文件夹以存储发布对象、您的凭据和配置文件。

    mkdir agent_demo cd agent_demo

    将存储在 Amazon S3 存储桶的发布项目内容复制到您的设备:

    # Copy release artifacts aws s3 cp s3://<bucket-name>/agent_demo/ ./ --recursive

    (发布工件的内容存储在名为agent_demo在上一步中)。Replace<bucket-name>agent_demo,分别为 Amazon S3 存储桶的名称和发布项目的文件路径。

    转到/bin目录并使二进制文件可执行:

    cd bin chmod +x sagemaker_edge_agent_binary chmod +x sagemaker_edge_agent_client_example cd agent_demo

    创建一个目录来存储Amazon 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