자산의 센서에서 이상 탐지 활성화 - AWS IoT SiteWise

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

자산의 센서에서 이상 탐지 활성화

계산 모델 생성(AWS CLI)

계산 모델을 생성하려면 AWS 명령줄 인터페이스(AWS CLI)를 사용합니다. 계산 모델을 정의한 후 모델을 훈련하고 내 자산에 대한 이상 탐지를 수행하도록 추론을 예약합니다 AWS IoT SiteWise.

  • 다음 콘텐츠anomaly-detection-computation-model-payload.json가 포함된 파일을 생성합니다.

    { "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" } } } }
  • 다음 명령을 실행하여 계산 모델을 생성합니다.

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

ExecuteAction API 페이로드 준비

훈련 및 추론을 실행하는 다음 단계는 ExecuteAction API를 사용하여 수행됩니다. 훈련과 추론 모두 JSON 작업 페이로드 구성으로 구성됩니다. ExecuteAction API를 호출할 때 작업 페이로드를 stringValue페이로드와 함께 값으로 제공해야 합니다.

페이로드는 API 요구 사항을 엄격하게 준수해야 합니다. 특히 값은 제어 문자(예: 줄 바꿈, 탭 또는 캐리지 리턴)가 없는 플랫 문자열이어야 합니다.

다음 옵션은 유효한 작업 페이로드를 제공하는 두 가지 신뢰할 수 있는 방법을 제공합니다.

옵션 1: 클린 페이로드 파일 사용

다음 절차에서는 클린 페이로드 파일의 단계를 설명합니다.

  1. 파일을 정리하여 제어 문자를 제거합니다.

    tr -d '\n\r\t' < original-action-payload.json > training-or-inference-action-payload.json
  2. 파일을 사용하여 작업을 실행합니다@=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

옵션 2: 이스케이프된 따옴표가 있는 인라인 문자열

