Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
In diesem Abschnitt führen Sie den Agenten mithilfe von gRPC als Binärdatei aus und überprüfen, ob sowohl Ihr Gerät als auch Ihre Flotte funktionieren und Beispieldaten sammeln.
-
Starten Sie den Agenten.
Der SageMaker Edge Manager-Agent kann als eigenständiger Prozess in Form einer ausführbaren ELF-Binärdatei (Executable and Linkable Format) ausgeführt oder als Dynamic Shared Object (.dll) verknüpft werden. Die Ausführung als eigenständige ausführbare Binärdatei ist der bevorzugte Modus und wird unter Linux unterstützt.
In diesem Beispiel wird gRPC verwendet, um den Agenten auszuführen. gRPC ist ein leistungsfähiges Open-Source-RPC-Framework (Remote Procedure Call), das in jeder Umgebung ausgeführt werden kann. Weitere Informationen zu gRPC finden Sie in der gRPC-Dokumentation
. Gehen Sie wie folgt vor, um gRPC zu verwenden:
-
Definieren Sie einen Dienst in einer .proto-Datei.
-
Generieren Sie mithilfe des Protokollpuffer-Compilers Server- und Client-Code.
-
Verwenden Sie die Python-gRPC-API (oder andere von gRPC unterstützte Sprachen), um den Server für Ihren Service zu schreiben.
-
Verwenden Sie die Python-gRPC-API (oder andere von gRPC unterstützte Sprachen), um einen Client für Ihren Service zu schreiben.
Der Release-Artefakt, den Sie heruntergeladen haben, enthält eine gRPC-Anwendung, mit der Sie den Agenten ausführen können. Das Beispiel befindet sich im
/bin
Verzeichnis Ihres Release-Artefakts. Die ausführbaresagemaker_edge_agent_binary
Binärdatei befindet sich in diesem Verzeichnis.Um den Agenten mit diesem Beispiel auszuführen, geben Sie den Pfad zu Ihrer Socket-Datei (.sock) und der JSON-Datei .config an:
./bin/sagemaker_edge_agent_binary -a /tmp/sagemaker_edge_agent_example.sock -c sagemaker_edge_config.json
-
-
Überprüfen Sie Ihr Gerät.
Vergewissern Sie sich, dass Ihr Gerät angeschlossen ist Beispieldaten liest. Durch regelmäßige manuelle oder automatische Überprüfungen können Sie überprüfen, ob Ihr Gerät oder Ihre Flotte ordnungsgemäß funktioniert.
Geben Sie den Namen der Flotte an, zu der das Gerät gehört, und die eindeutige Gerätekennung. Führen Sie von Ihrem lokalen Rechner aus folgendes aus:
sagemaker_client.describe_device( DeviceName=device_name, DeviceFleetName=device_fleet_name )
Für das angegebene Modell können Sie den Namen, die Modellversion, den Zeitpunkt der letzten Probennahme und den Zeitpunkt der letzten Inference sehen.
{ "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 } ] }
Der
LastetHeartbeat
von bereitgestellte Zeitstempel gibt das letzte Signal an, das vom Gerät empfangen wurde.LatestSampleTime
undLatestInference
beschreiben den Zeitstempel der letzten Datenstichprobe bzw. Inference. -
Überprüfen Sie Ihre Flotte.
Prüfen Sie, ob Ihre Flotte mit
GetDeviceFleetReport
arbeitet. Geben Sie den Namen der Flotte an, zu der das Gerät gehört.sagemaker_client.get_device_fleet_report( DeviceFleetName=device_fleet_name )
Für ein bestimmtes Modell können Sie den Namen, die Modellversion, den Zeitpunkt der letzten Probenahme und den Zeitpunkt der letzten Inference zusammen mit dem Amazon-S3-Bucket-URI sehen, in dem die Datenproben gespeichert sind.
# 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 }] }