기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
에이전트 실행
이 섹션에서는 g 를 사용하여 에이전트를 바이너리로 실행RPC하고 디바이스와 플릿이 모두 작동하고 샘플 데이터를 수집하는지 확인합니다.
-
에이전트를 시작합니다.
SageMaker Edge Manager 에이전트는 실행 가능 및 연결 가능 형식(ELF) 실행 가능 바이너리의 형태로 독립 실행형 프로세스로 실행하거나 에 동적 공유 객체(.dll)로 연결할 수 있습니다. 독립 실행형 바이너리로 실행하는 것이 기본 설정 모드이며 Linux에서 지원됩니다.
이 예제에서는 gRPC를 사용하여 에이전트를 실행합니다. gRPC는 모든 환경에서 실행할 수 있는 오픈 소스 고성능 원격 프로시저 호출(RPC) 프레임워크입니다. g에 대한 자세한 내용은 gRPC 설명서
를 RPC참조하세요. g를 사용하려면 다음 단계를 RPC수행합니다.
-
.proto 파일에 서비스를 정의합니다.
-
프로토콜 버퍼 컴파일러를 사용하여 서버 및 클라이언트 코드를 생성합니다.
-
Python(또는 g에서 지원하는 기타 언어RPC) gRPCAPI를 사용하여 서비스용 서버를 작성합니다.
-
Python(또는 g에서 지원하는 기타 언어RPC) gRPCAPI를 사용하여 서비스에 대한 클라이언트를 작성합니다.
다운로드한 릴리스 아티팩트에는 에이전트를 실행할 준비가 된 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
에서 작동하는지 확인합니다. 디바이스가 속한 플릿 이름을 입력합니다.sagemaker_client.get_device_fleet_report( DeviceFleetName=device_fleet_name )
지정된 모델의 경우 데이터 샘플이 저장URI되는 Amazon S3 버킷과 함께 이름, 모델 버전, 최신 샘플 시간 및 마지막 추론이 수행된 시간을 볼 수 있습니다.
# 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 }] }