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.
Laden Sie den Edge Manager-Agenten herunter und richten Sie ihn manuell ein
Laden Sie die entsprechende Version des Edge Manager-Agenten für Ihr Betriebssystem, Ihre Architektur und Ihre AWS -Region herunter. Der Agent wird regelmäßig aktualisiert, so dass Sie Ihren Agenten anhand von Veröffentlichungsdaten und Versionen auswählen können. Sobald Sie den Agenten haben, erstellen Sie eine JSON-Konfigurationsdatei. Geben Sie den IoT-Objektnamen des Gerätes, den Flottennamen, die Geräte-Anmeldeinformationen und sonstige Schlüssel-Wert-Paare an. Eine vollständige Liste der Schlüssel, die Sie in der Konfigurationsdatei angeben müssen, finden Sie unter Den Edge Manager-Agenten ausführen. Sie können den Agenten als ausführbare Binärdatei ausführen oder als Dynamic Shared Object (DSO) eine Verknüpfung dazu herstellen.
So funktioniert der Agent
Der Agent läuft auf der CPU Ihrer Geräte. Der Agent führt Inferences auf dem Framework und der Hardware des Zielgerätes aus, das Sie während des Kompilierungsauftrags angegeben haben. Wenn Sie Ihr Modell z. B. für den Jetson Nano kompiliert haben, unterstützt der Agent die GPU in der bereitgestellten Deep Learning Runtime
Der Agent wird für unterstützte Betriebssysteme im Binärformat veröffentlicht. Überprüfen Sie in der folgenden Tabelle, ob Ihr Betriebssystem unterstützt wird und die Mindestanforderungen an das Betriebssystem erfüllt:
Installation des Edge Manager-Agenten
Um den Edge Manager-Agenten verwenden zu können, müssen Sie zunächst die Release-Artefakte und ein Stammzertifikat abrufen. Die Release-Artefakte werden in einem Amazon-S3-Bucket in der Region us-west-2
gespeichert. Um die Artefakte herunterzuladen, geben Sie Ihr Betriebssystem (<OS>
) und die <VERSION>
an.
Ersetzen Sie je nach Betriebssystem <OS>
durch eine der folgenden Angaben:
Windows 32-bit | Windows 64-bit | Linux x86-64 | Linux ARMv8 |
---|---|---|---|
windows-x86 | windows-x64 | linux-x64 | linux-armv8 |
Das VERSION
ist in drei Komponenten aufgeteilt: <MAJOR_VERSION>.<YYYY-MM-DD>-<SHA-7>
, wobei:
-
<MAJOR_VERSION>
: Die Release-Version. Die Release-Version ist derzeit auf1
eingestellt. -
<YYYY-MM-DD>
: Der Zeitstempel der Veröffentlichung der Artefakte. -
<SHA-7>
: Die Commit-ID des Repositorys, aus der die Version erstellt wurde.
Sie müssen den <MAJOR_VERSION>
und den Zeitstempel im YYYY-MM-DD
Format angeben. Wir empfehlen Ihnen, den Zeitstempel für die Veröffentlichung des neuesten Artefakts zu verwenden.
Führen Sie in Ihrer Befehlszeile den folgenden Befehl aus, um den aktuellen Zeitstempel zu erhalten. Ersetzen Sie <OS>
durch Ihr Betriebssystem:
aws s3 ls s3://sagemaker-edge-release-store-us-west-2-
<OS>
/Releases/ | sort -r
Wenn Sie z. B. ein Windows-32-Bit-Betriebssystem haben, führen Sie Folgendes aus:
aws s3 ls s3://sagemaker-edge-release-store-us-west-2-windows-x86/Releases/ | sort -r
Das Ergebnis ist:
2020-12-01 23:33:36 0 PRE 1.20201218.81f481f/ PRE 1.20201207.02d0e97/
Die zurückgegebene Antwort in diesem Beispiel zeigt zwei Release-Artefakte. In der ersten Release-Artefaktdatei wird darauf hingewiesen, dass die Release-Version eine Hauptversion von1
, einen Zeitstempel von 20201218
(im YYYY-MM-DD Format) und eine 81f481f
SHA-7-Commit-ID hat.
Anmerkung
Bei dem obigen Befehl wird davon ausgegangen, dass Sie den AWS Command Line Interface konfiguriert haben. Weitere Informationen zur Konfiguration der Einstellungen, mit denen der AWS CLI interagiert AWS, finden Sie unter Konfiguration der AWS CLI.
Verwenden Sie je nach Betriebssystem die folgenden Befehle, um die Artefakte zu installieren:
Sie müssen außerdem ein Stammzertifikat herunterladen. Dieses Zertifikat validiert Modellartefakte, von denen signiert wurde, AWS bevor sie auf Ihre Edge-Geräte geladen werden.
Ersetzen Sie <OS>
entsprechend Ihrer Plattform von der Liste der unterstützten Betriebssysteme und ersetzen Sie <REGION>
durch Ihre AWS
-Region.
aws s3 cp s3://sagemaker-edge-release-store-us-west-2-
<OS>
/Certificates/<REGION>
/<REGION>
.pem .
Den Edge Manager-Agenten ausführen
Sie können den SageMaker AI Edge Manager-Agent als eigenständigen Prozess in Form einer ausführbaren ELF-Binärdatei (Executable and Linkable Format) oder als dynamisches gemeinsam genutztes Objekt (.dll) mit ihm verknüpfen. Linux unterstützt die Ausführung als eigenständige ausführbare Binärdatei. Dies ist der bevorzugte Modus. Windows unterstützt die Ausführung als gemeinsam genutztes Objekt (.dll).
Unter Linux empfehlen wir Ihnen, die Binärdatei über einen Dienst auszuführen, der zu Ihrem Initialisierungssystem (init
) gehört. Wenn Sie die Binärdatei direkt ausführen möchten, können Sie dies in einem Terminal tun, wie im folgenden Beispiel gezeigt. Wenn Sie über ein modernes Betriebssystem verfügen, sind vor der Ausführung des Agenten keine weiteren Installationen erforderlich, da alle Anforderungen statisch in die ausführbare Datei integriert sind. Dies gibt Ihnen die Flexibilität, den Agenten auf dem Terminal, als Dienst oder in einem Container auszuführen.
Um den Agenten auszuführen, erstellen Sie zunächst eine JSON-Konfigurationsdatei. Geben Sie die folgenden Schlüssel-Wert-Paare an:
-
sagemaker_edge_core_device_name
: Der Name des Gerätes. Dieser Gerätename muss zusammen mit der Geräteflotte in der SageMaker Edge Manager-Konsole registriert werden. -
sagemaker_edge_core_device_fleet_name
: Der Name der Flotte, zu der das Gerät gehört. -
sagemaker_edge_core_region
: Die AWS Region, die dem Gerät, der Flotte und den Amazon S3 S3-Buckets zugeordnet ist. Dies entspricht der Region, in der das Gerät registriert ist und in der der Amazon-S3-Bucket erstellt wird (es wird erwartet, dass diese identisch sind). Die Modelle selbst können mit SageMaker Neo in einer anderen Region kompiliert werden. Diese Konfiguration bezieht sich nicht auf die Modellkompilierungsregion. -
sagemaker_edge_core_root_certs_path
: Der absolute Ordnerpfad zu den Stammzertifikaten. Dies wird verwendet, um das Gerät mit dem entsprechenden AWS Konto zu validieren. -
sagemaker_edge_provider_aws_ca_cert_file
: Der absolute Pfad zum Amazon Root CA-Zertifikat (AmazonRootCA1.pem). Dies wird verwendet, um das Gerät mit dem entsprechenden AWS Konto zu validieren.AmazonCA
ist ein Zertifikat im Besitz von AWS. -
sagemaker_edge_provider_aws_cert_file
: Der absolute Pfad zum AWS IoT Signieren des Stammzertifikats (*.pem.crt
). -
sagemaker_edge_provider_aws_cert_pk_file
: Der absolute Pfad zum AWS IoT privaten Schlüssel. (*.pem.key
). -
sagemaker_edge_provider_aws_iot_cred_endpoint
: Der Endpunkt der AWS IoT Anmeldeinformationen (identifier
.iot.region
.amazonaws.com). Dieser Endpunkt dient zur Überprüfung von Anmeldeinformationen. Weitere Informationen finden Sie unter Geräte verbinden mit AWS IoT. -
sagemaker_edge_provider_provider
: Dies weist auf die Implementierung der verwendeten Anbieterschnittstelle hin. Die Anbieterschnittstelle kommuniziert mit den Endnetzwerk-Services zu Uploads, Herzschlag und zur Überprüfung der Registrierung. Die Standardeinstellung dafür ist"Aws"
. Wir erlauben benutzerdefinierte Implementierungen der Provider-Schnittstelle. Es kann aufNone
für „Kein Anbieter“ oder aufCustom
für benutzerdefinierte Implementierung gesetzt werden. Dabei wird der entsprechende gemeinsame Objektpfad angegeben. -
sagemaker_edge_provider_provider_path
: Stellt den absoluten Pfad zum gemeinsamen Objekt der Provider-Implementierung bereit. (.so- oder .dll-Datei). Die DLL- oder .so-Datei vom"Aws"
Anbieter wird mit der Agent-Version mitgeliefert. Dieses Feld ist obligatorisch. -
sagemaker_edge_provider_s3_bucket_name
: Der Name Ihres Amazon-S3-Buckets (nicht den Amazon-S3-Bucket URI). Der Name des Buckets muss einesagemaker
Zeichenfolge enthalten. -
sagemaker_edge_log_verbose
(Boolescher Wert.): Optional. Damit wird das Debugging-Protokoll festgelegt. Wählen Sie entwederTrue
oderFalse
aus. -
sagemaker_edge_telemetry_libsystemd_path
: Nur für Linux implementiertsystemd
die Absturzkennzahl für den Agenten. Legen Sie den absoluten Pfad für libsystemd fest, um die Absturzzählerkennzahl zu aktivieren. Den Standardpfad für libsystemd können Sie finden, indem Sie im Geräteterminalwhereis libsystemd
ausführen. -
sagemaker_edge_core_capture_data_destination
: Das Ziel zum Hochladen der erfassten Daten. Wählen Sie"Cloud"
oder"Disk"
. Der Standard ist auf"Disk"
gesetzt. Wenn Sie es auf"Disk"
einstellen, werden die Eingabe- und Ausgangstensoren sowie die Hilfsdaten in das lokale Dateisystem an Ihren bevorzugten Speicherort … geschrieben. Wenn Sie an"Cloud"
schreiben, verwenden Sie den in dersagemaker_edge_provider_s3_bucket_name
Konfiguration angegebenen Namen des Amazon-S3-Buckets. -
sagemaker_edge_core_capture_data_disk_path
: Legen Sie den absoluten Pfad im lokalen Dateisystem fest, in den die Dateien mit den erfassten Daten geschrieben werden, wenn"Disk"
das Ziel ist. Dieses Feld wird nicht verwendet, wenn"Cloud"
als Ziel angegeben ist. -
sagemaker_edge_core_folder_prefix
: Das übergeordnete Präfix in Amazon S3, wo die erfassten Daten gespeichert werden, wenn Sie"Cloud"
als Ziel für die erfassten Daten angeben (sagemaker_edge_core_capture_data_disk_path)
. Die erfassten Daten werden in einem Unterordner untersagemaker_edge_core_capture_data_disk_path
dem gespeichert, wenn"Disk"
als Datenziel festgelegt wird. -
sagemaker_edge_core_capture_data_buffer_size
(ganzzahliger Wert): Die Größe des Ringpuffers für die erfassten Daten. Sie gibt die maximale Anzahl der Anfragen an, die im Puffer gespeichert sind. -
sagemaker_edge_core_capture_data_batch_size
(ganzzahliger Wert): Die Batchgröße der erfassten Daten. Sie gibt die Größe eines Batches von Anfragen an, die vom Puffer aus bearbeitet werden. Dieser Wert muss kleiner sein alssagemaker_edge_core_capture_data_buffer_size
. Für die Batchgröße wird maximal die halbe Puffergröße empfohlen. -
sagemaker_edge_core_capture_data_push_period_seconds
(ganzzahliger Wert): Die Push-Periode für die erfassten Daten in Sekunden. Ein Stapel von Anfragen im Puffer wird verarbeitet, wenn sich Anfragen mit Batchgröße im Puffer befinden oder wenn dieser Zeitraum abgelaufen ist (je nachdem, was zuerst eintritt). Diese Konfiguration legt diesen Zeitraum fest. -
sagemaker_edge_core_capture_data_base64_embed_limit
: Das Limit für hochgeladene erfasste Daten in Byte. Ein ganzzahliger Wert.
Ihre Konfigurationsdatei sollte ähnlich dem folgenden Beispiel aussehen (wobei Ihre jeweiligen Werte angegeben werden). In diesem Beispiel wird der AWS Standardanbieter ("Aws"
) verwendet und kein regelmäßiger Upload angegeben.
{ "sagemaker_edge_core_device_name":
"device-name"
, "sagemaker_edge_core_device_fleet_name":"fleet-name"
, "sagemaker_edge_core_region":"region"
, "sagemaker_edge_core_root_certs_path": "<Absolute path to root certificates>
", "sagemaker_edge_provider_provider": "Aws", "sagemaker_edge_provider_provider_path" : "/path/to/
libprovider_aws.so", "sagemaker_edge_provider_aws_ca_cert_file": "<Absolute path to Amazon Root CA certificate>
/AmazonRootCA1.pem", "sagemaker_edge_provider_aws_cert_file": "<Absolute path to AWS IoT signing root certificate>
/device.pem.crt", "sagemaker_edge_provider_aws_cert_pk_file": "<Absolute path to AWS IoT private key.>
/private.pem.key", "sagemaker_edge_provider_aws_iot_cred_endpoint": "https://<AWS IoT Endpoint Address>
", "sagemaker_edge_core_capture_data_destination": "Cloud", "sagemaker_edge_provider_s3_bucket_name": "sagemaker-bucket-name
", "sagemaker_edge_core_folder_prefix":"Amazon S3 folder prefix"
, "sagemaker_edge_core_capture_data_buffer_size": 30, "sagemaker_edge_core_capture_data_batch_size": 10, "sagemaker_edge_core_capture_data_push_period_seconds": 4000, "sagemaker_edge_core_capture_data_base64_embed_limit": 2, "sagemaker_edge_log_verbose": false }
Der Release-Artefakt enthält eine binäre ausführbare Datei, die im /bin
Verzeichnis als sagemaker_edge_agent_binary
bezeichnet wird. Um die Binärdatei auszuführen, erstellen Sie mit Hilfe der -a
Markierung eine Socket-Dateibeschreibung (.sock) in einem beliebigen Verzeichnis und geben Sie den Pfad der JSON-Konfigurationsdatei des Agenten an, die Sie mit der Markierung -c
erstellt haben.
./sagemaker_edge_agent_binary -a
<ADDRESS_TO_SOCKET>
-c<PATH_TO_CONFIG_FILE>
Das folgende Beispiel zeigt den Codeausschnitt mit angegebenem Verzeichnis- und Dateipfad:
./sagemaker_edge_agent_binary -a /tmp/sagemaker_edge_agent_example.sock -c sagemaker_edge_config.json
In diesem Beispiel wird ein Socket-Dateideskriptor mit dem Namen sagemaker_edge_agent_example.sock
im /tmp
Verzeichnis erstellt und verweist auf eine Konfigurationsdatei, die sich im selben Arbeitsverzeichnis befindet wie der aufgerufene Agent sagemaker_edge_config.json
.