Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Eseguire l'agente
In questa sezione eseguirai l'agente come binario usando g RPC e controllerai che sia il dispositivo che il parco macchine funzionino e raccolgano dati di esempio.
-
Avvia l'agente.
L'agente SageMaker Edge Manager può essere eseguito come processo autonomo sotto forma di un file binario eseguibile in formato eseguibile e collegabile (ELF) oppure può essere collegato come oggetto condiviso dinamico (.dll). L'esecuzione come binario eseguibile autonomo è la modalità preferita ed è supportata su Linux.
Questo esempio utilizza g RPC per eseguire l'agent. g RPC è un framework Remote Procedure Call (RPC) open source ad alte prestazioni che può essere eseguito in qualsiasi ambiente. Per ulteriori informazioni su gRPC, consulta la documentazione di g. RPC
Per usare gRPC, procedi nel seguente modo:
-
Definisci un servizio in un file .proto.
-
Genera codice server e client utilizzando il compilatore buffer di protocollo.
-
Usa Python (o altri linguaggi supportati da gRPC) g RPC API per scrivere il server per il tuo servizio.
-
Usa Python (o altri linguaggi supportati da gRPC) g RPC API per scrivere un client per il tuo servizio.
L'elemento di rilascio che hai scaricato contiene un'RPCapplicazione g pronta per l'esecuzione dell'agente. L'esempio si trova nella directory
/bin
dell'artefatto di rilascio. L'eseguibile binariosagemaker_edge_agent_binary
si trova in questa directory.Per eseguire l'agente con questo esempio, fornite il percorso del file socket (.sock) e del file.config: JSON
./bin/sagemaker_edge_agent_binary -a /tmp/sagemaker_edge_agent_example.sock -c sagemaker_edge_config.json
-
-
Controllare il proprio dispositivo.
Verifica che il dispositivo sia collegato e campioni i dati. Effettuando controlli periodici, manualmente o automaticamente, consente di verificare che il dispositivo o il parco funzionino correttamente.
Fornisci il nome del parco a cui appartiene il dispositivo e l'identificatore univoco del dispositivo. Dal computer locale, esegui il seguente comando:
sagemaker_client.describe_device( DeviceName=device_name, DeviceFleetName=device_fleet_name )
Per un determinato modello, è possibile visualizzare il nome, la versione del modello, l'ora di campionamento più recente e la data dell'ultima inferenza.
{ "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 } ] }
Il timestamp fornito da
LastetHeartbeat
indica l'ultimo segnale ricevuto dal dispositivo.LatestSampleTime
eLatestInference
descrivono rispettivamente il timestamp dell'ultimo campione di dati e dell'inferenza. -
Controllare il proprio parco.
Verifica che il tuo parco funzioni con
GetDeviceFleetReport
. Fornisci il nome del parco a cui appartiene il dispositivo.sagemaker_client.get_device_fleet_report( DeviceFleetName=device_fleet_name )
Per un determinato modello, puoi visualizzare il nome, la versione del modello, l'ora di campionamento più recente e quando è stata effettuata l'ultima inferenza, oltre al URI bucket Amazon S3 in cui sono archiviati gli esempi di dati.
# 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 }] }