Télécharger et configurer Edge Manager - Amazon SageMaker

Télécharger et configurer Edge Manager

L'agent Edge Manager est un moteur d'inférence pour vos dispositifs périphériques. Utilisez l'agent pour réaliser des prédictions avec les modèles chargés sur vos dispositifs périphériques. Il collecte également des métriques de modèle et capture des données à intervalles définis.

Dans cette section, vous allez configurer votre dispositif avec l'agent. Pour ce faire, copiez d'abord un artefact de version et signez le certificat racine du compartiment de publication localement sur votre machine. Après avoir décompressé l'artefact de version, téléchargez-le dans Amazon S3. Ensuite, définissez et enregistrez un fichier de configuration pour l'agent. Un modèle est fourni, que vous pouvez copier et coller. Enfin, copiez les artefacts de version, le fichier de configuration et les informations d'identification sur votre dispositif.

  1. Téléchargez l'agent SageMaker Edge Manager.

    L'agent est publié au format binaire pour les systèmes d'exploitation pris en charge. Cet exemple exécute une inférence sur un Jetson Nano qui utilise un système d'exploitation Linux et possède une architecture ARM64. Pour de plus amples informations sur les dispositifs à utiliser, dont le système d'exploitation et l'architecture sont pris en charge, veuillez consulter Périphériques, architectures de puces et systèmes pris en charge.

    Récupérez la dernière version des fichiers binaires du compartiment de version SageMaker Edge Manager de la région us-west-2.

    !aws s3 ls s3://sagemaker-edge-release-store-us-west-2-linux-armv8/Releases/ | sort -r

    Cela renvoie les artefacts de version triés par leur version.

    PRE 1.20210512.96da6cc/ PRE 1.20210305.a4bc999/ PRE 1.20201218.81f481f/ PRE 1.20201207.02d0e97/

    La version a le format suivant : <MAJOR_VERSION>.<YYYY-MM-DD>.<SHA-7>. Voici ses trois composantes :

    • <MAJOR_VERSION> : la version de sortie. La version de sortie est actuellement définie sur 1.

    • <YYYY-MM-DD> : horodatage de la version d'artefact.

    • <SHA-7> : ID de validation du référentiel à partir duquel la version est générée.

    Copiez le fichier TAR zippé localement ou directement sur votre dispositif. L'exemple suivant montre comment copier le dernier artefact de version au moment où ce document a été publié.

    !aws s3 cp s3://sagemaker-edge-release-store-us-west-2-linux-x64/Releases/1.20201218.81f481f/1.20201218.81f481f.tgz ./

    Une fois que vous avez l'artefact, décompressez le fichier TAR zippé. La procédure suivante sert à décompresser le fichier TAR et le stocker dans un répertoire appelé   agent_demo:

    !mkdir agent_demo !tar -xvzf 1.20201218.81f481f.tgz -C ./agent_demo

    Téléchargez les artefacts de version de l'agent dans votre compartiment Amazon S3. L'exemple de code suivant copie le contenu dans agent_demo et le télécharge dans votre compartiment Amazon S3, dans un répertoire appelé agent_demo :

    !aws s3 cp --recursive ./agent_demo s3://{bucket}/agent_demo

    Vous avez également besoin des certificats racine de signature à partir du compartiment de publication :

    !aws s3 cp s3://sagemaker-edge-release-store-us-west-2-linux-x64/Certificates/us-west-2/us-west-2.pem ./

    Téléchargez le certificat racine de signature dans votre compartiment Amazon S3 :

    !aws s3 cp us-west-2.pem s3://{bucket}/authorization-files/
  2. Définissez un fichier de configuration de l'agent SageMaker Edge Manager.

    Tout d'abord, définissez le fichier de configuration d'agent comme suit :

    sagemaker_edge_config = { "sagemaker_edge_core_device_name": "device_name", "sagemaker_edge_core_device_fleet_name": "device_fleet_name", "sagemaker_edge_core_capture_data_buffer_size": 30, "sagemaker_edge_core_capture_data_push_period_seconds": 4, "sagemaker_edge_core_folder_prefix": "demo_capture", "sagemaker_edge_core_region": "us-west-2", "sagemaker_edge_core_root_certs_path": "/agent_demo/certificates", "sagemaker_edge_provider_aws_ca_cert_file": "/agent_demo/iot-credentials/AmazonRootCA1.pem", "sagemaker_edge_provider_aws_cert_file": "/agent_demo/iot-credentials/device.pem.crt", "sagemaker_edge_provider_aws_cert_pk_file": "/agent_demo/iot-credentials/private.pem.key", "sagemaker_edge_provider_aws_iot_cred_endpoint": "endpoint", "sagemaker_edge_provider_provider": "Aws", "sagemaker_edge_provider_s3_bucket_name": bucket, "sagemaker_edge_core_capture_data_destination": "Cloud" }

    Remplacez les éléments suivants :

    • "device_name" par le nom de votre dispositif (cette chaîne a été stockée à une étape précédente dans une variable nommée device_name).

    • "device_fleet_name" par le nom de votre flotte de dispositifs (cette chaîne a été stockée à une étape précédente dans une variable nommée device_fleet_name)

    • "endpoint" par votre point de terminaison spécifique au compte AWS pour le fournisseur d'informations d'identification (cette chaîne a été stockée à une étape précédente dans une variable nommée endpoint).

    Ensuite, enregistrez-le en tant que fichier JSON :

    edge_config_file = open("sagemaker_edge_config.json", "w") json.dump(sagemaker_edge_config, edge_config_file, indent = 6) edge_config_file.close()

    Téléchargez le fichier de configuration dans votre compartiment Amazon S3 :

    !aws s3 cp sagemaker_edge_config.json s3://{bucket}/
  3. Copiez les artefacts de version, le fichier de configuration et les informations d'identification sur votre dispositif.

    Les instructions suivantes sont exécutées directement sur le dispositif périphérique.

    Note

    Vous devez d'abord installer Python, AWS SDK for Python (Boto3), et l'AWS CLI sur votre dispositif périphérique.

    Ouvrez un terminal sur votre appareil. Créez un dossier pour stocker les artefacts de version, vos informations d'identification et le fichier de configuration.

    mkdir agent_demo cd agent_demo

    Copiez le contenu des artefacts de version que vous avez stockés dans votre compartiment Amazon S3 sur votre dispositif :

    # Copy release artifacts aws s3 cp s3://<bucket-name>/agent_demo/ ./ --recursive

    (Le contenu de l'artefact de version a été stocké dans un répertoire appelé agent_demo à une étape précédente). Remplacez <bucket-name> et agent_demo par le nom de votre compartiment Amazon S3 et le chemin d'accès au fichier à vos artefacts de version, respectivement.

    Accédez au répertoire /bin et rendez les fichiers binaires exécutables :

    cd bin chmod +x sagemaker_edge_agent_binary chmod +x sagemaker_edge_agent_client_example cd agent_demo

    Créez un répertoire pour stocker vos informations d'identification AWS IoT et copiez-les de votre compartiment Amazon S3 vers votre dispositif périphérique (utilisez celui que vous avez défini dans la variable bucket) :

    mkdir iot-credentials cd iot-credentials aws s3 cp s3://<bucket-name>/authorization-files/AmazonRootCA1.pem ./ aws s3 cp s3://<bucket-name>/authorization-files/device.pem.crt ./ aws s3 cp s3://<bucket-name>/authorization-files/private.pem.key ./ cd ../

    Créez un répertoire pour stocker vos certificats racine de signature de modèle :

    mkdir certificates cd certificates aws s3 cp s3://<bucket-name>/authorization-files/us-west-2.pem ./ cd agent_demo

    Copiez votre fichier de configuration sur votre dispositif :

    #Download config file from S3 aws s3 cp s3://<bucket-name>/sagemaker_edge_config.json ./ cd agent_demo

    Le répertoire agent_demo sur votre dispositif périphérique doit ressembler à ce qui suit :

    ├──agent_demo | ├── bin | ├── sagemaker_edge_agent_binary | └── sagemaker_edge_agent_client_example | ├── sagemaker_edge_config.json | ├── certificates | └──us-west-2.pem | ├── iot-credentials | ├── AmazonRootCA1.pem | ├── device.pem.crt | └── private.pem.key | ├── docs | ├── api | └── examples | ├── ATTRIBUTIONS.txt | ├── LICENSE.txt | └── RELEASE_NOTES.md