DLR 이미지 분류 - AWS IoT Greengrass

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

DLR 이미지 분류

DLR 이미지 분류 구성 요소 (aws.greengrass.DLRImageClassification) 에는 딥러닝 런타임 및 resnet-50 모델을 사용하여 이미지 분류 추론을 수행하기 위한 샘플 추론 코드가 포함되어 있습니다. 이 구성 요소는 DLR 이미지 분류 모델 스토어 변형과 구성 요소를 종속성으로 사용하여 DLR 런타임 DLR 및 샘플 모델을 다운로드합니다.

이 추론 구성 요소를 사용자 지정 학습된 DLR 모델과 함께 사용하려면 종속 모델 저장소 구성 요소의 사용자 지정 버전을 만드십시오. 사용자 지정 추론 코드를 사용하려면 이 구성 요소의 레시피를 템플릿으로 사용하여 사용자 지정 추론 구성 요소를 만들 수 있습니다.

버전

이 구성 요소의 버전은 다음과 같습니다.

  • 2.1.x

  • 2.0.x

유형

구성 요소는 일반 구성 요소 () aws.greengrass.generic 입니다. Greengrass 핵은 구성 요소의 라이프사이클 스크립트를 실행합니다.

자세한 정보는 구성 요소 유형을 참조하세요.

운영 체제

이 구성 요소는 다음 운영 체제를 실행하는 코어 디바이스에 설치할 수 있습니다.

  • Linux

  • Windows

요구 사항

이 구성 요소의 요구 사항은 다음과 같습니다.

  • Amazon Linux 2 또는 우분투 18.04를 실행하는 Greengrass 코어 디바이스의 경우 GNU C 라이브러리 (glibc) 버전 2.27 이상이 디바이스에 설치되어 있습니다.

  • 라즈베리 파이와 같은 ARMv7L 디바이스에서는 OpenCV-Python에 대한 종속성이 디바이스에 설치되어 있습니다. 다음 명령을 실행하여 종속 항목을 설치합니다.

    sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  • 라즈베리파이 OS 불스아이를 실행하는 라즈베리파이 디바이스는 다음 요구사항을 충족해야 합니다.

    • NumPy 1.22.4 이상이 디바이스에 설치되었습니다. Raspberry Pi OS Bullseye에는 이전 버전이 포함되어 있으므로 다음 명령을 실행하여 디바이스에서 업그레이드할 수 있습니다. NumPy NumPy

      pip3 install --upgrade numpy
    • 기기에서 레거시 카메라 스택이 활성화되었습니다. Raspberry Pi OS Bullseye에는 기본적으로 활성화되고 호환되지 않는 새로운 카메라 스택이 포함되어 있으므로 레거시 카메라 스택을 활성화해야 합니다.

      레거시 카메라 스택을 활성화하려면
      1. 다음 명령을 실행하여 Raspberry Pi 구성 도구를 엽니다.

        sudo raspi-config
      2. 인터페이스 옵션을 선택합니다.

      3. 레거시 카메라를 선택하여 레거시 카메라 스택을 활성화합니다.

      4. Raspberry Pi를 재부팅합니다.

의존성

구성 요소를 배포하면 해당 종속 항목의 호환 AWS IoT Greengrass 버전도 배포됩니다. 즉, 구성 요소를 성공적으로 배포하려면 구성 요소 및 해당 종속성에 대한 요구 사항을 모두 충족해야 합니다. 이 섹션에는 이 구성 요소의 릴리스된 버전에 대한 종속성과 각 종속성에 대한 구성 요소 버전을 정의하는 시맨틱 버전 제약 조건이 나열되어 있습니다. 콘솔에서 구성 요소의 각 버전에 대한 종속성을 볼 수도 있습니다.AWS IoT Greengrass 구성 요소 세부 정보 페이지에서 종속성 목록을 찾아보십시오.

2.1.13 and 2.1.14

다음 표에는 이 구성 요소의 버전 2.1.13 및 2.1.14에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.13.0 소프트
DLR 이미지 분류 모델 스토어 ~2.1.0 하드
DLR ~1.6.0 하드
2.1.12

다음 표에는 이 구성 요소의 버전 2.1.12에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.12.0 소프트
DLR 이미지 분류 모델 스토어 ~2.1.0 하드
DLR ~1.6.0 하드
2.1.11

