Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Habilite la detección de anomalías en los sensores de todos los activos
Crear un modelo de cálculo ()AWS CLI
Para crear un modelo de cálculo, utilice la interfaz de línea de AWS comandos ()AWS CLI. Tras definir el modelo de cálculo, entrénelo y programe la inferencia para detectar anomalías en todos los activos. AWS IoT SiteWise
Los siguientes pasos explican este proceso:
-
Para configurar la detección de anomalías, utilice UpdateAssetModel(AWS CLI) y cumpla los siguientes requisitos:
-
Al menos una propiedad de entrada que sea de uno
DOUBLEo varios tipos deINTEGERdatos. Se trata de una propiedad de medición o de transformación y se utiliza para entrenar el modelo. -
Una propiedad de resultado del tipo de
STRINGdatos. Debe ser una propiedad de medición y almacena los resultados de la detección de anomalías.
-
-
Cree un archivo
anomaly-detection-computation-model-payload.jsoncon el siguiente contenido:nota
Cree un modelo de cálculo proporcionándolo directamente
assetPropertycomo fuente de datos.{ "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" } } } } -
Ejecute el siguiente comando para crear un modelo de cálculo:
aws iotsitewise create-computation-model \ --cli-input-json file://anomaly-detection-computation-model-payload.json
ExecuteAction Preparación de la carga útil de la API
Los siguientes pasos para ejecutar la formación y la inferencia se realizan con la ExecuteActionAPI. Tanto el entrenamiento como la inferencia se configuran con una configuración de carga útil de acciones de JSON. Al invocar la ExecuteActionAPI, la carga útil de la acción debe proporcionarse como un valor junto con una carga útil. stringValue
La carga útil debe cumplir estrictamente los requisitos de la API. En concreto, el valor debe ser una cadena plana sin caracteres de control (por ejemplo, líneas nuevas, tabulaciones o devoluciones). Las siguientes opciones proporcionan dos formas fiables de proporcionar una carga útil de acción válida.
Opción 1: utilice un archivo de carga limpio
El siguiente procedimiento describe los pasos para limpiar un archivo de carga útil:
-
Limpie el archivo para eliminar los caracteres de control.
tr -d '\n\r\t' < original-action-payload.json > training-or-inference-action-payload.json -
Ejecute la acción con el archivo
@=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
Opción 2: cadena en línea con comillas de escape
En los siguientes pasos se describen los pasos para suministrar la carga útil en línea y evitar los archivos intermediarios:
-
Usa comillas dobles escapadas (
\") dentro de la cadena JSON. -
Envuelve la
StringValue=..expresión completa entre comillas dobles.
ejemplo de una carga útil de acción que se ha escapado:
aws iotsitewise execute-action \ --target-resource computationModelId=<MODEL_ID> \ --action-definition-id <ACTION_DEFINITION_ID> \ --action-payload "stringValue={\"exportDataStartTime\":1717225200,\"exportDataEndTime\":1722789360,\"targetSamplingRate\":\"PT1M\"}"
Entrena al modelo ()AWS CLI
-
Ejecute el siguiente comando para buscar el
actionDefinitionIdde la acciónAWS/ANOMALY_DETECTION_TRAINING.computation-model-idSustitúyalo por el identificador devuelto en el paso anterior.aws iotsitewise describe-computation-model \ --computation-model-idcomputation-model-id -
Cree un archivo llamado
anomaly-detection-training-payload.jsony añada los siguientes valores:nota
La carga útil debe ajustarse aOpción 1: utilice un archivo de carga limpio.
-
StartTimecon el inicio de los datos de entrenamiento, proporcionados en segundos por época. -
EndTimecon el final de los datos de entrenamiento, proporcionados en segundos de época. -
Puede Configuraciones de inferencia avanzadas configurarlo de forma opcional.
-
(Opcional)
TargetSamplingRatecon la frecuencia de muestreo de los datos. -
(Opcional)
LabelInputConfigurationpara especificar los períodos de tiempo en los que se produjo un comportamiento anómalo para mejorar el entrenamiento del modelo. -
(Opcional)
ModelEvaluationConfigurationpara evaluar el rendimiento del modelo mediante la ejecución de la inferencia en un intervalo de tiempo específico una vez finalizado el entrenamiento.
-
{ "exportDataStartTime": StartTime, "exportDataEndTime": EndTime }ejemplo de un ejemplo de carga útil de entrenamiento:
{ "exportDataStartTime": 1717225200, "exportDataEndTime": 1722789360 } -
-
Ejecute el siguiente comando para iniciar el entrenamiento (sin proporcionar un activo como recurso de destino). Sustituya los siguientes parámetros del comando:
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 -
Ejecute el siguiente comando para comprobar el estado del proceso de entrenamiento del modelo. El resumen de ejecución más reciente muestra el estado de la ejecución (
RUNNINGCOMPLETED//FAILED).aws iotsitewise list-executions \ --target-resource-type COMPUTATION_MODEL \ --target-resource-idcomputation-model-id -
Ejecute el siguiente comando para comprobar la configuración del último modelo entrenado. Este comando produce un resultado solo si al menos un modelo ha completado el entrenamiento correctamente.
aws iotsitewise describe-computation-model-execution-summary \ --computation-model-id computation-model-id
Inicie y detenga el reentrenamiento del modelo ()AWS CLI
Tras el entrenamiento inicial del modelo, puede configurar el reentrenamiento automático para abordar la desviación de los datos y mantener la precisión del modelo a lo largo del tiempo. El programador de reentrenamiento le permite configurar actualizaciones periódicas del modelo con modos de promoción configurables.
Inicie el programador de reentrenamiento
-
Prepare la misma carga útil que se menciona en. Inicie el programador de reentrenamiento
-
Ejecute la acción de entrenamiento (sin proporcionar un activo como recurso objetivo). Sustituya los siguientes parámetros del comando:
-
computation-model-idcon el ID del modelo de cálculo objetivo. -
training-action-definition-idcon el ID de laAWS/ANOMALY_DETECTION_TRAININGacción.
aws iotsitewise execute-action \ --target-resource computationModelId=computation-model-id\ --action-definition-idtraining-action-definition-id\ --action-payload stringValue@=file://anomaly-detection-start-retraining-payload.json -
-
Ejecute el siguiente comando para comprobar el estado del proceso del programador de inicio de reentrenamiento. El resumen de ejecución más reciente muestra el estado de la ejecución (
RUNNING/COMPLETED/FAILED).aws iotsitewise list-executions \ --target-resource-type COMPUTATION_MODEL \ --target-resource-idcomputation-model-id
Detenga el programador de reentrenamiento
-
Prepare la misma carga útil que se menciona en. Detenga el programador de reentrenamiento
-
Ejecute la acción de entrenamiento (sin proporcionar un activo como recurso objetivo). Sustituya los siguientes parámetros del comando:
-
computation-model-idcon el ID del modelo de cálculo objetivo. -
training-action-definition-idcon el ID de laAWS/ANOMALY_DETECTION_TRAININGacción.
aws iotsitewise execute-action \ --target-resource computationModelId=computation-model-id\ --action-definition-idtraining-action-definition-id\ --action-payload stringValue@=file://anomaly-detection-stop-retraining-payload.json -
-
Ejecute el siguiente comando para comprobar el estado del proceso de detener el programador de reentrenamiento. El resumen de ejecución más reciente muestra el estado de la ejecución (
RUNNING/COMPLETED/FAILED).aws iotsitewise list-executions \ --target-resource-type COMPUTATION_MODEL \ --target-resource-idcomputation-model-id
Iniciar y detener la inferencia ()AWS CLI
Después de entrenar el modelo, inicie la inferencia, que indica que debe comenzar AWS IoT SiteWise a monitorear sus activos industriales para detectar anomalías.
Inicie la inferencia
-
Ejecute el siguiente comando para buscar el
actionDefinitionIdde la acciónAWS/ANOMALY_DETECTION_INFERENCE.computation-model-idSustitúyalo por el identificador real del modelo de cálculo creado anteriormente.aws iotsitewise describe-computation-model \ --computation-model-idcomputation-model-id -
Cree un archivo
anomaly-detection-start-inference-payload.jsony añada el siguiente código. Sustituya los siguientes parámetros tal y como se describe:nota
La carga útil debe ajustarse aOpción 1: utilice un archivo de carga limpio.
-
DataUploadFrequency: Configure la frecuencia con la que se ejecuta el programa de inferencias para realizar la detección de anomalías. Los valores permitidos son:PT5M, PT10M, PT15M, PT30M, PT1H, PT2H..PT12H, PT1D."inferenceMode": "START", "dataUploadFrequency": "DataUploadFrequency" -
(Opcional)
DataDelayOffsetInMinutescon el retardo compensado en minutos. Establezca este valor entre 0 y 60 minutos. -
(Opcional)
TargetModelVersioncon la versión del modelo que se va a activar. -
(Opcional) Configure la configuración
weeklyOperatingWindowcon una configuración de turnos. -
Opcionalmente, puede configurarloConfiguraciones de inferencia avanzadas.
-
-
Ejecute el siguiente comando para iniciar la inferencia. Sustituya los siguientes parámetros en el archivo de carga útil.
-
computation-model-idcon el ID del modelo de cálculo objetivo. -
inference-action-definition-idcon el ID de laAWS/ANOMALY_DETECTION_INFERENCEacción del paso 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 -
-
Ejecute el siguiente comando para comprobar si la inferencia sigue ejecutándose. El
inferenceTimerActivecampo se estableceTRUEcuando la inferencia está activa.aws iotsitewise describe-computation-model-execution-summary \ --computation-model-idcomputation-model-id -
El siguiente comando muestra todas las ejecuciones de inferencias:
aws iotsitewise list-executions \ --target-resource-type COMPUTATION_MODEL \ --target-resource-idcomputation-model-id -
Ejecute el siguiente comando para describir una ejecución individual.
execution-idSustitúyalo por el identificador del paso 5 anterior.aws iotsitewise describe-execution \ --execution-idexecution-id
Detenga la inferencia
-
Ejecute el siguiente comando para buscar el
actionDefinitionIdde la acciónAWS/ANOMALY_DETECTION_INFERENCE.computation-model-idSustitúyalo por el identificador real del modelo de cálculo creado anteriormente.aws iotsitewise describe-computation-model \ --computation-model-idcomputation-model-id -
Cree un archivo
anomaly-detection-stop-inference-payload.jsony añada el siguiente código.{ "inferenceMode": "STOP" }nota
La carga útil debe ajustarse aOpción 1: utilice un archivo de carga limpio.
-
Ejecute el siguiente comando para detener la inferencia. Sustituya el siguiente parámetro en el archivo de carga útil:
-
computation-model-idcon el ID del modelo de cálculo de destino. -
inference-action-definition-idcon el ID de laAWS/ANOMALY_DETECTION_INFERENCEacción del paso 1.
ejemplo del comando stop inference:
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 -