Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Tutoriel : Démarrez avec SageMaker AI Edge Manager
Important
SageMaker AI Edge Manager a été abandonné le 26 avril 2024. Pour plus d'informations sur la poursuite du déploiement de vos modèles sur des appareils Edge, consultez la section Fin de vie d'SageMaker AI Edge Manager.
Amazon SageMaker AI Edge Manager est un agent logiciel qui s'exécute sur des appareils Edge. SageMaker AI Edge Manager assure la gestion des modèles pour les appareils périphériques afin que vous puissiez empaqueter et utiliser les Neo-compiled modèles Amazon SageMaker AI directement sur les appareils principaux de Greengrass. À l'aide d' SageMaker AI Edge Manager, vous pouvez également échantillonner les données d'entrée et de sortie du modèle à partir de vos principaux appareils, et les envoyer à des AWS Cloud fins de surveillance et d'analyse. Pour plus d'informations sur le fonctionnement d' SageMaker AI Edge Manager sur les appareils principaux de Greengrass, consultezUtiliser Amazon SageMaker AI Edge Manager sur les appareils principaux de Greengrass.
Ce didacticiel explique comment commencer à utiliser SageMaker AI Edge Manager à l'aide d'exemples de composants AWS fournis sur un périphérique principal existant. Ces exemples de composants utilisent le composant SageMaker AI Edge Manager comme dépendance pour déployer l'agent Edge Manager et effectuer des inférences à l'aide de modèles pré-entraînés qui ont été compilés à l'aide d' SageMaker AI Neo. Pour plus d'informations sur l'agent SageMaker AI Edge Manager, consultez SageMaker AI Edge Manager dans le guide du développeur Amazon SageMaker AI.
Pour configurer et utiliser l'agent SageMaker AI Edge Manager sur un appareil principal Greengrass existant, AWS fournit un exemple de code que vous pouvez utiliser pour créer les exemples de composants d'inférence et de modèle suivants.
-
Classification des images
-
com.greengrass.SageMakerEdgeManager.ImageClassification -
com.greengrass.SageMakerEdgeManager.ImageClassification.Model
-
-
Détection d'objets
-
com.greengrass.SageMakerEdgeManager.ObjectDetection -
com.greengrass.SageMakerEdgeManager.ObjectDetection.Model
-
Ce didacticiel explique comment déployer les exemples de composants et l'agent SageMaker AI Edge Manager.
Rubriques
Conditions préalables
Pour terminer ce didacticiel, vous devez remplir les conditions préalables suivantes :
-
Un périphérique principal Greengrass s'exécutant sur Amazon Linux 2, une plate-forme Debian-based Linux (x86_64 ou Armv8) ou Windows (x86_64). Si vous n'en avez pas, veuillez consulter Tutoriel : Premiers pas avec AWS IoT Greengrass V2.
-
Python
3.6 ou version ultérieure, y compris pippour votre version de Python, installée sur votre appareil principal. -
L'environnement d'exécution GLX de l'API OpenGL (
libgl1-mesa-glx) est installé sur votre appareil principal. -
Un utilisateur Gestion des identités et des accès AWS (IAM) doté de droits d'administrateur.
-
Un ordinateur Windows, Mac ou de Unix-like développement connecté à Internet qui répond aux exigences suivantes :
-
Python
3.6 ou version ultérieure installé. -
AWS CLI installé et configuré à l'aide de vos informations d'identification d'administrateur IAM. Pour plus d'informations, voir Installation AWS CLI et configuration du AWS CLI.
-
-
Les compartiments S3 suivants ont été créés sur le même appareil Greengrass Région AWS que votre appareil principal Compte AWS et en même temps que celui-ci :
-
Un compartiment S3 pour stocker les artefacts inclus dans l'inférence d'échantillons et les composants du modèle. Ce didacticiel utilise amzn-s3-demo-bucket1 pour faire référence à ce compartiment.
-
Un compartiment S3 que vous associez à votre parc d'appareils SageMaker AI Edge. SageMaker AI Edge Manager nécessite un compartiment S3 pour créer le parc d'appareils Edge et stocker des exemples de données provenant de l'exécution d'inférences sur votre appareil. Ce didacticiel utilise amzn-s3-demo-bucket2 pour faire référence à ce compartiment.
Pour plus d'informations sur la création de compartiments S3, consultez la section Premiers pas avec Amazon S3.
-
-
Le rôle de l'appareil Greengrass est configuré comme suit :
-
Une relation de confiance qui autorise
credentials---iot.amazonaws.com.rproxy.goskope.cometsagemaker.amazonaws.com.rproxy.goskope.comassume le rôle, comme illustré dans l'exemple de politique IAM suivant.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "credentials.iot.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } -
La politique gérée par AmazonSageMakerEdgeDeviceFleetPolicy
IAM. -
La politique gérée par AmazonSageMakerFullAccess
IAM. -
s3:GetObjectAction pour le compartiment S3 qui contient les artefacts de vos composants, comme illustré dans l'exemple de politique IAM suivant.
-
Configurez votre appareil principal Greengrass dans SageMaker AI Edge Manager
Les parcs d'appareils Edge d' SageMaker AI Edge Manager sont des ensembles d'appareils regroupés de manière logique. Pour utiliser SageMaker AI Edge Manager avec AWS IoT Greengrass, vous devez créer un parc d'appareils Edge qui utilise le même alias de AWS IoT rôle que l'appareil principal Greengrass sur lequel vous déployez l'agent SageMaker AI Edge Manager. Ensuite, vous devez enregistrer l'appareil principal comme faisant partie de cette flotte.
Créez un parc d'appareils de pointe
Pour créer un parc d'appareils Edge (console)
-
Dans la console Amazon SageMaker AI
, choisissez Edge Manager, puis choisissez Edge Device Fleets. -
Sur la page Parcs d'appareils, choisissez Créer un parc d'appareils.
-
Dans Propriétés du parc d'appareils, procédez comme suit :
-
Dans Nom du parc d'appareils, entrez un nom pour votre parc d'appareils.
-
Pour le rôle IAM, entrez le nom de ressource Amazon (ARN) de l'alias de AWS IoT rôle que vous avez spécifié lors de la configuration de votre appareil principal Greengrass.
-
Désactivez le bouton Créer un alias de rôle IAM.
-
-
Choisissez Suivant.
-
Dans Configuration de sortie, pour l'URI du compartiment S3, entrez l'URI du compartiment S3 que vous souhaitez associer au parc d'appareils.
-
Sélectionnez Soumettre.
Enregistrez votre appareil principal Greengrass
Pour enregistrer votre appareil principal Greengrass en tant qu'appareil périphérique (console)
-
Dans la console Amazon SageMaker AI
, choisissez Edge Manager, puis choisissez Appareils Edge. -
Sur la page Appareils, choisissez Enregistrer les appareils.
-
Dans Propriétés de l'appareil, dans Nom du parc d'appareils, entrez le nom du parc d'appareils que vous avez créé, puis choisissez Suivant.
-
Choisissez Suivant.
-
Dans Source de l'appareil, dans Nom de l'appareil, entrez le nom de l' AWS IoT objet de votre appareil principal Greengrass.
-
Sélectionnez Soumettre.
Création des exemples de composants
Pour vous aider à commencer à utiliser le composant SageMaker AI Edge Manager, AWS fournit un script Python GitHub qui crée les exemples de composants d'inférence et de modèle et les télécharge vers le AWS Cloud pour vous. Effectuez les étapes suivantes sur un ordinateur de développement.
Pour créer les exemples de composants
-
Téléchargez le référentiel d'exemples de
AWS IoT Greengrass composants sur GitHub votre ordinateur de développement. -
Accédez au
/machine-learning/sagemaker-edge-managerdossier téléchargé.cddownload-directory/machine-learning/sagemaker-edge-manager -
Exécutez la commande suivante pour créer et télécharger les exemples de composants sur le AWS Cloud.
python3 create_components.py -rregion-b amzn-s3-demo-bucketRemplacez
regionpar l' Région AWS endroit où vous avez créé votre périphérique principal Greengrass et remplacez amzn-s3-demo-bucket1 par le nom du compartiment S3 pour stocker les artefacts de vos composants.Note
Par défaut, le script crée des exemples de composants pour la classification des images et l'inférence de détection d'objets. Pour créer des composants uniquement pour un type d'inférence spécifique, spécifiez l'
-iargument.ImageClassification | ObjectDetection
Les exemples de composants d'inférence et de modèle à utiliser avec SageMaker AI Edge Manager sont désormais créés dans votre Compte AWS. Pour voir les exemples de composants dans la AWS IoT Greengrass console
-
com.greengrass.SageMakerEdgeManager.ImageClassification -
com.greengrass.SageMakerEdgeManager.ImageClassification.Model -
com.greengrass.SageMakerEdgeManager.ObjectDetection -
com.greengrass.SageMakerEdgeManager.ObjectDetection.Model
Exécuter un exemple d'inférence de classification d'images
Pour exécuter l'inférence de classification d'images à l'aide des exemples de composants AWS fournis et de l'agent SageMaker AI Edge Manager, vous devez déployer ces composants sur votre appareil principal. Le déploiement de ces composants permet de télécharger un Resnet-50 modèle d' SageMaker IA Neo-compiled pré-entraîné et d'installer l'agent SageMaker AI Edge Manager sur votre appareil. L'agent SageMaker AI Edge Manager charge le modèle et publie les résultats d'inférence sur le gg/sageMakerEdgeManager/image-classification sujet. Pour afficher ces résultats d'inférence, utilisez le client AWS IoT MQTT de la AWS IoT console pour vous abonner à cette rubrique.
Rubriques
Abonnez-vous à la rubrique des notifications
Au cours de cette étape, vous configurez le client AWS IoT MQTT dans la AWS IoT console pour qu'il regarde les messages MQTT publiés par le composant d'inférence d'exemple. Par défaut, le composant publie les résultats d'inférence sur le gg/sageMakerEdgeManager/image-classification sujet. Abonnez-vous à cette rubrique avant de déployer le composant sur votre appareil principal Greengrass pour voir les résultats d'inférence lorsque le composant s'exécute pour la première fois.
Pour vous abonner à la rubrique des notifications par défaut
-
Dans le menu de navigation de la
AWS IoT console, choisissez Test, client de test MQTT. -
Sous S'abonner à une rubrique, dans la zone Nom de la rubrique, entrez
gg/sageMakerEdgeManager/image-classification. -
Choisissez Abonner.
Déployez les exemples de composants
Au cours de cette étape, vous configurez et déployez les composants suivants sur votre appareil principal :
-
aws.greengrass.SageMakerEdgeManager -
com.greengrass.SageMakerEdgeManager.ImageClassification -
com.greengrass.SageMakerEdgeManager.ImageClassification.Model
-
Dans le menu de navigation de la
AWS IoT Greengrass console, choisissez Déploiements, puis choisissez le déploiement que vous souhaitez modifier pour votre équipement cible. -
Sur la page de déploiement, choisissez Réviser, puis choisissez Réviser le déploiement.
-
Sur la page Spécifier la cible, choisissez Suivant.
-
Sur la page Sélectionner les composants, procédez comme suit :
-
Dans Mes composants, sélectionnez les composants suivants :
-
com.greengrass.SageMakerEdgeManager.ImageClassification -
com.greengrass.SageMakerEdgeManager.ImageClassification.Model
-
-
Sous Composants publics, désactivez l'option Afficher uniquement les composants sélectionnés, puis sélectionnez le
aws.greengrass.SageMakerEdgeManagercomposant. -
Choisissez Suivant.
-
-
Sur la page Configurer les composants, sélectionnez le
aws.greengrass.SageMakerEdgeManagercomposant et procédez comme suit.-
Choisissez Configure component (Configurer un composant).
-
Sous Configuration update (Mise à jour de la configuration), dans Configuration to merge (Configuration à fusionner), saisissez la configuration suivante.
{ "DeviceFleetName": "device-fleet-name", "BucketName": "amzn-s3-demo-bucket" }device-fleet-nameRemplacez-le par le nom du parc d'appareils Edge que vous avez créé et paramzn-s3-demo-bucketle nom du compartiment S3 associé à votre parc d'appareils. -
Choisissez Confirm (Confirmer), puis Next (Suivant).
-
-
Sur la page Configure advanced settings (Configurer les paramètres avancés), conservez les paramètres de configuration par défaut et choisissez Next (Suivant).
-
Sur la page Révision, choisissez Déployer
-
Sur votre ordinateur de développement, créez un
deployment.jsonfichier pour définir la configuration de déploiement de vos composants SageMaker AI Edge Manager. Ce fichier doit ressembler à l'exemple suivant.{ "targetArn":"targetArn", "components": { "aws.greengrass.SageMakerEdgeManager": { "componentVersion": "1.0.x", "configurationUpdate": { "merge": "{\"DeviceFleetName\":\"device-fleet-name\",\"BucketName\":\"amzn-s3-demo-bucket2\"}" } }, "com.greengrass.SageMakerEdgeManager.ImageClassification": { "componentVersion": "1.0.x", "configurationUpdate": { } }, "com.greengrass.SageMakerEdgeManager.ImageClassification.Model": { "componentVersion": "1.0.x", "configurationUpdate": { } }, } }-
Dans le champ
targetArn, remplacezpar l'Amazon Resource Name (ARN) de l'objet ou du groupe d'objets à cibler pour le déploiement, au format suivant :targetArn-
Objet :
arn:aws:iot:region:account-id:thing/thingName -
Groupe d'objets :
arn:aws:iot:region:account-id:thinggroup/thingGroupName
-
-
Dans le
mergechamp, remplacezdevice-fleet-namepar le nom du parc d'appareils Edge que vous avez créé. Remplacez ensuiteamzn-s3-demo-bucket2par le nom du compartiment S3 associé à votre parc d'appareils. -
Remplacez les versions de composant de chaque composant par la dernière version disponible.
-
-
Exécutez la commande suivante pour déployer les composants sur le périphérique :
aws greengrassv2 create-deployment \ --cli-input-json file://path/to/deployment.json
L'exécution du déploiement peut prendre plusieurs minutes. À l'étape suivante, vérifiez le journal des composants pour vous assurer que le déploiement s'est terminé avec succès et afficher les résultats des inférences.
Afficher les résultats d'inférence
Après avoir déployé les composants, vous pouvez consulter les résultats de l'inférence dans le journal des composants de votre appareil principal Greengrass et dans le client AWS IoT MQTT de la console. AWS IoT Pour vous abonner à la rubrique sur laquelle le composant publie les résultats d'inférence, consultezAbonnez-vous à la rubrique des notifications.
-
AWS IoT Client MQTT —Pour afficher les résultats publiés par le composant d'inférence dans la rubrique des notifications par défaut, procédez comme suit :
-
Dans le menu de navigation de la
AWS IoT console, choisissez Test, client de test MQTT. -
Sous Abonnements, choisissez
gg/sageMakerEdgeManager/image-classification.
-
-
Journal des composants —Pour afficher les résultats de l'inférence dans le journal des composants, exécutez la commande suivante sur votre périphérique principal Greengrass.
sudo tail -f/logs/com.greengrass.SageMakerEdgeManager.ImageClassification.log/greengrass/v2
Si vous ne pouvez pas voir les résultats d'inférence dans le journal des composants ou dans le client MQTT, cela signifie que le déploiement a échoué ou n'a pas atteint le périphérique principal. Cela peut se produire si votre appareil principal n'est pas connecté à Internet ou ne dispose pas des autorisations nécessaires pour exécuter le composant. Exécutez la commande suivante sur votre appareil principal pour afficher le fichier journal du logiciel AWS IoT Greengrass Core. Ce fichier inclut les journaux du service de déploiement de l'appareil principal Greengrass.
sudo tail -f/logs/greengrass.log/greengrass/v2
Pour de plus amples informations, veuillez consulter Résolution des problèmes liés à l'inférence par apprentissage automatique.