다음 표에는 이 구성 요소의 버전 2.1.11에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.11.0 소프트
DLR 이미지 분류 모델 스토어 ~2.1.0 하드
DLR ~1.6.0 하드
2.1.10

다음 표에는 이 구성 요소의 버전 2.1.10에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.10.0 소프트
DLR 이미지 분류 모델 스토어 ~2.1.0 하드
DLR ~1.6.0 하드
2.1.9

다음 표에는 이 구성 요소의 버전 2.1.9에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.9.0 소프트
DLR 이미지 분류 모델 스토어 ~2.1.0 하드
DLR ~1.6.0 하드
2.1.8

다음 표에는 이 구성 요소의 버전 2.1.8에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.8.0 소프트
DLR 이미지 분류 모델 스토어 ~2.1.0 하드
DLR ~1.6.0 하드
2.1.7

다음 표에는 이 구성 요소의 버전 2.1.7에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.7.0 소프트
DLR 이미지 분류 모델 스토어 ~2.1.0 하드
DLR ~1.6.0 하드
2.1.6

다음 표에는 이 구성 요소의 버전 2.1.6에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.6.0 소프트
DLR 이미지 분류 모델 스토어 ~2.1.0 하드
DLR ~1.6.0 하드
2.1.4 - 2.1.5

다음 표에는 이 구성 요소의 버전 2.1.4 ~ 2.1.5에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.5.0 소프트
DLR 이미지 분류 모델 스토어 ~2.1.0 하드
DLR ~1.6.0 하드
2.1.3

다음 표에는 이 구성 요소의 버전 2.1.3에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.4.0 소프트
DLR 이미지 분류 모델 스토어 ~2.1.0 하드
DLR ~1.6.0 하드
2.1.2

다음 표에는 이 구성 요소의 버전 2.1.2에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.3.0 소프트
DLR 이미지 분류 모델 스토어 ~2.1.0 하드
DLR ~1.6.0 하드
2.1.1

다음 표에는 이 구성 요소의 버전 2.1.1에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.2.0 소프트
DLR 이미지 분류 모델 스토어 ~2.1.0 하드
DLR ~1.6.0 하드
2.0.x

다음 표에는 이 구성 요소의 버전 2.0.x에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 ~2.0.0 소프트
DLR 이미지 분류 모델 스토어 ~2.0.0 하드
DLR ~1.3.0 소프트

구성

이 구성 요소는 구성 요소를 배포할 때 사용자 지정할 수 있는 다음과 같은 구성 매개 변수를 제공합니다.

2.1.x
accessControl

(선택 사항) 구성 요소가 기본 알림 주제에 메시지를 게시할 수 있도록 하는 권한 부여 정책이 포함된 객체입니다.

기본값:

{ "aws.greengrass.ipc.mqttproxy": { "aws.greengrass.DLRImageClassification:mqttproxy:1": { "policyDescription": "Allows access to publish via topic ml/dlr/image-classification.", "operations": [ "aws.greengrass#PublishToIoTCore" ], "resources": [ "ml/dlr/image-classification" ] } } }
PublishResultsOnTopic

(선택 사항) 추론 결과를 게시하려는 주제입니다. 이 값을 수정하는 경우 accessControl 매개 변수의 값도 사용자 지정 주제 이름과 일치하도록 수정해야 합니다. resources

기본값: ml/dlr/image-classification

Accelerator

사용하려는 액셀러레이터. 지원되는 값은 cpugpu입니다.

종속 모델 구성 요소의 샘플 모델은 CPU 가속만 지원합니다. 다른 사용자 지정 모델에서 GPU 가속을 사용하려면 사용자 지정 모델 구성 요소를 만들어 공개 모델 구성 요소를 재정의하십시오.

기본값: cpu

ImageDirectory

(선택 사항) 추론 구성 요소가 이미지를 읽는 기기의 폴더 경로입니다. 읽기/쓰기 권한이 있는 장치의 모든 위치로 이 값을 수정할 수 있습니다.

기본값: /greengrass/v2/packages/artifacts-unarchived/component-name/image_classification/sample_images/

참고

값을 UseCamera ~로 true 설정하면 이 구성 매개변수는 무시됩니다.

