Aktifkan deteksi anomali pada sensor di seluruh aset - AWS IoT SiteWise

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Aktifkan deteksi anomali pada sensor di seluruh aset

Buat model komputasi ()AWS CLI

Untuk membuat model komputasi, gunakan AWS Command Line Interface ()AWS CLI. Setelah Anda menentukan model komputasi, latih model dan jadwal inferensi untuk melakukan deteksi anomali di seluruh aset di. AWS IoT SiteWise

Langkah-langkah berikut menjelaskan proses ini:

  1. Untuk mengatur deteksi anomali, gunakan UpdateAssetModel (AWS CLI), dan penuhi persyaratan berikut:

    1. Setidaknya satu properti input yang merupakan salah satu DOUBLE atau tipe INTEGER data. Ini adalah properti pengukuran atau transformasi, dan digunakan untuk melatih model.

    2. Properti hasil dari tipe STRING data. Ini harus menjadi properti pengukuran, dan menyimpan hasil deteksi anomali.

  2. Buat file anomaly-detection-computation-model-payload.json dengan konten berikut:

    catatan

    Buat model komputasi dengan langsung menyediakan assetProperty sebagai sumber data.

    { "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" } } } }
  3. Jalankan perintah berikut untuk membuat model komputasi:

    aws iotsitewise create-computation-model \ --cli-input-json file://anomaly-detection-computation-model-payload.json

ExecuteAction Persiapan muatan API

Langkah selanjutnya untuk mengeksekusi pelatihan dan inferensi dilakukan dengan ExecuteActionAPI. Baik pelatihan dan inferensi dikonfigurasi dengan konfigurasi muatan tindakan JSON. Saat menjalankan ExecuteActionAPI, muatan tindakan harus diberikan sebagai nilai dengan stringValue muatan.

Muatan harus benar-benar mematuhi persyaratan API. Secara khusus, nilainya harus berupa string datar tanpa karakter kontrol (misalnya, baris baru, tab, atau pengembalian carriage). Opsi berikut menyediakan dua cara andal untuk memasok muatan tindakan yang valid.

Opsi 1: Gunakan file payload bersih

Prosedur berikut menjelaskan langkah-langkah untuk file payload bersih:

  1. Bersihkan file untuk menghapus karakter kontrol.

    tr -d '\n\r\t' < original-action-payload.json > training-or-inference-action-payload.json
  2. Jalankan tindakan dengan 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

Opsi 2: String sebaris dengan tanda kutip lolos

