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 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.json
avec 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-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
> \ --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 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
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'entraînement avancées, pour améliorer les performances du modèle.
-
(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. Remplacez les paramètres suivants dans la commande :
-
computation-model-id
avec l'ID du modèle de calcul cible. -
asset-id
avec l'ID de l'actif sur lequel vous allez entraîner le modèle. -
training-action-definition-id
avec l'ID de l'AWS/ANOMALY_DETECTION_TRAINING
action 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.json
Exemple 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 (
RUNNING
COMPLETED
//FAILED
).aws iotsitewise list-executions \ --target-resource-type COMPUTATION_MODEL \ --target-resource-id
computation-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-id
computation-model-id
\ --resolve-to-resource-type ASSET \ --resolve-to-resource-idasset-id
-
Lorsqu'un
ComputationModel
est 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-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. 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
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 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)
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. -
asset-id
avec l'identifiant de l'actif sur lequel le modèle a été entraîné. -
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
\ --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
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
\ --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-id
computation-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-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. -
asset-id
avec l'identifiant de l'actif sur lequel le modèle a été entraîné. -
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
\ --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
contenant 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