本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
运行代理
在本节中,您将使用 gRPC 以二进制文件形式运行代理,并检查您的设备和队列是否正常运行并正在收集样本数据。
-
启动代理。
SageMaker Edge Manager 代理可以以可执行和可链接格式 (ELF) 可执行二进制文件的形式作为独立进程运行,也可以作为动态共享对象 (.dll) 与之链接。作为独立的可执行二进制文件运行是首选模式,Linux 支持该模式。
此示例使用 gRPC 运行代理。gRPC 是一个开源的高性能远程过程调用 (RPC) 框架,可以在任何环境中运行。有关 gRPC 的更多信息,请参阅 gRPC 文档
。 要使用 gRPC,请执行以下步骤:
-
在.proto 文件中定义服务。
-
使用协议缓冲区编译器生成服务器和客户端代码。
-
使用 Python(或 gRPC 支持的其他语言)gRPC API 为您的服务编写服务器。
-
使用 Python(或 gRPC 支持的其他语言)gRPC API 为您的服务编写客户端。
您下载的发布项目包含一个 gRPC 应用程序,可供您运行代理。该示例位于您的发布工件的
/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
。提供设备所属的队列的名称。sagemaer_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 }] }