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.
-
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:
-
Defina um serviço em um arquivo.proto.
-
Gere código de servidor e cliente usando o compilador de buffer de protocolo.
-
Use a API gRPC do Python (ou outras linguagens compatíveis com o gRPC) para gravar o servidor para seu serviço.
-
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áriosagemaker_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
-
-
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
eLatestInference
descrevem o carimbo de data/hora da última amostra de dados e inferência, respectivamente. -
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 }] }