에이전트 실행 - Amazon SageMaker

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

에이전트 실행

이 섹션에서는 g 를 사용하여 에이전트를 바이너리로 실행RPC하고 디바이스와 플릿이 모두 작동하고 샘플 데이터를 수집하는지 확인합니다.

  1. 에이전트를 시작합니다.

    SageMaker Edge Manager 에이전트는 실행 가능 및 연결 가능 형식(ELF) 실행 가능 바이너리의 형태로 독립 실행형 프로세스로 실행하거나 에 동적 공유 객체(.dll)로 연결할 수 있습니다. 독립 실행형 바이너리로 실행하는 것이 기본 설정 모드이며 Linux에서 지원됩니다.

    이 예제에서는 gRPC를 사용하여 에이전트를 실행합니다. gRPC는 모든 환경에서 실행할 수 있는 오픈 소스 고성능 원격 프로시저 호출(RPC) 프레임워크입니다. g에 대한 자세한 내용은 gRPC 설명서 를 RPC참조하세요.

    g를 사용하려면 다음 단계를 RPC수행합니다.

    1. .proto 파일에 서비스를 정의합니다.

    2. 프로토콜 버퍼 컴파일러를 사용하여 서버 및 클라이언트 코드를 생성합니다.

    3. Python(또는 g에서 지원하는 기타 언어RPC) gRPCAPI를 사용하여 서비스용 서버를 작성합니다.

    4. 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
  2. 디바이스를 확인합니다.

    디바이스가 연결되어 있고 데이터 샘플링 중인지 확인합니다. 수동 또는 자동 정기 점검을 통해 디바이스나 플릿의 정상 작동 여부를 확인할 수 있습니다.

    디바이스 소속 플릿의 이름과 고유 디바이스 식별자를 입력합니다. 로컬 시스템에서 다음을 실행합니다.

    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은(는) 각각 마지막 데이터 샘플과 추론의 타임스탬프를 나타냅니다.

  3. 플릿을 확인합니다.

    플릿 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 }] }