ImageName

(선택 사항) 추론 구성 요소가 메이크 예측의 입력으로 사용하는 이미지의 이름. 구성요소는 에 지정된 폴더에서 이미지를 찾습니다. ImageDirectory 기본적으로 구성 요소는 기본 이미지 디렉터리의 샘플 이미지를 사용합니다. AWS IoT Greengrass jpeg, jpgpng, 및 같은 이미지 형식을 지원합니다npy.

기본값: cat.jpeg

참고

값을 UseCamera 로 설정하는 true 경우 이 구성 매개변수는 무시됩니다.

InferenceInterval

(선택 사항) 추론 코드로 예측한 각 예측 사이의 시간 (초). 샘플 추론 코드는 무한정 실행되며 지정된 시간 간격으로 예측을 반복합니다. 예를 들어 카메라로 촬영한 이미지를 실시간 예측에 사용하려는 경우 이 간격을 더 짧게 변경할 수 있습니다.

기본값: 3600

ModelResourceKey

(선택 사항) 종속 공개 모델 구성 요소에 사용되는 모델. 공개 모델 구성 요소를 사용자 지정 구성 요소로 재정의하는 경우에만 이 매개 변수를 수정하십시오.

기본값:

{ "armv7l": "DLR-resnet50-armv7l-cpu-ImageClassification", "aarch64": "DLR-resnet50-aarch64-cpu-ImageClassification", "x86_64": "DLR-resnet50-x86_64-cpu-ImageClassification", "windows": "DLR-resnet50-win-cpu-ImageClassification" }
UseCamera

(선택 사항) Greengrass 코어 장치에 연결된 카메라의 이미지를 사용할지 여부를 정의하는 문자열 값입니다. 지원되는 값은 truefalse입니다.

이 값을 로 true 설정하면 샘플 추론 코드가 기기의 카메라에 액세스하여 캡처한 이미지에 대해 로컬에서 추론을 실행합니다. ImageNameImageDirectory 매개변수의 값은 무시됩니다. 이 구성 요소를 실행하는 사용자에게 카메라가 캡처한 이미지를 저장하는 위치에 대한 읽기/쓰기 권한이 있는지 확인하십시오.

기본값: false

참고

이 구성 요소의 레시피를 보면 구성 매개변수가 기본 UseCamera 구성에 표시되지 않습니다. 하지만 구성 요소를 배포할 때 구성 병합 업데이트에서 이 매개 변수의 값을 수정할 수 있습니다.

UseCameratrue 설정하면 런타임 구성 요소가 만든 가상 환경에서 추론 구성 요소가 카메라에 액세스할 수 있도록 심볼릭 링크도 만들어야 합니다. 샘플 추론 컴포넌트와 함께 카메라를 사용하는 방법에 대한 자세한 내용은 을 참조하십시오. 구성 요소 구성 업데이트

2.0.x
MLRootPath

(선택 사항) 추론 구성 요소가 이미지를 읽고 추론 결과를 쓰는 Linux 코어 디바이스의 폴더 경로입니다. 이 값을 이 구성 요소를 실행하는 사용자에게 읽기/쓰기 액세스 권한이 있는 장치의 모든 위치로 수정할 수 있습니다.

기본값: /greengrass/v2/work/variant.DLR/greengrass_ml

기본값: /greengrass/v2/work/variant.TensorFlowLite/greengrass_ml

Accelerator

사용하려는 액셀러레이터. 지원되는 값은 cpugpu입니다.

종속 모델 구성 요소의 샘플 모델은 CPU 가속만 지원합니다. 다른 사용자 지정 모델에서 GPU 가속을 사용하려면 사용자 지정 모델 구성 요소를 만들어 공개 모델 구성 요소를 재정의하십시오.

기본값: cpu

ImageName

(선택 사항) 추론 구성요소가 예측의 입력으로 사용하는 이미지의 이름. 구성요소는 에 지정된 폴더에서 이미지를 찾습니다. ImageDirectory 기본 위치는 입니다MLRootPath/images. AWS IoT Greengrass jpeg, jpgpng, 및 같은 이미지 형식을 지원합니다npy.

기본값: cat.jpeg

InferenceInterval

