Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Aktivieren Sie die Erkennung von Anomalien auf den Sensoren einer Anlage
Erstellen Sie ein Berechnungsmodell ()AWS CLI
Verwenden Sie die AWS Befehlszeilenschnittstelle ()AWS CLI, um ein Berechnungsmodell zu erstellen. Nachdem Sie das Berechnungsmodell definiert haben, trainieren Sie das Modell und planen Sie die Inferenz für die Erkennung von Anomalien an einer Anlage in. AWS IoT SiteWise
-
Erstellen Sie eine Datei
anomaly-detection-computation-model-payload.jsonmit dem folgenden Inhalt:{ "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" } } } } -
Führen Sie den folgenden Befehl aus, um ein Berechnungsmodell zu erstellen:
aws iotsitewise create-computation-model \ --cli-input-jsonfile://anomaly-detection-computation-model-payload.json
ExecuteAction Vorbereitung der API-Nutzlast
Die nächsten Schritte zur Durchführung von Training und Inferenz werden mit der ExecuteActionAPI durchgeführt. Sowohl Training als auch Inferenz werden mit einer JSON-Aktionsnutzlastkonfiguration konfiguriert. Beim Aufrufen der ExecuteActionAPI muss die Aktionsnutzlast als Wert zusammen mit einer Nutzlast bereitgestellt werden. stringValue
Die Payload muss sich strikt an die API-Anforderungen halten. Insbesondere muss der Wert eine flache Zeichenfolge ohne Steuerzeichen sein (z. B. Zeilenumbrüche, Tabulatoren oder Zeilenumbrüche).
Die folgenden Optionen bieten zwei zuverlässige Methoden zur Bereitstellung einer gültigen Aktions-Payload:
Option 1: Verwenden Sie eine saubere Payload-Datei
Das folgende Verfahren beschreibt die Schritte für eine saubere Payload-Datei:
-
Säubern Sie die Datei, um Steuerzeichen zu entfernen.
tr -d '\n\r\t' < original-action-payload.json > training-or-inference-action-payload.json -
Führen Sie die Aktion mit der Datei aus
@=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: Inline-Zeichenfolge mit maskierten Anführungszeichen
In den folgenden Schritten werden die Schritte beschrieben, um die Nutzdaten inline bereitzustellen und Zwischendateien zu vermeiden:
-
Verwenden Sie maskierte Anführungszeichen (
\") innerhalb der JSON-Zeichenfolge. -
Setzen Sie den gesamten
StringValue=..Ausdruck in doppelte Anführungszeichen.
Beispiel einer Payload einer Aktion, der entkommen ist:
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\"}"
Trainiere das Modell ()AWS CLI
Mit einem erstellten Berechnungsmodell können Sie ein Modell anhand der Ressourcen trainieren. Gehen Sie wie folgt vor, um ein Modell für eine Anlage zu trainieren:
-
Führen Sie den folgenden Befehl aus, um
actionDefinitionIddieAWS/ANOMALY_DETECTION_TRAININGAktion zu ermitteln.computation-model-idErsetzen Sie es durch die im vorherigen Schritt zurückgegebene ID.aws iotsitewise describe-computation-model \ --computation-model-idcomputation-model-id -
Erstellen Sie eine Datei mit dem Namen
anomaly-detection-training-payload.jsonund fügen Sie die folgenden Werte hinzu:Anmerkung
Die Nutzlast muss den Anforderungen entsprechen. Option 1: Verwenden Sie eine saubere Payload-Datei
-
StartTimemit dem Beginn der Trainingsdaten, angegeben in Epochensekunden. -
EndTimemit dem Ende der Trainingsdaten, angegeben in Epochensekunden. -
Sie können optional konfigurierenFortgeschrittene Trainingskonfigurationen, um die Modellleistung zu verbessern.
-
(Optional)
TargetSamplingRatemit der Abtastrate der Daten. -
(Optional)
LabelInputConfigurationzur Angabe von Zeiträumen, in denen anomales Verhalten auftrat, um das Modelltraining zu verbessern. -
(Optional)
ModelEvaluationConfigurationzur Bewertung der Modellleistung, indem nach Abschluss des Trainings Inferenzen für einen bestimmten Zeitraum ausgeführt werden. -
(Optional)
ModelMetricsDestinationzur Erfassung umfassender Leistungsdaten (Präzision, Recall, Area Under the Curve).
-
{ "trainingMode": "TRAIN_MODEL", "exportDataStartTime": StartTime, "exportDataEndTime": EndTime }Beispiel eines Beispiels für eine Trainingsnutzlast:
{ "trainingMode": "TRAIN_MODEL", "exportDataStartTime": 1717225200, "exportDataEndTime": 1722789360 } -
-
Führen Sie den folgenden Befehl aus, um das Training zu starten. Ersetzen Sie die folgenden Parameter im Befehl:
-
computation-model-idmit der ID des Zielberechnungsmodells. -
asset-idmit der ID des Assets, anhand dessen Sie das Modell trainieren werden. -
training-action-definition-idmit der ID derAWS/ANOMALY_DETECTION_TRAININGAktion aus Schritt 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.jsonBeispiel einer Ausführungsaktion:
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 -
-
Führen Sie den folgenden Befehl aus, um den Status des Modelltrainingsprozesses zu überprüfen. Die letzte Ausführungsübersicht zeigt den Ausführungsstatus (
RUNNING/COMPLETED/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 -
Führen Sie den folgenden Befehl aus, um die Konfiguration des zuletzt trainierten Modells zu überprüfen. Dieser Befehl erzeugt nur dann eine Ausgabe, wenn mindestens ein Modell erfolgreich trainiert wurde.
aws iotsitewise describe-computation-model-execution-summary \ --computation-model-idcomputation-model-id\ --resolve-to-resource-type ASSET \ --resolve-to-resource-idasset-id -
Wenn a verwendet
ComputationModelwird AssetModelProperty, verwenden Sie die ListComputationModelResolveToResourcesAPI, um die Assets zu identifizieren, für die Aktionen ausgeführt wurden.aws iotsitewise list-computation-model-resolve-to-resources \ --computation-model-idcomputation-model-id
Startet und beendet das erneute Training des Modells ()AWS CLI
Nach dem ersten Modelltraining können Sie automatisches Retraining konfigurieren, um Datenabweichungen entgegenzuwirken und die Modellgenauigkeit im Laufe der Zeit aufrechtzuerhalten. Mit dem Retrainingsplaner können Sie regelmäßige Modellaktualisierungen mit konfigurierbaren Promotion-Modi einrichten.
Starten Sie den Retrainingsplaner
-
Führen Sie den folgenden Befehl aus, um die Aktion
actionDefinitionIdzu ermitteln.AWS/ANOMALY_DETECTION_TRAININGcomputation-model-idErsetzen Sie es durch die ID, die Sie bei der Erstellung Ihres Berechnungsmodells zurückgegeben haben.aws iotsitewise describe-computation-model \ --computation-model-idcomputation-model-id -
Erstellen Sie eine Datei mit dem Namen
anomaly-detection-start-retraining-payload.jsonund fügen Sie den folgenden Code hinzu. Ersetzen Sie die Parameter wie beschrieben durch Werte.Anmerkung
Die Nutzlast muss den Anforderungen entsprechen. Option 1: Verwenden Sie eine saubere Payload-Datei
-
lookbackWindowmit dem historischen Datenfenster, das für die Umschulung verwendet werden soll (P180D//P360D/P540D).P720D -
retrainingFrequencymit der Häufigkeit, mit der das Modell neu trainiert werden soll (MinimumP30D, MaximumP1Y). -
(Optional)
promotionmit dem Model-Promotion-Modus (SERVICE_MANAGEDoderCUSTOMER_MANAGED). Der Standardwert istSERVICE_MANAGED. -
(Optional)
retrainingStartDatemit dem Startdatum für den Umschulungsplan, angegeben in Epochensekunden. Kürzt die Zeit auf den nächsten UTC-Tag. Optional, standardmäßig das aktuelle Datum. -
Sie können optional konfigurierenFortgeschrittene Trainingskonfigurationen, um die Modellleistung zu verbessern.
-
(Optional)
ModelMetricsDestination, um umfassende Leistungsdaten (Präzision, Recall, Area Under the Curve) zu erhalten.
-
{ "trainingMode": "START_RETRAINING_SCHEDULER", "retrainingConfiguration": { "lookbackWindow": "P180D", "promotion": "SERVICE_MANAGED", "retrainingFrequency": "P30D", "retrainingStartDate": "StartDate" } } -
-
Führen Sie den folgenden Befehl aus, um den Retrainingsplaner zu starten. Ersetzen Sie die folgenden Parameter im Befehl:
-
computation-model-idmit der ID des Zielberechnungsmodells. -
asset-idmit der ID des Assets, anhand dessen Sie das Modell trainieren werden. -
training-action-definition-idmit der ID derAWS/ANOMALY_DETECTION_TRAININGAktion aus Schritt 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.jsonBeispiel für den Befehl „Aktion ausführen“
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 -
Beenden Sie das erneute Training des Schedulers
-
Führen Sie den folgenden Befehl aus, um die Aktion
actionDefinitionIdzu ermitteln.AWS/ANOMALY_DETECTION_TRAININGcomputation-model-idErsetzen Sie es durch die tatsächliche ID des zuvor erstellten Berechnungsmodells.aws iotsitewise describe-computation-model \ --computation-model-idcomputation-model-id -
Erstellen Sie eine Datei
anomaly-detection-stop-retraining-payload.jsonund fügen Sie Folgendes hinzu:Anmerkung
Die Nutzlast muss den Anforderungen entsprechen. Option 1: Verwenden Sie eine saubere Payload-Datei
{ "trainingMode": "STOP_RETRAINING_SCHEDULER" } -
Führen Sie den folgenden Befehl aus, um den Retrainingsplaner zu beenden. Ersetzen Sie die folgenden Parameter im Befehl:
-
computation-model-idmit der ID des Zielberechnungsmodells. -
asset-idmit der ID des Assets, anhand dessen Sie das Modell trainieren werden. -
training-action-definition-idmit der ID derAWS/ANOMALY_DETECTION_TRAININGAktion aus Schritt 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 -
Inferenz starten und beenden ()AWS CLI
Starten Sie die Inferenz, nachdem Sie das Modell trainiert haben. Dies weist Sie an AWS IoT SiteWise , Ihre Industrieanlagen aktiv auf Anomalien zu überwachen.
Inferenz starten
-
Führen Sie den folgenden Befehl aus, um die
AWS/ANOMALY_DETECTION_INFERENCEAktionactionDefinitionIdzu ermitteln.computation-model-idErsetzen Sie es durch die tatsächliche ID des zuvor erstellten Berechnungsmodells.aws iotsitewise describe-computation-model \ --computation-model-idcomputation-model-id -
Erstellen Sie eine Datei
anomaly-detection-start-inference-payload.jsonund fügen Sie die folgenden Werte hinzu:Anmerkung
Die Nutzlast muss den Anforderungen entsprechen. Option 1: Verwenden Sie eine saubere Payload-Datei
"inferenceMode": "START", "dataUploadFrequency": "DataUploadFrequency"-
DataUploadFrequency: Konfigurieren Sie die Häufigkeit, mit der der Inferenzplan ausgeführt wird, um Anomalien zu erkennen. Zulässige Werte sind:.PT5M, PT10M, PT15M, PT30M, PT1H, PT2H..PT12H, PT1D -
(Optional)
DataDelayOffsetInMinutesmit dem Verzögerungsversatz in Minuten. Stellen Sie diesen Wert zwischen 0 und 60 Minuten ein. -
(Optional)
TargetModelVersionmit der zu aktivierenden Modellversion. -
(Optional) Konfigurieren Sie das
weeklyOperatingWindowmit einer Schichtkonfiguration. -
Sie können optional konfigurierenErweiterte Inferenzkonfigurationen.
-
-
Führen Sie den folgenden Befehl aus, um die Inferenz zu starten. Ersetzen Sie die folgenden Parameter in der Payload-Datei.
-
computation-model-idmit der ID des Zielberechnungsmodells. -
asset-idmit der ID des Assets, für das das Modell trainiert wurde. -
inference-action-definition-idmit der ID derAWS/ANOMALY_DETECTION_INFERENCEAktion aus Schritt 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 -
-
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob Inference noch läuft. Das
inferenceTimerActiveFeld ist auf „TRUEWenn Inferenz aktiv“ gesetzt ist.aws iotsitewise describe-computation-model-execution-summary \ --computation-model-idcomputation-model-id\ --resolve-to-resource-type ASSET \ --resolve-to-resource-idasset-id -
Der folgende Befehl listet alle Inferenzausführungen auf:
aws iotsitewise list-executions \ --target-resource-type COMPUTATION_MODEL \ --target-resource-idcomputation-model-id\ --resolve-to-resource-type ASSET \ --resolve-to-resource-idasset-id -
Führen Sie den folgenden Befehl aus, um eine einzelne Ausführung zu beschreiben.
execution-idErsetzen Sie es durch die ID aus dem vorherigen Schritt 5.aws iotsitewise describe-execution \ --execution-idexecution-id
Beenden Sie die Inferenz
-
Führen Sie den folgenden Befehl aus, um die
AWS/ANOMALY_DETECTION_INFERENCEAktionactionDefinitionIdzu ermitteln.computation-model-idErsetzen Sie es durch die tatsächliche ID des zuvor erstellten Berechnungsmodells.aws iotsitewise describe-computation-model \ --computation-model-idcomputation-model-id -
Erstellen Sie eine Datei
anomaly-detection-stop-inference-payload.jsonund fügen Sie den folgenden Code hinzu.{ "inferenceMode": "STOP" }Anmerkung
Die Nutzlast muss den Anforderungen entsprechen. Option 1: Verwenden Sie eine saubere Payload-Datei
-
Führen Sie den folgenden Befehl aus, um die Inferenz zu beenden. Ersetzen Sie den folgenden Parameter in der Payload-Datei:
-
computation-model-idmit der ID des Zielberechnungsmodells. -
asset-idmit der ID des Assets, für das das Modell trainiert wurde. -
inference-action-definition-idmit der ID derAWS/ANOMALY_DETECTION_INFERENCEAktion aus Schritt 1.
Beispiel des Befehls Stop Inference:
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 -
Findet Berechnungsmodelle, die eine bestimmte Ressource bei der Datenbindung verwenden
Um Berechnungsmodelle aufzulisten, die an eine bestimmte Ressource gebunden sind:
-
Asset-Modell (ruft alle Berechnungsmodelle ab, an die Eigenschaften dieses Asset-Modells gebunden sind).
-
Asset (ruft alle Berechnungsmodelle ab, bei denen die Eigenschaften dieses Assets gebunden sind)
-
Eigenschaft des Asset-Modells (ruft alle Berechnungsmodelle ab, an die diese Eigenschaft gebunden ist)
-
Anlageneigenschaft (ruft alle Berechnungsmodelle ab, an die diese Eigenschaft gebunden ist). Dies kann zu Informationszwecken dienen oder erforderlich sein, wenn der Benutzer versucht, diese Eigenschaft an ein anderes Berechnungsmodell zu binden, sie aber bereits an eine andere Stelle gebunden ist)
Verwenden Sie die ListComputationModelDataBindingUsagesAPI, um eine Liste von ComputationModelId s abzurufen, die das Asset (Property) oder das Asset-Modell (Property) als Datenbindung verwenden.
Bereiten Sie eine request.json mit den folgenden Informationen vor:
{ "dataBindingValueFilter": { "asset": { "assetId": "<string>" } // OR "assetModel": { "assetModelId": "<string>" } // OR "assetProperty": { "assetId": "<string>", "propertyId": "<string>" } // OR "assetModelProperty": { "assetModelId": "<string>", "propertyId": "<string>" } }, "nextToken": "<string>", "maxResults": "<number>" }
Verwenden Sie den list-computation-model-data-binding-usages Befehl, um die Modelle mit Objekten oder Objektmodellen als Datenbindungen abzurufen.
aws iotsitewise list-computation-model-data-binding-usages \ --cli-input-json file://request.json