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.
Activer la détection des anomalies sur les capteurs d'un actif
Création d'un modèle de calcul ()AWS CLI
Pour créer un modèle de calcul, utilisez l'interface de ligne de AWS commande (AWS CLI). Après avoir défini le modèle de calcul, entraîné le modèle et planifié l'inférence pour détecter les anomalies sur un actif dans. AWS IoT SiteWise
-
Créez un fichier
anomaly-detection-computation-model-payload.jsonavec le contenu suivant :{ "computationModelName": "anomaly-detection-computation-model-name", "computationModelConfiguration": { "anomalyDetection": { "inputProperties": "${input_properties}", "resultProperty": "${result_property}" } }, "computationModelDataBinding": { "input_properties": { "list": [{ "assetModelProperty": { "assetModelId": "asset-model-id", "propertyId": "input-property-id-1" } }, { "assetModelProperty": { "assetModelId": "asset-model-id", "propertyId": "input-property-id-2" } } ] }, "result_property": { "assetModelProperty": { "assetModelId": "asset-model-id", "propertyId": "results-property-id" } } } } -
Exécutez la commande suivante pour créer un modèle de calcul :
aws iotsitewise create-computation-model \ --cli-input-jsonfile://anomaly-detection-computation-model-payload.json
ExecuteAction Préparation de la charge utile de l'API
Les étapes suivantes pour exécuter l'entraînement et l'inférence sont effectuées avec l'ExecuteActionAPI. L'entraînement et l'inférence sont configurés avec une configuration de charge utile d'action JSON. Lors de l'appel de l'ExecuteActionAPI, la charge utile de l'action doit être fournie sous forme de valeur avec une stringValue charge utile.
La charge utile doit respecter strictement les exigences de l'API. Plus précisément, la valeur doit être une chaîne plate, sans caractères de contrôle (par exemple, nouvelles lignes, tabulations ou retours de chariot).
Les options suivantes fournissent deux méthodes fiables pour fournir une charge utile d'action valide :
Option 1 : utiliser un fichier de charge utile propre
La procédure suivante décrit les étapes à suivre pour nettoyer le fichier de charge utile :
-
Nettoyez le fichier pour supprimer les caractères de contrôle.
tr -d '\n\r\t' < original-action-payload.json > training-or-inference-action-payload.json -
Exécutez l'action avec le fichier
@=file://....aws iotsitewise execute-action \ --target-resource computationModelId=<MODEL_ID> \ --action-definition-id <ACTION_DEFINITION_ID> \ --resolve-to assetId=<ASSET_ID> \ --action-payload stringValue@=file://training-or-inference-action-payload.json
Option 2 : chaîne en ligne avec guillemets échappés
Les étapes suivantes décrivent les étapes à suivre pour fournir la charge utile en ligne et éviter les fichiers intermédiaires :
-
Utilisez des guillemets évadés (
\") dans la chaîne JSON. -
Placez l'
StringValue=..expression entière entre guillemets.
Exemple d'une charge utile d'action échappée :
aws iotsitewise execute-action \ --target-resource computationModelId=<MODEL_ID> \ --action-definition-id <ACTION_DEFINITION_ID> \ --resolve-to assetId=<ASSET_ID> \ --action-payload "stringValue={\"exportDataStartTime\":1717225200,\"exportDataEndTime\":1722789360,\"targetSamplingRate\":\"PT1M\"}"
Entraînez le modèle (AWS CLI)
Une fois le modèle de calcul créé, vous pouvez entraîner un modèle en fonction des actifs. Suivez les étapes ci-dessous pour entraîner un modèle pour un actif :
-
Exécutez la commande suivante pour trouver
actionDefinitionIdl'AWS/ANOMALY_DETECTION_TRAININGaction.computation-model-idRemplacez-le par l'ID renvoyé à l'étape précédente.aws iotsitewise describe-computation-model \ --computation-model-idcomputation-model-id -
Créez un fichier appelé
anomaly-detection-training-payload.jsonet ajoutez-y les valeurs suivantes :Note
La charge utile doit être conforme à. Option 1 : utiliser un fichier de charge utile propre
-
StartTimeavec le début des données d'entraînement, fournies en secondes d'époque. -
EndTimeavec les données de fin d'entraînement, fournies en secondes d'époque. -
Vous pouvez éventuellement configurerConfigurations d'entraînement avancées, pour améliorer les performances du modèle.
-
(Facultatif)
TargetSamplingRateavec le taux d'échantillonnage des données. -
(Facultatif)
LabelInputConfigurationpour spécifier les périodes pendant lesquelles un comportement anormal s'est produit afin d'améliorer l'apprentissage des modèles. -
(Facultatif)
ModelEvaluationConfigurationpour évaluer les performances du modèle en exécutant l'inférence sur une plage de temps spécifiée une fois l'entraînement terminé. -
(Facultatif)
ModelMetricsDestinationpour collecter des données de performance complètes (précision, rappel, surface sous la courbe).
-
{ "trainingMode": "TRAIN_MODEL", "exportDataStartTime": StartTime, "exportDataEndTime": EndTime }Exemple d'un exemple de charge utile d'entraînement :
{ "trainingMode": "TRAIN_MODEL", "exportDataStartTime": 1717225200, "exportDataEndTime": 1722789360 } -
-
Exécutez la commande suivante pour démarrer l'entraînement. Remplacez les paramètres suivants dans la commande :
-
computation-model-idavec l'ID du modèle de calcul cible. -
asset-idavec l'ID de l'actif sur lequel vous allez entraîner le modèle. -
training-action-definition-idavec l'ID de l'AWS/ANOMALY_DETECTION_TRAININGaction de l'étape 1.
aws iotsitewise execute-action \ --target-resource computationModelId=computation-model-id\ --resolve-to assetId=asset-id\ --action-definition-idtraining-action-definition-id\ --action-payload stringValue@=file://anomaly-detection-training-payload.jsonExemple d'une action d'exécution :
aws iotsitewise execute-action --target-resource computationModelId=27cb824c-fd84-45b0-946b-0a5b0466d890 --resolve-to assetId=cefd4b68-481b-4735-b466-6a4220cd19ee --action-definition-id e54cea94-5d1c-4230-a59e-4f54dcbc972d --action-payload stringValue@=file://anomaly-detection-training-payload.json -
-
Exécutez la commande suivante pour vérifier l'état du processus d'entraînement du modèle. Le dernier résumé de l'exécution indique le statut de l'exécution (
RUNNINGCOMPLETED//FAILED).aws iotsitewise list-executions \ --target-resource-type COMPUTATION_MODEL \ --target-resource-idcomputation-model-id\ --resolve-to-resource-type ASSET \ --resolve-to-resource-idasset-id -
Exécutez la commande suivante pour vérifier la configuration du dernier modèle entraîné. Cette commande produit une sortie uniquement si au moins un modèle a été entraîné avec succès.
aws iotsitewise describe-computation-model-execution-summary \ --computation-model-idcomputation-model-id\ --resolve-to-resource-type ASSET \ --resolve-to-resource-idasset-id -
Lorsqu'un
ComputationModelest utilisé AssetModelProperty, utilisez l'ListComputationModelResolveToResourcesAPI pour identifier les actifs sur lesquels des actions ont été exécutées.aws iotsitewise list-computation-model-resolve-to-resources \ --computation-model-idcomputation-model-id
Démarrer et arrêter le réentraînement du modèle ()AWS CLI
Après l'entraînement initial du modèle, vous pouvez configurer le réentraînement automatique pour remédier à la dérive des données et maintenir la précision du modèle au fil du temps. Le planificateur de reconversion vous permet de configurer des mises à jour périodiques du modèle avec des modes de promotion configurables.
Démarrer le planificateur de reconversion
-
Exécutez la commande suivante pour trouver
actionDefinitionIdl'AWS/ANOMALY_DETECTION_TRAININGaction.computation-model-idRemplacez-le par l'ID renvoyé lors de la création de votre modèle de calcul.aws iotsitewise describe-computation-model \ --computation-model-idcomputation-model-id -
Créez un fichier appelé
anomaly-detection-start-retraining-payload.jsonet ajoutez le code suivant. Remplacez les paramètres par les valeurs décrites.Note
La charge utile doit être conforme à. Option 1 : utiliser un fichier de charge utile propre
-
lookbackWindowavec la fenêtre de données historiques à utiliser pour le recyclage (P180D//P360DP540D/P720D). -
retrainingFrequencyavec la fréquence à laquelle le modèle doit être réentraîné (minimumP30D, maximumP1Y). -
(Facultatif)
promotionavec le mode promotion du modèle (SERVICE_MANAGEDouCUSTOMER_MANAGED). La valeur par défaut estSERVICE_MANAGED. -
(Facultatif)
retrainingStartDateavec la date de début du programme de reconversion, exprimée en secondes d'époque. Tronque l'heure au jour UTC le plus proche. Facultatif, la date par défaut est la date du jour. -
Vous pouvez éventuellement configurer Configurations d'entraînement avancées pour améliorer les performances du modèle.
-
(Facultatif)
ModelMetricsDestinationpour obtenir des données de performance complètes (précision, rappel, surface sous la courbe).
-
{ "trainingMode": "START_RETRAINING_SCHEDULER", "retrainingConfiguration": { "lookbackWindow": "P180D", "promotion": "SERVICE_MANAGED", "retrainingFrequency": "P30D", "retrainingStartDate": "StartDate" } } -
-
Exécutez la commande suivante pour démarrer le planificateur de reconversion. Remplacez les paramètres suivants dans la commande :
-
computation-model-idavec l'ID du modèle de calcul cible. -
asset-idavec l'ID de l'actif sur lequel vous allez entraîner le modèle. -
training-action-definition-idavec l'ID de l'AWS/ANOMALY_DETECTION_TRAININGaction de l'étape 1.
aws iotsitewise execute-action \ --target-resource computationModelId=computation-model-id\ --resolve-to assetId=asset-id\ --action-definition-idtraining-action-definition-id\ --action-payload stringValue@=file://anomaly-detection-start-retraining-payload.jsonExemple de commande d'action d'exécution
aws iotsitewise execute-action --target-resource computationModelId=27cb824c-fd84-45b0-946b-0a5b0466d890 --resolve-to assetId=cefd4b68-481b-4735-b466-6a4220cd19ee --action-definition-id e54cea94-5d1c-4230-a59e-4f54dcbc972d --action-payload stringValue@=file://anomaly-detection-start-retraining-payload.json -
Arrêter le planificateur de reconversion
-
Exécutez la commande suivante pour trouver
actionDefinitionIdl'AWS/ANOMALY_DETECTION_TRAININGaction. Remplacezcomputation-model-idpar l'ID réel du modèle de calcul créé précédemment.aws iotsitewise describe-computation-model \ --computation-model-idcomputation-model-id -
Créez un fichier
anomaly-detection-stop-retraining-payload.jsonet ajoutez les éléments suivants :Note
La charge utile doit être conforme à. Option 1 : utiliser un fichier de charge utile propre
{ "trainingMode": "STOP_RETRAINING_SCHEDULER" } -
Exécutez la commande suivante pour arrêter le planificateur de reconversion. Remplacez les paramètres suivants dans la commande :
-
computation-model-idavec l'ID du modèle de calcul cible. -
asset-idavec l'ID de l'actif sur lequel vous allez entraîner le modèle. -
training-action-definition-idavec l'ID de l'AWS/ANOMALY_DETECTION_TRAININGaction de l'étape 1.
aws iotsitewise execute-action \ --target-resource computationModelId=computation-model-id\ --resolve-to assetId=asset-id\ --action-definition-idtraining-action-definition-id\ --action-payload stringValue@=file://anomaly-detection-stop-retraining-payload.json -
Démarrer et arrêter l'inférence ()AWS CLI
Après avoir entraîné le modèle, lancez l'inférence. Cela indique de AWS IoT SiteWise surveiller activement vos actifs industriels pour détecter les anomalies.
Lancer l'inférence
-
Exécutez la commande suivante pour trouver
actionDefinitionIdl'AWS/ANOMALY_DETECTION_INFERENCEaction. Remplacezcomputation-model-idpar l'ID réel du modèle de calcul créé précédemment.aws iotsitewise describe-computation-model \ --computation-model-idcomputation-model-id -
Créez un fichier
anomaly-detection-start-inference-payload.jsonet ajoutez les valeurs suivantes :Note
La charge utile doit être conforme à. Option 1 : utiliser un fichier de charge utile propre
"inferenceMode": "START", "dataUploadFrequency": "DataUploadFrequency"-
DataUploadFrequency: configurez la fréquence à laquelle le programme d'inférence s'exécute pour effectuer la détection des anomalies. Les valeurs autorisées sont :PT5M, PT10M, PT15M, PT30M, PT1H, PT2H..PT12H, PT1D. -
(Facultatif)
DataDelayOffsetInMinutesavec le décalage du délai en minutes. Définissez cette valeur entre 0 et 60 minutes. -
(Facultatif)
TargetModelVersionavec la version du modèle à activer. -
(Facultatif) Configurez la
weeklyOperatingWindowavec une configuration Shift. -
Vous pouvez éventuellement configurerConfigurations d'inférence avancées.
-
-
Exécutez la commande suivante pour démarrer l'inférence. Remplacez les paramètres suivants dans le fichier de charge utile.
-
computation-model-idavec l'ID du modèle de calcul cible. -
asset-idavec l'identifiant de l'actif sur lequel le modèle a été entraîné. -
inference-action-definition-idavec l'ID de l'AWS/ANOMALY_DETECTION_INFERENCEaction de l'étape 1.
aws iotsitewise execute-action \ --target-resource computationModelId=computation-model-id\ --resolve-to assetId=asset-id\ --action-definition-idinference-action-definition-id\ --action-payload stringValue@=file://anomaly-detection-inference-payload.json -
-
Exécutez la commande suivante pour vérifier si l'inférence est toujours en cours. Le
inferenceTimerActivechamp est défini surTRUElorsque l'inférence est active.aws iotsitewise describe-computation-model-execution-summary \ --computation-model-idcomputation-model-id\ --resolve-to-resource-type ASSET \ --resolve-to-resource-idasset-id -
La commande suivante répertorie toutes les exécutions d'inférence :
aws iotsitewise list-executions \ --target-resource-type COMPUTATION_MODEL \ --target-resource-idcomputation-model-id\ --resolve-to-resource-type ASSET \ --resolve-to-resource-idasset-id -
Exécutez la commande suivante pour décrire une exécution individuelle. Remplacez
execution-idpar l'identifiant de l'étape 5 précédente.aws iotsitewise describe-execution \ --execution-idexecution-id
Arrêter l'inférence
-
Exécutez la commande suivante pour trouver
actionDefinitionIdl'AWS/ANOMALY_DETECTION_INFERENCEaction. Remplacezcomputation-model-idpar l'ID réel du modèle de calcul créé précédemment.aws iotsitewise describe-computation-model \ --computation-model-idcomputation-model-id -
Créez un fichier
anomaly-detection-stop-inference-payload.jsonet ajoutez le code suivant.{ "inferenceMode": "STOP" }Note
La charge utile doit être conforme à. Option 1 : utiliser un fichier de charge utile propre
-
Exécutez la commande suivante pour arrêter l'inférence. Remplacez le paramètre suivant dans le fichier de charge utile :
-
computation-model-idavec l'ID du modèle de calcul cible. -
asset-idavec l'identifiant de l'actif sur lequel le modèle a été entraîné. -
inference-action-definition-idavec l'ID de l'AWS/ANOMALY_DETECTION_INFERENCEaction de l'étape 1.
Exemple de la commande d'arrêt de l'inférence :
aws iotsitewise execute-action \ --target-resource computationModelId=computation-model-id\ --resolve-to assetId=asset-id\ --action-definition-idinference-action-definition-id\ --action-payload stringValue@=file://anomaly-detection-stop-inference-payload.json -
Trouver des modèles de calcul qui utilisent une ressource donnée pour la liaison de données
Pour répertorier les modèles de calcul liés à une ressource donnée :
-
modèle d'actif (récupère tous les modèles de calcul où l'une des propriétés de ce modèle d'actif est liée).
-
actif (récupère tous les modèles de calcul où l'une des propriétés de cet actif est liée)
-
propriété du modèle d'actif (récupère tous les modèles de calcul auxquels cette propriété est liée)
-
asset property (récupère tous les modèles de calcul auxquels cette propriété est liée). Cela peut être fourni à titre informatif ou obligatoire lorsque l'utilisateur essaie de lier cette propriété à un autre modèle de calcul (mais elle est déjà liée ailleurs)
Utilisez ListComputationModelDataBindingUsagesl'API pour récupérer une liste de ComputationModelId s qui prennent l'actif (propriété) ou le modèle d'actif (propriété) comme liaison de données.
Préparez un request.json avec les informations suivantes :
{ "dataBindingValueFilter": { "asset": { "assetId": "<string>" } // OR "assetModel": { "assetModelId": "<string>" } // OR "assetProperty": { "assetId": "<string>", "propertyId": "<string>" } // OR "assetModelProperty": { "assetModelId": "<string>", "propertyId": "<string>" } }, "nextToken": "<string>", "maxResults": "<number>" }
Utilisez la list-computation-model-data-binding-usages commande pour récupérer les modèles contenant des actifs ou des modèles d'actifs sous forme de liaisons de données.
aws iotsitewise list-computation-model-data-binding-usages \ --cli-input-json file://request.json