TensorFlow Lite 런타임 - AWS IoT Greengrass

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

TensorFlow Lite 런타임

TensorFlow Lite 런타임 구성 요소(variant.TensorFlowLite)에는 디바이스의 가상 환경에 TensorFlow Lite 버전 2.5.0 및 해당 종속성을 설치하는 스크립트가 포함되어 있습니다. TensorFlow Lite 이미지 분류TensorFlow Lite 객체 감지 구성 요소는 이 런타임 구성 요소를 TensorFlow Lite 설치를 위한 종속성으로 사용합니다.

참고

TensorFlow Lite 런타임 구성 요소 v2.5.6 이상은 TensorFlow Lite 런타임 및 해당 종속성의 기존 설치를 재설치합니다. 이 재설치는 코어 디바이스에서 TensorFlow Lite의 호환 버전과 해당 종속성을 실행하는 데 도움이 됩니다.

다른 런타임을 사용하려면 이 구성 요소의 레시피를 템플릿으로 사용하여 사용자 지정 기계 학습 구성 요소를 생성하면 됩니다.

버전

이 구성 요소에는 다음과 같은 버전이 있습니다.

  • 2.5.x

유형

구성 요소는 일반 구성 요소(aws.greengrass.generic)입니다. Greengrass nucleus는 구성 요소의 수명 주기 스크립트를 실행합니다.

자세한 내용은 구성 요소 유형 단원을 참조하십시오.

운영 체제

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

  • Linux

  • Windows

요구 사항

이 구성 요소에는 다음과 같은 요구 사항이 있습니다.

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

  • Raspberry Pi와 같은 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
  • Raspberry Pi OS Bullseye를 실행하는 Raspberry Pi 디바이스는 다음과 같은 요구 사항을 충족해야 합니다.

    • 디바이스에 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를 재부팅합니다.

엔드포인트 및 포트

기본적으로 이 구성 요소에 코어 디바이스에서 사용하는 플랫폼에 따라 apt, yum, brew, pip 명령을 사용하여 패키지를 설치하는 설치 관리자 스크립트를 사용합니다. 이 구성 요소는 설치 관리자 스크립트를 실행하기 위해 다양한 패키지 인덱스 및 리포지토리에 대한 아웃바운드 요청을 수행할 수 있어야 합니다. 프록시 또는 방화벽을 통해 이 구성 요소의 아웃바운드 트래픽을 허용하려면 코어 디바이스가 설치를 위해 연결되는 패키지 인덱스 및 리포지토리의 엔드포인트를 식별해야 합니다.

이 구성 요소의 설치 스크립트에 필요한 엔드포인트를 식별하는 경우 다음 사항을 고려하세요.

  • 엔드포인트는 코어 디바이스의 플랫폼에 따라 다릅니다. 예를 들어 Ubuntu를 실행하는 코어 디바이스는 yum 또는 brew 대신 apt를 사용합니다. 또한 동일한 패키지 인덱스를 사용하는 디바이스의 소스 목록은 다를 수 있으므로 서로 다른 리포지토리에서 패키지를 검색할 수 있습니다.

  • 각 디바이스에는 패키지를 검색할 위치를 정의하는 자체 소스 목록이 있으므로 동일한 패키지 인덱스를 사용하는 여러 디바이스 간에 엔드포인트가 다를 수 있습니다.

  • 엔드포인트는 시간이 지남에 따라 변경될 수 있습니다. 각 패키지 인덱스는 패키지를 다운로드하는 리포지토리의 URL을 제공하며 패키지 소유자는 패키지 인덱스가 제공하는 URL을 변경할 수 있습니다.

이 구성 요소에서 설치하는 종속성과 설치 관리자 스크립트를 비활성화하는 방법에 대한 자세한 내용은 UseInstaller 구성 파라미터를 참조하세요.

기본 작업에 필요한 엔드포인트와 포트에 대한 자세한 내용은 프록시 또는 방화벽을 통해 디바이스 트래픽 허용 섹션을 참조하세요.

의존성

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

2.5.14 and 2.5.15

다음 표에는 이 구성 요소의 버전 2.5.14 및 2.5.15에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.13.0 소프트
2.5.13

다음 표에는 이 구성 요소의 버전 2.5.13에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.12.0 소프트
2.5.12

다음 표에는 이 구성 요소의 버전 2.5.12에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.11.0 소프트
2.5.11

다음 표에는 이 구성 요소의 버전 2.5.11에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.10.0 소프트
2.5.10

다음 표에는 이 구성 요소의 버전 2.5.10에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.9.0 소프트
2.5.9

다음 표에는 이 구성 요소의 버전 2.5.9에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.8.0 소프트
2.5.8

다음 표에는 이 구성 요소의 버전 2.5.8에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.7.0 소프트
2.5.5 - 2.5.7

다음 표에는 이 구성 요소의 버전 2.5.5~2.5.7에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.6.0 소프트
2.5.3 and 2.5.4

다음 표에는 이 구성 요소의 버전 2.5.3 및 2.5.4에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.5.0 소프트
2.5.2

다음 표에는 이 구성 요소의 버전 2.5.2에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.4.0 소프트
2.5.1

다음 표에는 이 구성 요소의 버전 2.5.1에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.3.0 소프트
2.5.0

다음 표에는 이 구성 요소의 버전 2.5.0에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.2.0 소프트

구성 요소 종속성에 대한 자세한 내용은 구성 요소 레시피 참조를 참조하세요.

구성

이 구성 요소는 구성 요소를 배포할 때 사용자 지정할 수 있는 다음 구성 파라미터를 제공합니다.

MLRootPath

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

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