다음 단계에서는 페이로드를 인라인으로 제공하고 중간 파일을 피하는 단계를 설명합니다.

  • JSON 문자열 내에 이스케이프 처리된 큰따옴표(\")를 사용합니다.

  • 전체 StringValue=.. 표현식을 큰따옴표로 묶습니다.

예 이스케이프된 작업 페이로드의
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\"}"

훈련 AWS CLI

컴퓨팅 모델을 생성하면 자산에 대해 모델을 훈련할 수 있습니다. 아래 단계에 따라 자산에 대한 모델을 훈련합니다.

  1. 다음 명령을 실행하여 AWS/ANOMALY_DETECTION_TRAINING 작업의 actionDefinitionId를 찾습니다. 를 이전 단계에서 반환된 IDcomputation-model-id로 바꿉니다.

    aws iotsitewise describe-computation-model \ --computation-model-id computation-model-id
  2. 라는 파일을 생성하고 다음 값을 anomaly-detection-training-payload.json 추가합니다.

    참고

    페이로드는를 준수해야 합니다옵션 1: 클린 페이로드 파일 사용.

    1. StartTime 에포크 초 단위로 제공되는 훈련 데이터의 시작과 함께 제공됩니다.

    2. EndTime 에포크 초 단위로 제공되는 훈련 데이터가 끝납니다.

    3. 선택적으로를 구성고급 훈련 구성하여 모델 성능을 개선할 수 있습니다.

      1. (선택 사항) 및 데이터의 TargetSamplingRate 샘플링 속도.

      2. (선택 사항) 모델 훈련 개선을 위해 비정상적인 동작이 발생한 기간을 LabelInputConfiguration 지정합니다.

      3. (선택 사항) 훈련ModelEvaluationConfiguration이 완료된 후 지정된 시간 범위에서 추론을 실행하여 모델 성능을 평가합니다.

    { "exportDataStartTime": StartTime, "exportDataEndTime": EndTime }
    예 훈련 페이로드의 예:
    { "exportDataStartTime": 1717225200, "exportDataEndTime": 1722789360 }
  3. 다음 명령을 실행하여 훈련을 시작합니다. 명령에서 다음 파라미터를 교체합니다.

    1. computation-model-id를 대상 계산 모델의 ID로 바꿉니다.

    2. asset-id는 모델을 훈련할 자산의 ID입니다.

    3. training-action-definition-id를 1단계의 AWS/ANOMALY_DETECTION_TRAINING 작업 ID로 바꿉니다.

    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
    예 실행 작업의 :
    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. 다음 명령을 실행하여 모델 훈련 프로세스의 상태를 확인합니다. 최신 실행 요약에는 실행 상태(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. 다음 명령을 실행하여 훈련된 최신 모델의 구성을 확인합니다. 이 명령은 하나 이상의 모델이 성공적으로 훈련된 경우에만 출력을 생성합니다.

    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. ComputationModel가 AssetModelProperty를 사용하는 경우 ListComputationModelResolveToResources API를 사용하여 실행된 작업이 있는 자산을 식별합니다.

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

추론 시작 및 중지(AWS CLI)

모델을 훈련한 후 추론을 시작합니다. 이는가 산업 자산에 이상이 있는지 적극적으로 모니터링 AWS IoT SiteWise 하도록 지시합니다.

추론 시작

  1. 다음 명령을 실행하여 AWS/ANOMALY_DETECTION_INFERENCE 작업의 actionDefinitionId를 찾습니다. 를 이전에 생성한 계산 모델의 실제 IDcomputation-model-id로 바꿉니다.

    aws iotsitewise describe-computation-model \ --computation-model-id computation-model-id
  2. 파일을 생성하고 다음 값을 anomaly-detection-start-inference-payload.json 추가합니다.

    참고

    페이로드는를 준수해야 합니다옵션 1: 클린 페이로드 파일 사용.

    "inferenceMode": "START", "dataUploadFrequency": "DataUploadFrequency"
    1. DataUploadFrequency: 이상 탐지를 수행하기 위해 추론 일정이 실행되는 빈도를 구성합니다. 허용되는 값은 PT5M, PT10M, PT15M, PT30M, PT1H, PT2H..PT12H, PT1D입니다.

    2. (선택 사항) 지연 오프셋을 분 단위로 DataDelayOffsetInMinutes 표시합니다. 이 값을 0~60분으로 설정합니다.

    3. (선택 사항)를 활성화할 모델 버전과 TargetModelVersion 함께 사용합니다.

    4. (선택 사항) 교대 근무 구성weeklyOperatingWindow으로를 구성합니다.

    5. 선택적으로를 구성할 수 있습니다고급 추론 구성.

      1. 고주파 추론(5분~1시간).

      2. 낮은 빈도의 추론(2시간~1일).

      3. 유연한 예약.

  3. 다음 명령을 실행하여 추론을 시작합니다. 페이로드 파일에서 다음 파라미터를 바꿉니다.

    1. computation-model-id를 대상 계산 모델의 ID로 바꿉니다.

    2. asset-id 모델이 훈련된 자산의 ID를 사용합니다.

    3. inference-action-definition-id를 1단계의 AWS/ANOMALY_DETECTION_INFERENCE 작업 ID로 바꿉니다.

    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. 다음 명령을 실행하여 추론이 아직 실행 중인지 확인합니다. 추론이 활성화TRUE되면 inferenceTimerActive 필드가 로 설정됩니다.

    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. 다음 명령은 모든 추론 실행을 나열합니다.

    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. 다음 명령을 실행하여 개별 실행을 설명합니다. 를 이전 5단계의 IDexecution-id로 바꿉니다.

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

추론 중지

  1. 다음 명령을 실행하여 AWS/ANOMALY_DETECTION_INFERENCE 작업의 actionDefinitionId를 찾습니다. 를 이전에 생성한 계산 모델의 실제 IDcomputation-model-id로 바꿉니다.

    aws iotsitewise describe-computation-model \ --computation-model-id computation-model-id
  2. 파일을 생성하고 다음 코드를 anomaly-detection-stop-inference-payload.json 추가합니다.

    { "inferenceMode": "STOP" }
    참고

    페이로드는를 준수해야 합니다옵션 1: 클린 페이로드 파일 사용.

  3. 다음 명령을 실행하여 추론을 중지합니다. 페이로드 파일에서 다음 파라미터를 바꿉니다.

    1. computation-model-id를 대상 계산 모델의 ID로 바꿉니다.

    2. asset-id 모델이 훈련된 자산의 ID를 사용합니다.

    3. inference-action-definition-id를 1단계의 AWS/ANOMALY_DETECTION_INFERENCE 작업 ID로 바꿉니다.

    예 추론 중지 명령의 :
    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

데이터 바인딩에서 지정된 리소스를 사용하는 계산 모델 찾기

지정된 리소스에 바인딩된 계산 모델을 나열하려면:

  • 자산 모델(이 자산 모델의 속성이 바인딩된 모든 계산 모델 가져오기).

  • asset(이 자산의 속성이 바인딩되는 모든 계산 모델 가져오기)

  • 자산 모델 속성(이 속성이 바인딩된 모든 계산 모델 가져오기)

  • asset property(이 속성이 바인딩된 모든 계산 모델을 가져옵니다. 이는 정보 제공용일 수도 있고, 사용자가이 속성을 다른 계산 모델에 바인딩하려고 하지만 이미 다른 곳에 바인딩되어 있는 경우에 필요할 수도 있습니다.)

ListComputationModelDataBindingUsages API를 사용하여 자산(속성) 또는 자산 모델(속성)을 데이터 바인딩으로 ComputationModelId사용하는 목록을 가져옵니다.

다음 정보를 request.json 사용하여를 준비합니다.

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

list-computation-model-data-binding-usages 명령을 사용하여 자산 또는 자산 모델이 데이터 바인딩인 모델을 검색합니다.

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