Execute o agente - SageMaker IA da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Execute o agente

Nesta seção, você executará o agente como um binário usando o gRPC e verificará se o dispositivo e a frota estão funcionando e coletando dados de amostra.

  1. Inicie o agente.

    O agente do SageMaker Edge Manager pode ser executado como um processo independente na forma de um binário executável de formato executável e vinculável (ELF) ou pode ser vinculado como um objeto compartilhado dinâmico (.dll). Executar como um binário executável autônomo é o modo preferido e é compatível no Linux.

    Este exemplo usa o gRPC para executar o agente. O gRPC é uma estrutura de Chamada de Procedimento Remoto (RPC) de alto desempenho de código aberto que pode ser executada em qualquer ambiente. Para obter mais informações sobre o gRPC, consulte a documentação do gRPC.

    Para usar o gRPC, execute as seguintes etapas:

    1. Defina um serviço em um arquivo.proto.

    2. Gere código de servidor e cliente usando o compilador de buffer de protocolo.

    3. Use a API gRPC do Python (ou outras linguagens compatíveis com o gRPC) para gravar o servidor para seu serviço.

    4. Use a API gRPC do Python (ou outros idiomas compatíveis com o gRPC) para gravar o servidor para seu serviço.

    O artefato de lançamento que você baixou contém uma aplicação gRPC pronto para executar o agente. O exemplo está localizado no diretório /bin do seu artefato de lançamento. O executável binário sagemaker_edge_agent_binary está nesse diretório.

    Para executar o agente com este exemplo, forneça o caminho para o arquivo de soquete (.sock) e o arquivo de configuração JSON:

    ./bin/sagemaker_edge_agent_binary -a /tmp/sagemaker_edge_agent_example.sock -c sagemaker_edge_config.json
  2. Verifique seu dispositivo.

    Verifique se o dispositivo está conectado e está coletando dados. Fazer verificações periódicas, manual ou automaticamente, permite que você verifique se seu dispositivo ou frota está funcionando corretamente.

    Forneça o nome da frota à qual o dispositivo pertence e o identificador exclusivo do dispositivo. A partir da máquina local, execute o seguinte:

    sagemaker_client.describe_device( DeviceName=device_name, DeviceFleetName=device_fleet_name )

    Para o modelo fornecido, você pode ver o nome, a versão do modelo, o horário da última amostra e quando a última inferência foi feita.

    { "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 } ] }

    O timestamp fornecido por LastetHeartbeat indica o último sinal recebido do dispositivo. LatestSampleTime e LatestInference descrevem o carimbo de data/hora da última amostra de dados e inferência, respectivamente.

  3. Verifique sua frota.

    Verifique se sua frota está funcionando com GetDeviceFleetReport. Forneça o nome da frota ao qual o dispositivo pertence.

    sagemaker_client.get_device_fleet_report( DeviceFleetName=device_fleet_name )

    Para um determinado modelo, você pode ver o nome, a versão do modelo, o horário da amostra mais recente e quando a última inferência foi feita, juntamente com o URI do bucket do Amazon S3 onde as amostras de dados estão armazenadas.

    # 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 }] }