Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Abilita il rilevamento delle anomalie sui sensori di tutti gli asset
Crea un modello di calcolo ()AWS CLI
Per creare un modello di calcolo, utilizzate l'interfaccia a riga di AWS comando ()AWS CLI. Dopo aver definito il modello di calcolo, addestrate il modello e pianificate l'inferenza per il rilevamento delle anomalie tra gli asset in. AWS IoT SiteWise
I passaggi seguenti spiegano questo processo:
-
Per configurare il rilevamento delle anomalie, utilizzate il comando UpdateAssetModel (AWS CLI) e soddisfate i seguenti requisiti:
-
Almeno una proprietà di input di uno
DOUBLE
o più tipi diINTEGER
dati. È una proprietà di misurazione o trasformazione e viene utilizzata per addestrare il modello. -
Una proprietà di risultato del tipo di
STRING
dati. Deve essere una proprietà di misurazione e memorizza i risultati del rilevamento delle anomalie.
-
-
Crea un file
anomaly-detection-computation-model-payload.json
con il seguente contenuto:Nota
Crea un modello di calcolo fornendolo direttamente
assetProperty
come fonte di dati.{ "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" } } } }
-
Esegui il comando seguente per creare un modello di calcolo:
aws iotsitewise create-computation-model \ --cli-input-json file://
anomaly-detection-computation-model-payload.json
ExecuteAction Preparazione del payload dell'API
I passaggi successivi per eseguire l'addestramento e l'inferenza vengono eseguiti con l'ExecuteActionAPI. Sia l'addestramento che l'inferenza sono configurati con una configurazione del payload d'azione JSON. Quando si richiama l'ExecuteActionAPI, il payload dell'azione deve essere fornito come valore con un payload. stringValue
Il payload deve rispettare rigorosamente i requisiti dell'API. In particolare, il valore deve essere una stringa piatta senza caratteri di controllo (ad esempio, newline, tabs o carriage return). Le seguenti opzioni forniscono due modi affidabili per fornire un payload d'azione valido.
Opzione 1: utilizzare un file di payload pulito
La procedura seguente descrive i passaggi per un file di payload pulito:
-
Pulite il file per rimuovere i caratteri di controllo.
tr -d '\n\r\t' < original-action-payload.json > training-or-inference-action-payload.json
-
Esegui l'azione con il file
@=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
Opzione 2: stringa in linea con virgolette sfuggite
I passaggi seguenti descrivono i passaggi per fornire il payload in linea ed evitare file intermedi:
-
Usa le virgolette doppie con escape (
\"
) all'interno della stringa JSON. -
Raccogli l'intera
StringValue=..
espressione tra virgolette doppie.
Esempio di un payload di azione sfuggito:
aws iotsitewise execute-action \ --target-resource computationModelId=<
MODEL_ID
> \ --action-definition-id <ACTION_DEFINITION_ID
> \ --action-payload "stringValue={\"exportDataStartTime\":1717225200,\"exportDataEndTime\":1722789360,\"targetSamplingRate\":\"PT1M\"}"
Addestra il AWS CLI
-
Esegui il seguente comando per trovare
actionDefinitionId
l'AWS/ANOMALY_DETECTION_TRAINING
azione. Sostituiscicomputation-model-id
con l'ID restituito nel passaggio precedente.aws iotsitewise describe-computation-model \ --computation-model-id
computation-model-id
-
Create un file chiamato
anomaly-detection-training-payload.json
e aggiungete i seguenti valori:Nota
Il payload deve essere conforme a. Opzione 1: utilizzare un file di payload pulito
-
StartTime
con l'inizio dei dati di allenamento, forniti in secondi epocali. -
EndTime
con i dati di fine addestramento, forniti in secondi d'epoca. -
È possibile configurare opzionalmente. Configurazioni di inferenza avanzate
-
(Facoltativo)
TargetSamplingRate
con la frequenza di campionamento dei dati. -
(Facoltativo)
LabelInputConfiguration
per specificare i periodi di tempo in cui si è verificato un comportamento anomalo per migliorare l'addestramento del modello. -
(Facoltativo)
ModelEvaluationConfiguration
per valutare le prestazioni del modello eseguendo l'inferenza su un intervallo di tempo specificato dopo il completamento dell'addestramento.
-
{ "exportDataStartTime": StartTime, "exportDataEndTime": EndTime }
Esempio di un esempio di payload di addestramento:
{ "exportDataStartTime": 1717225200, "exportDataEndTime": 1722789360 }
-
-
Esegui il comando seguente per iniziare l'addestramento (senza fornire la risorsa come risorsa di destinazione). Sostituite i seguenti parametri nel 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
-
Eseguite il comando seguente per verificare lo stato del processo di addestramento del modello. L'ultimo riepilogo dell'esecuzione mostra lo stato di esecuzione (
RUNNING
COMPLETED
//FAILED
).aws iotsitewise list-executions \ --target-resource-type COMPUTATION_MODEL \ --target-resource-id
computation-model-id
-
Esegui il comando seguente per verificare la configurazione dell'ultimo modello addestrato. Questo comando produce un output solo se almeno un modello ha completato correttamente l'addestramento.
aws iotsitewise describe-computation-model-execution-summary \ --computation-model-id computation-model-id
Avvia e interrompi l'inferenza ()AWS CLI
Dopo aver addestrato il modello, avviate l'inferenza, che indica di iniziare AWS IoT SiteWise a monitorare gli asset industriali per individuare eventuali anomalie.
Inizia l'inferenza
-
Esegui il seguente comando per trovare
actionDefinitionId
l'AWS/ANOMALY_DETECTION_INFERENCE
azione. Sostituiscicomputation-model-id
con l'ID effettivo del modello di calcolo creato in precedenza.aws iotsitewise describe-computation-model \ --computation-model-id
computation-model-id
-
Create un file
anomaly-detection-start-inference-payload.json
e aggiungete il codice seguente. Sostituite i seguenti parametri come descritto:Nota
Il carico utile deve essere conforme a. Opzione 1: utilizzare un file di payload pulito
-
DataUploadFrequency
: Configura la frequenza di esecuzione del programma di inferenza per eseguire il rilevamento delle anomalie. I valori consentiti sono:.PT5M, PT10M, PT15M, PT30M, PT1H, PT2H..PT12H, PT1D
"inferenceMode": "START", "dataUploadFrequency": "
DataUploadFrequency
" -
(Facoltativo)
DataDelayOffsetInMinutes
con la compensazione del ritardo in minuti. Imposta questo valore tra 0 e 60 minuti. -
(Facoltativo)
TargetModelVersion
con la versione del modello da attivare. -
(Facoltativo) Configurare la configurazione
weeklyOperatingWindow
con un turno. -
È possibile configurare Configurazioni di inferenza avanzate facoltativamente.
-
-
Esegui il seguente comando per avviare l'inferenza. Sostituite i seguenti parametri nel file di payload.
-
computation-model-id
con l'ID del modello di calcolo di destinazione. -
inference-action-definition-id
con l'ID dell'AWS/ANOMALY_DETECTION_INFERENCE
azione della Fase 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
-
-
Esegui il comando seguente per verificare se l'inferenza è ancora in esecuzione. Il
inferenceTimerActive
campo è impostato suTRUE
quando l'inferenza è attiva.aws iotsitewise describe-computation-model-execution-summary \ --computation-model-id
computation-model-id
-
Il comando seguente elenca tutte le esecuzioni di inferenza:
aws iotsitewise list-executions \ --target-resource-type COMPUTATION_MODEL \ --target-resource-id
computation-model-id
-
Eseguite il comando seguente per descrivere una singola esecuzione. Sostituisci
execution-id
con l'id del passaggio 5 precedente.aws iotsitewise describe-execution \ --execution-id
execution-id
Interrompi l'inferenza
-
Esegui il seguente comando per trovare
actionDefinitionId
l'AWS/ANOMALY_DETECTION_INFERENCE
azione. Sostituiscicomputation-model-id
con l'ID effettivo del modello di calcolo creato in precedenza.aws iotsitewise describe-computation-model \ --computation-model-id
computation-model-id
-
Create un file
anomaly-detection-stop-inference-payload.json
e aggiungete il codice seguente.{ "inferenceMode": "STOP" }
Nota
Il carico utile deve essere conforme a. Opzione 1: utilizzare un file di payload pulito
-
Esegui il comando seguente per interrompere l'inferenza. Sostituite il seguente parametro nel file di payload:
-
computation-model-id
con l'ID del modello di calcolo di destinazione. -
inference-action-definition-id
con l'ID dell'AWS/ANOMALY_DETECTION_INFERENCE
azione della Fase 1.
Esempio 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
-