Langkah-langkah berikut menjelaskan langkah-langkah untuk memasok payload inline, dan menghindari file perantara:

  • Gunakan tanda kutip ganda yang lolos (\") di dalam string JSON.

  • Bungkus seluruh StringValue=.. ekspresi dalam tanda kutip ganda.

contoh dari muatan tindakan yang lolos:
aws iotsitewise execute-action \ --target-resource computationModelId=<MODEL_ID> \ --action-definition-id <ACTION_DEFINITION_ID> \ --action-payload "stringValue={\"exportDataStartTime\":1717225200,\"exportDataEndTime\":1722789360,\"targetSamplingRate\":\"PT1M\"}"

Melatih AWS CLI

  1. Jalankan perintah berikut untuk menemukan AWS/ANOMALY_DETECTION_TRAINING tindakan. actionDefinitionId Ganti computation-model-id dengan ID yang dikembalikan pada langkah sebelumnya.

    aws iotsitewise describe-computation-model \ --computation-model-id computation-model-id
  2. Buat file bernama anomaly-detection-training-payload.json dan tambahkan nilai-nilai berikut:

    catatan

    Muatan harus sesuai dengan. Opsi 1: Gunakan file payload bersih

    1. StartTimedengan dimulainya data pelatihan, disediakan dalam hitungan detik.

    2. EndTimedengan berakhirnya data pelatihan, disediakan dalam hitungan detik.

    3. Anda dapat mengonfigurasi Konfigurasi inferensi lanjutan secara opsional.

      1. (Opsional) TargetSamplingRate dengan laju pengambilan sampel data.

      2. (Opsional) LabelInputConfiguration untuk menentukan periode waktu ketika perilaku anomali terjadi untuk pelatihan model yang ditingkatkan.

      3. (Opsional) ModelEvaluationConfiguration untuk mengevaluasi kinerja model dengan menjalankan inferensi pada rentang waktu tertentu setelah pelatihan selesai.

    { "exportDataStartTime": StartTime, "exportDataEndTime": EndTime }
    contoh dari contoh muatan pelatihan:
    { "exportDataStartTime": 1717225200, "exportDataEndTime": 1722789360 }
  3. Jalankan perintah berikut untuk memulai pelatihan (tanpa menyediakan aset sebagai sumber daya target). Ganti parameter berikut dalam perintah:

    aws iotsitewise execute-action \ --target-resource computationModelId=computation-model-id \ --action-definition-id training-action-definition-id \ --action-payload stringValue@=file://anomaly-detection-training-payload.json
  4. Jalankan perintah berikut untuk memeriksa status proses pelatihan model. Ringkasan eksekusi terbaru menunjukkan status eksekusi (RUNNING/COMPLETED/FAILED).

    aws iotsitewise list-executions \ --target-resource-type COMPUTATION_MODEL \ --target-resource-id computation-model-id
  5. Jalankan perintah berikut untuk memeriksa konfigurasi model terlatih terbaru. Perintah ini menghasilkan output hanya jika setidaknya satu model telah menyelesaikan pelatihan dengan sukses.

    aws iotsitewise describe-computation-model-execution-summary \ --computation-model-id computation-model-id

Mulai dan hentikan inferensi ()AWS CLI

Setelah melatih model, mulailah inferensi, yang menginstruksikan AWS IoT SiteWise untuk mulai memantau aset industri Anda untuk anomali.

Mulai inferensi

  1. Jalankan perintah berikut untuk menemukan AWS/ANOMALY_DETECTION_INFERENCE tindakan. actionDefinitionId Ganti computation-model-id dengan ID sebenarnya dari model komputasi yang dibuat sebelumnya.

    aws iotsitewise describe-computation-model \ --computation-model-id computation-model-id
  2. Buat file anomaly-detection-start-inference-payload.json dan tambahkan kode berikut. Ganti parameter berikut seperti yang dijelaskan:

    catatan

    Muatan harus sesuai dengan. Opsi 1: Gunakan file payload bersih

    1. DataUploadFrequency: Konfigurasikan frekuensi di mana jadwal inferensi berjalan untuk melakukan deteksi anomali. Nilai yang diizinkan adalah:PT5M, PT10M, PT15M, PT30M, PT1H, PT2H..PT12H, PT1D.

      "inferenceMode": "START", "dataUploadFrequency": "DataUploadFrequency"
    2. (Opsional) DataDelayOffsetInMinutes dengan offset penundaan dalam hitungan menit. Tetapkan nilai ini antara 0 dan 60 menit.

    3. (Opsional) TargetModelVersion dengan versi model untuk mengaktifkan.

    4. (Opsional) Konfigurasikan weeklyOperatingWindow dengan konfigurasi shift.

    5. Anda dapat mengonfigurasi Konfigurasi inferensi lanjutan secara opsional.

      1. Inferensi frekuensi tinggi (5 menit - 1 jam).

      2. Inferensi frekuensi rendah (2 jam — 1 hari).

      3. Penjadwalan yang fleksibel.

  3. Jalankan perintah berikut untuk memulai inferensi. Ganti parameter berikut dalam file payload.

    1. computation-model-iddengan ID model komputasi target.

    2. inference-action-definition-iddengan ID AWS/ANOMALY_DETECTION_INFERENCE tindakan dari Langkah 1.

    aws iotsitewise execute-action \ --target-resource computationModelId=computation-model-id \ --action-definition-id inference-action-definition-id \ --action-payload stringValue@=file://anomaly-detection-inference-payload.json
  4. Jalankan perintah berikut untuk memeriksa apakah inferensi masih berjalan. inferenceTimerActiveBidang diatur ke TRUE saat inferensi aktif.

    aws iotsitewise describe-computation-model-execution-summary \ --computation-model-id computation-model-id
  5. Perintah berikut mencantumkan semua eksekusi inferensi:

    aws iotsitewise list-executions \ --target-resource-type COMPUTATION_MODEL \ --target-resource-id computation-model-id
  6. Jalankan perintah berikut untuk menggambarkan eksekusi individu. Ganti execution-id dengan id dari Langkah 5 sebelumnya.

    aws iotsitewise describe-execution \ --execution-id execution-id

Hentikan inferensi

  1. Jalankan perintah berikut untuk menemukan AWS/ANOMALY_DETECTION_INFERENCE tindakan. actionDefinitionId Ganti computation-model-id dengan ID sebenarnya dari model komputasi yang dibuat sebelumnya.

    aws iotsitewise describe-computation-model \ --computation-model-id computation-model-id
  2. Buat file anomaly-detection-stop-inference-payload.json dan tambahkan kode berikut.

    { "inferenceMode": "STOP" }
    catatan

    Muatan harus sesuai dengan. Opsi 1: Gunakan file payload bersih

  3. Jalankan perintah berikut untuk menghentikan inferensi. Ganti parameter berikut dalam file payload:

    1. computation-model-iddengan ID model komputasi target.

    2. inference-action-definition-iddengan ID AWS/ANOMALY_DETECTION_INFERENCE tindakan dari Langkah 1.

    contoh dari perintah stop inferensi:
    aws iotsitewise execute-action \ --target-resource computationModelId=computation-model-id \ --action-definition-id inference-action-definition-id \ --action-payload stringValue@=file://anomaly-detection-stop-inference-payload.json