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.
Permettre la détection des anomalies sur les capteurs de tous les actifs
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înez-le et planifiez l'inférence pour détecter les anomalies sur les actifs de. AWS IoT SiteWise
Les étapes suivantes expliquent ce processus :
-
Pour configurer la détection des anomalies, utilisez le UpdateAssetModel (AWS CLI) et répondez aux exigences suivantes :
-
Au moins une propriété d'entrée qui est de l'un
DOUBLE
ou l'autre type deINTEGER
données. Il s'agit d'une propriété de mesure ou de transformation, utilisée pour entraîner le modèle. -
Propriété de résultat de type
STRING
donnée. Il doit s'agir d'une propriété de mesure et enregistrer les résultats de détection des anomalies.
-
-
Créez un fichier
anomaly-detection-computation-model-payload.json
avec le contenu suivant :Note
Créez un modèle de calcul en le fournissant directement
assetProperty
comme source de données.{ "computationModelName": "name of ComputationModel", "computationModelConfiguration": { "anomalyDetection": { "inputProperties": "${properties}", "resultProperty": "${p3}" } }, "computationModelDataBinding": { "properties": { "list": [ { "assetProperty": { "assetId": "asset-id", "propertyId": "input-property-id-1" } }, { "assetProperty": { "assetId": "asset-id", "propertyId": "input-property-id-2" } } ] }, "p3": { "assetProperty": { "assetId": "asset-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-json file://
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
> \ --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
> \ --action-payload "stringValue={\"exportDataStartTime\":1717225200,\"exportDataEndTime\":1722789360,\"targetSamplingRate\":\"PT1M\"}"
Entraînez le AWS CLI
-
Exécutez la commande suivante pour trouver
actionDefinitionId
l'AWS/ANOMALY_DETECTION_TRAINING
action.computation-model-id
Remplacez-le par l'ID renvoyé à l'étape précédente.aws iotsitewise describe-computation-model \ --computation-model-id
computation-model-id
-
Créez un fichier appelé
anomaly-detection-training-payload.json
et ajoutez-y les valeurs suivantes :Note
La charge utile doit être conforme à. Option 1 : utiliser un fichier de charge utile propre
-
StartTime
avec le début des données d'entraînement, fournies en secondes d'époque. -
EndTime
avec les données de fin d'entraînement, fournies en secondes d'époque. -
Vous pouvez éventuellement configurerConfigurations d'inférence avancées.
-
(Facultatif)
TargetSamplingRate
avec le taux d'échantillonnage des données. -
(Facultatif)
LabelInputConfiguration
pour spécifier les périodes pendant lesquelles un comportement anormal s'est produit afin d'améliorer l'apprentissage des modèles. -
(Facultatif)
ModelEvaluationConfiguration
pour é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é.
-
{ "exportDataStartTime": StartTime, "exportDataEndTime": EndTime }
Exemple d'un exemple de charge utile d'entraînement :
{ "exportDataStartTime": 1717225200, "exportDataEndTime": 1722789360 }
-
-
Exécutez la commande suivante pour démarrer l'entraînement (sans fournir d'actif comme ressource cible). Remplacez les paramètres suivants dans la commande :
aws iotsitewise execute-action \ --target-resource computationModelId=
computation-model-id
\ --action-definition-idtraining-action-definition-id
\ --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 (
RUNNING
COMPLETED
//FAILED
).aws iotsitewise list-executions \ --target-resource-type COMPUTATION_MODEL \ --target-resource-id
computation-model-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 terminé l'entraînement avec succès.
aws iotsitewise describe-computation-model-execution-summary \ --computation-model-id computation-model-id
Démarrer et arrêter l'inférence ()AWS CLI
Après avoir entraîné le modèle, lancez l'inférence, qui indique de commencer AWS IoT SiteWise à surveiller vos actifs industriels pour détecter les anomalies.
Lancer l'inférence
-
Exécutez la commande suivante pour trouver
actionDefinitionId
l'AWS/ANOMALY_DETECTION_INFERENCE
action. Remplacezcomputation-model-id
par l'ID réel du modèle de calcul créé précédemment.aws iotsitewise describe-computation-model \ --computation-model-id
computation-model-id
-
Créez un fichier
anomaly-detection-start-inference-payload.json
et ajoutez le code suivant. Remplacez les paramètres suivants comme décrit :Note
La charge utile doit être conforme à. Option 1 : utiliser un fichier de charge utile propre
-
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
."inferenceMode": "START", "dataUploadFrequency": "
DataUploadFrequency
" -
(Facultatif)
DataDelayOffsetInMinutes
avec le décalage du délai en minutes. Définissez cette valeur entre 0 et 60 minutes. -
(Facultatif)
TargetModelVersion
avec la version du modèle à activer. -
(Facultatif) Configurez la
weeklyOperatingWindow
avec 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-id
avec l'ID du modèle de calcul cible. -
inference-action-definition-id
avec l'ID de l'AWS/ANOMALY_DETECTION_INFERENCE
action de l'étape 1.
aws iotsitewise execute-action \ --target-resource computationModelId=
computation-model-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
inferenceTimerActive
champ est défini surTRUE
lorsque l'inférence est active.aws iotsitewise describe-computation-model-execution-summary \ --computation-model-id
computation-model-id
-
La commande suivante répertorie toutes les exécutions d'inférence :
aws iotsitewise list-executions \ --target-resource-type COMPUTATION_MODEL \ --target-resource-id
computation-model-id
-
Exécutez la commande suivante pour décrire une exécution individuelle. Remplacez
execution-id
par l'identifiant de l'étape 5 précédente.aws iotsitewise describe-execution \ --execution-id
execution-id
Arrêter l'inférence
-
Exécutez la commande suivante pour trouver
actionDefinitionId
l'AWS/ANOMALY_DETECTION_INFERENCE
action. Remplacezcomputation-model-id
par l'ID réel du modèle de calcul créé précédemment.aws iotsitewise describe-computation-model \ --computation-model-id
computation-model-id
-
Créez un fichier
anomaly-detection-stop-inference-payload.json
et 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-id
avec l'ID du modèle de calcul cible. -
inference-action-definition-id
avec l'ID de l'AWS/ANOMALY_DETECTION_INFERENCE
action 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
\ --action-definition-idinference-action-definition-id
\ --action-payload stringValue@=file://anomaly-detection-stop-inference-payload.json
-