WindowsMLRootPath

이 기능은 이 구성 요소의 v1.6.6 이상에 사용할 수 있습니다.

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

기본값: C:\greengrass\v2\\work\\variant.DLR\\greengrass_ml

UseInstaller

(선택 사항) 이 구성 요소의 설치 관리자 스크립트를 사용하여 TensorFlow Lite와 해당 종속성을 설치할지 여부를 정의하는 문자열 값입니다. 지원되는 값은 truefalse입니다.

TensorFlow Lite 설치에 사용자 지정 스크립트를 사용하려는 경우 또는 사전 빌드된 Linux 이미지에 런타임 종속성을 포함하려는 경우에는 이 값을 false로 설정합니다. 이 구성 요소를 AWS 제공 TensorFlow Lite 추론 구성 요소와 함께 사용하려면 모든 종속성을 포함하여 다음 라이브러리를 설치하고 ML 구성 요소를 실행하는 ggc_user와 같은 시스템 사용자가 사용할 수 있도록 설정합니다.

기본값: true

사용량

UseInstaller 구성 파라미터가 true로 설정된 이 구성 요소를 사용하여 디바이스에 TensorFlow Lite와 해당 종속성을 설치합니다. 이 구성 요소는 디바이스에 TensorFlow Lite에 필요한 OpenCV 및 NumPy 라이브러리를 포함하는 가상 환경을 설정합니다.

참고

이 구성 요소의 설치 관리자 스크립트는 디바이스에서 가상 환경을 구성하고 설치된 기계 학습 프레임워크를 사용하는 데 필요한 추가 시스템 라이브러리의 최신 버전도 설치합니다. 그러면 디바이스의 기존 시스템 라이브러리가 업그레이드될 수 있습니다. 지원되는 각 운영 체제별로 이 구성 요소가 설치하는 라이브러리의 목록은 다음 표를 참조하세요. 이 설치 프로세스를 사용자 지정하려면 UseInstaller 구성 파라미터를 false로 설정하고 자체 설치 관리자 스크립트를 개발합니다.

플랫폼 디바이스 시스템에 설치된 라이브러리 가상 환경에 설치된 라이브러리
Armv7l build-essential, cmake, ca-certificates, git setuptools, wheel
Amazon Linux 2 mesa-libGL None
Ubuntu wget None

추론 구성 요소를 배포할 때 이 런타임 구성 요소는 먼저 디바이스에 이미 TensorFlow Lite 및 해당 종속성이 설치되어 있는지 확인합니다. 그렇지 않으면 런타임 구성 요소가 이를 대신 설치합니다.

로컬 로그 파일

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

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

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

Changelog

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

버전

변경

2.5.15

Greengrass nucleus 2.12.5 릴리스용으로 업데이트된 버전입니다.

2.5.14

Greengrass nucleus 버전 2.12.0 릴리스용으로 업데이트된 버전입니다.

2.5.13

Greengrass nucleus 버전 2.11.0 릴리스용으로 업데이트된 버전입니다.

2.5.12

Greengrass nucleus 버전 2.10.0 릴리스용으로 업데이트된 버전입니다.

2.5.11

Greengrass nucleus 버전 2.9.0 릴리스용으로 업데이트된 버전입니다.

2.5.10

Greengrass nucleus 버전 2.8.0 릴리스용으로 업데이트된 버전입니다.

2.5.9

Greengrass nucleus 버전 2.7.0 릴리스용으로 업데이트된 버전입니다.

2.5.8

Greengrass nucleus 버전 2.6.0 릴리스용으로 업데이트된 버전입니다.

2.5.7

버그 수정 및 개선 사항
  • 특정 Linux 플랫폼에서 기본적으로 사용할 수 없는 libGL을 설치하도록 UseInstaller 설치 스크립트를 업데이트합니다.

  • 이 구성 요소의 가상 환경에서 Python 3.9를 항상 사용하도록 UseInstaller 설치 스크립트를 업데이트합니다. 이 변경 사항은 다른 라이브러리와의 호환성을 보장하는 데 도움이 됩니다.

2.5.6

버그 수정 및 개선 사항
  • 이 구성 요소를 업데이트하여 TensorFlow Lite 2.5.0(tflite-runtime-2.5.0.post1)의 최신 패치를 설치하면 Python 3.9에서 이 구성 요소를 사용할 수 있습니다. 이 구성 요소가 해당 패치를 설치하지 못하면 대신 tflite-runtime-2.5.0을 설치합니다.

  • 이 구성 요소를 업데이트하여 기존에 설치한 TensorFlow Lite 및 해당 종속성을 다시 설치합니다. 이 변경 사항은 코어 디바이스가 호환 버전의 TensorFlow Lite 및 해당 종속성을 실행하도록 하는 데 도움이 됩니다.

2.5.5

새로운 기능
  • Windows가 실행되는 코어 디바이스에 대한 지원을 추가합니다.

  • Windows 코어 디바이스에서 추론 결과 폴더를 구성하는 데 사용할 수 있는 새 WindowsMLRootPath 구성 파라미터를 추가합니다.

2.5.4

새로운 기능
  • 이 구성 요소에서 설치 스크립트를 비활성화할 수 있는 새 UseInstaller 구성 파라미터를 추가합니다.

2.5.3

Greengrass nucleus 버전 2.4.0 릴리스용으로 업데이트된 버전입니다.

2.5.2

Greengrass nucleus 버전 2.3.0 릴리스용으로 업데이트된 버전입니다.

2.5.1

Greengrass nucleus 버전 2.2.0 릴리스용으로 업데이트된 버전입니다.

2.5.0

초기 버전