(선택 사항) 추론 코드로 예측한 각 예측 사이의 시간 (초). 샘플 추론 코드는 무한정 실행되며 지정된 시간 간격으로 예측을 반복합니다. 예를 들어 카메라로 촬영한 이미지를 실시간 예측에 사용하려는 경우 이 간격을 더 짧게 변경할 수 있습니다.

기본값: 3600

ModelResourceKey

(선택 사항) 종속 공개 모델 구성 요소에 사용되는 모델. 공개 모델 구성 요소를 사용자 지정 구성 요소로 재정의하는 경우에만 이 매개 변수를 수정하십시오.

기본값:

armv7l: "DLR-resnet50-armv7l-cpu-ImageClassification" x86_64: "DLR-resnet50-x86_64-cpu-ImageClassification"

로컬 로그 파일

이 구성 요소는 다음 로그 파일을 사용합니다.

Linux
/greengrass/v2/logs/aws.greengrass.DLRImageClassification.log
Windows
C:\greengrass\v2\logs\aws.greengrass.DLRImageClassification.log
이 구성 요소의 로그를 보려면
  • 코어 기기에서 다음 명령을 실행하여 이 구성 요소의 로그 파일을 실시간으로 확인합니다. /greengrass/v2또는 C:\greengrass\v2 를 AWS IoT Greengrass 루트 폴더 경로로 바꿉니다.

    Linux
    sudo tail -f /greengrass/v2/logs/aws.greengrass.DLRImageClassification.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\aws.greengrass.DLRImageClassification.log -Tail 10 -Wait

Changelog

다음 표에는 각 구성 요소 버전의 변경 사항이 설명되어 있습니다.

버전

변경

2.1.14

그린그래스 뉴클리어스 2.12.5 릴리스를 위해 버전이 업데이트되었습니다.

2.1.13

그린그래스 뉴클리어스 버전 2.12.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.12

그린그래스 뉴클리어스 버전 2.11.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.11

그린그래스 뉴클리어스 버전 2.10.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.10

Greengrass 뉴클리어스 버전 2.9.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.9

Greengrass 뉴클리어스 버전 2.8.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.8

Greengrass 뉴클리어스 버전 2.7.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.7

Greengrass 뉴클리어스 버전 2.6.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.6

Greengrass 뉴클리어스 버전 2.5.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.5

구성 요소가 모두 출시되었습니다. AWS 리전

2.1.4

그린그래스 뉴클리어스 버전 2.4.0 릴리스를 위해 버전이 업데이트되었습니다.

이 버전은 유럽 (런던) 에서 사용할 수 없습니다 (). eu-west-2

2.1.3

그린그래스 뉴클리어스 버전 2.3.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.2

Greengrass 뉴클리어스 버전 2.2.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.1

새로운 기능
  • 딥러닝 런타임 v1.6.0을 사용하십시오.

  • Armv8 (AArch64) 플랫폼에서 샘플 이미지 분류에 대한 지원을 추가합니다. 이는 젯슨 나노와 같은 NVIDIA Jetson을 실행하는 Greengrass 코어 디바이스에 대한 머신 러닝 지원을 확대합니다.

  • 샘플 추론을 위한 카메라 통합을 활성화하십시오. 새 UseCamera 구성 매개변수를 사용하여 샘플 추론 코드를 활성화하여 Greengrass 코어 장치의 카메라에 액세스하고 캡처한 이미지에서 로컬로 추론을 실행할 수 있습니다.

  • 추론 결과를 게시하기 위한 지원을 에 추가합니다. AWS 클라우드새 PublishResultsOnTopic 구성 매개 변수를 사용하여 결과를 게시하려는 주제를 지정합니다.

  • 추론을 수행하려는 이미지의 사용자 지정 디렉터리를 지정할 수 있는 새 ImageDirectory 구성 매개 변수를 추가합니다.

버그 수정 및 개선
  • 별도의 추론 파일 대신 구성 요소 로그 파일에 추론 결과를 기록합니다.

  • AWS IoT Greengrass Core 소프트웨어 로깅 모듈을 사용하여 구성 요소 출력을 기록합니다.

  • AWS IoT Device SDK 를 사용하여 구성 요소 구성을 읽고 구성 변경 내용을 적용합니다.

2.0.4

초기 버전