本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
运行代理
在本节中,您将使用 g 以二进制形式运行代理RPC,并检查您的设备和队列是否都在工作并正在收集示例数据。
-
启动代理。
SageMaker Edge Manager 代理可以以可执行文件和可链接格式 (ELF) 可执行二进制文件的形式作为独立进程运行,也可以作为动态共享对象 (.dll) 进行链接。作为独立的可执行二进制文件运行是首选模式,并且在 Linux 上受支持。
此示例使用 g RPC 来运行代理。g RPC 是一个开源的高性能远程过程调用 (RPC) 框架,可以在任何环境中运行。有关 g 的更多信息RPC,请参阅 g RPC 文档
。 要使用 gRPC,请执行以下步骤:
-
在 .proto 文件中定义服务。
-
使用协议缓冲区编译器生成服务器和客户端代码。
-
使用 Python(或 g 支持的其他语言RPC)g RPC API 为您的服务编写服务器。
-
使用 Python(或 g 支持的其他语言RPC)g RPC API 为您的服务编写客户端。
您下载的发布工件包含一个 g RPC 应用程序,可供您运行代理。该示例位于发布构件的
/bin
目录中。sagemaker_edge_agent_binary
二进制可执行文件位于此目录中。要使用此示例运行代理,请提供套接字文件 (.sock) 和 JSON .config 文件的路径:
./bin/sagemaker_edge_agent_binary -a /tmp/sagemaker_edge_agent_example.sock -c sagemaker_edge_config.json
-
-
检查您的设备。
检查您的设备是否已连接并对数据进行采样。通过手动或自动执行定期检查,您可以检查设备或队列是否正常工作。
提供设备所属队列的名称和唯一设备标识符。在本地计算机上运行以下命令:
sagemaker_client.describe_device( DeviceName=device_name, DeviceFleetName=device_fleet_name )
对于给定模型,您可以看到名称、模型版本、最新采样时间以及上一次推理的时间。
{ "DeviceName": "sample-device", "DeviceFleetName": "demo-device-fleet", "IoTThingName": "sample-thing-name-1", "RegistrationTime": 1600977370, "LatestHeartbeat": 1600977370, "Models":[ { "ModelName": "mobilenet_v2.tar.gz", "ModelVersion": "1.1", "LatestSampleTime": 1600977370, "LatestInference": 1600977370 } ] }
LastetHeartbeat
提供的时间戳表示从设备收到的最后一个信号。LatestSampleTime
和LatestInference
分别描述最后一个数据样本和推理的时间戳。 -
检查您的队列。
检查您的队列是否正在使用
GetDeviceFleetReport
。提供设备所属队列的名称。sagemaker_client.get_device_fleet_report( DeviceFleetName=device_fleet_name )
对于给定模型,您可以看到名称、模型版本、最新采样时间和上次推断的时间,以及存储数据样本的 Amazon S3 URI 存储桶。
# Sample output { "DeviceFleetName": "sample-device-fleet", "DeviceFleetArn": "arn:aws:sagemaker:us-west-2:9999999999:device-fleet/sample-fleet-name", "OutputConfig": { "S3OutputLocation": "s3://fleet-bucket/package_output", }, "AgentVersions":[{"Version": "1.1", "AgentCount": 2}]} "DeviceStats": {"Connected": 2, "Registered": 2}, "Models":[{ "ModelName": "sample-model", "ModelVersion": "1.1", "OfflineDeviceCount": 0, "ConnectedDeviceCount": 2, "ActiveDeviceCount": 2, "SamplingDeviceCount": 100 }] }