Aktifkan deteksi anomali pada sensor 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 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 jadwalkan inferensi untuk melakukan deteksi anomali pada aset di. AWS IoT SiteWise

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

    { "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" } } } }
  • 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> \ --resolve-to assetId=<ASSET_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> \ --resolve-to assetId=<ASSET_ID> \ --action-payload "stringValue={\"exportDataStartTime\":1717225200,\"exportDataEndTime\":1722789360,\"targetSamplingRate\":\"PT1M\"}"

Melatih AWS CLI

Dengan model komputasi yang dibuat, Anda dapat melatih model terhadap aset. Ikuti langkah-langkah di bawah ini untuk melatih model aset:

  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 secara opsionalKonfigurasi pelatihan lanjutan, untuk meningkatkan kinerja model.

      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. Ganti parameter berikut dalam perintah:

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

    2. asset-iddengan ID aset tempat Anda akan melatih modelnya.

    3. training-action-definition-iddengan ID AWS/ANOMALY_DETECTION_TRAINING tindakan dari Langkah 1.

    aws iotsitewise execute-action \ --target-resource computationModelId=computation-model-id \ --resolve-to assetId=asset-id \ --action-definition-id training-action-definition-id \ --action-payload stringValue@=file://anomaly-detection-training-payload.json
    contoh dari tindakan eksekusi:
    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
  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\ --resolve-to-resource-type ASSET \ --resolve-to-resource-id asset-id
  5. Jalankan perintah berikut untuk memeriksa konfigurasi model terlatih terbaru. Perintah ini menghasilkan output hanya jika setidaknya satu model berhasil dilatih.

    aws iotsitewise describe-computation-model-execution-summary \ --computation-model-id computation-model-id \ --resolve-to-resource-type ASSET \ --resolve-to-resource-id asset-id
  6. Saat menggunakan ComputationModel AssetModelProperty, gunakan ListComputationModelResolveToResourcesAPI untuk mengidentifikasi aset dengan tindakan yang dieksekusi.

    aws iotsitewise list-computation-model-resolve-to-resources \ --computation-model-id computation-model-id

Mulai dan hentikan inferensi ()AWS CLI

Setelah melatih model, mulailah inferensi. Ini menginstruksikan AWS IoT SiteWise untuk secara aktif 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 nilai-nilai berikut:

    catatan

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

    "inferenceMode": "START", "dataUploadFrequency": "DataUploadFrequency"
    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.

    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. asset-iddengan ID aset tempat model dilatih.

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

    aws iotsitewise execute-action \ --target-resource computationModelId=computation-model-id \ --resolve-to assetId=asset-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 \ --resolve-to-resource-type ASSET \ --resolve-to-resource-id asset-id
  5. Perintah berikut mencantumkan semua eksekusi inferensi:

    aws iotsitewise list-executions \ --target-resource-type COMPUTATION_MODEL \ --target-resource-id computation-model-id \ --resolve-to-resource-type ASSET \ --resolve-to-resource-id asset-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. asset-iddengan ID aset tempat model dilatih.

    3. 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 \ --resolve-to assetId=asset-id \ --action-definition-id inference-action-definition-id \ --action-payload stringValue@=file://anomaly-detection-stop-inference-payload.json

Temukan model komputasi yang menggunakan sumber daya tertentu dalam pengikatan data

Untuk membuat daftar model komputasi yang terikat pada sumber daya tertentu:

  • model aset (ambil semua model komputasi di mana salah satu properti model aset ini terikat).

  • aset (ambil semua model komputasi di mana salah satu properti aset ini terikat)

  • properti model aset (ambil semua model komputasi di mana properti ini terikat)

  • properti aset (ambil semua model komputasi di mana properti ini terikat. Ini bisa untuk tujuan informasi, atau diperlukan ketika pengguna mencoba mengikat properti ini ke model komputasi lain tetapi sudah terikat di tempat lain)

Gunakan ListComputationModelDataBindingUsagesAPI untuk mengambil daftar ComputationModelId s yang mengambil aset (properti) atau model aset (properti) sebagai pengikatan data.

Siapkan a request.json dengan informasi berikut:

{ "dataBindingValueFilter": { "asset": { "assetId": "<string>" } // OR "assetModel": { "assetModelId": "<string>" } // OR "assetProperty": { "assetId": "<string>", "propertyId": "<string>" } // OR "assetModelProperty": { "assetModelId": "<string>", "propertyId": "<string>" } }, "nextToken": "<string>", "maxResults": "<number>" }

Gunakan list-computation-model-data-binding-usages perintah untuk mengambil model dengan aset atau model aset sebagai binding data.

aws iotsitewise list-computation-model-data-binding-usages \ --cli-input-json file://request.json