마이크로컨트롤러용 LiteRT

머신러닝 모델을 실행하도록 설계된 마이크로컨트롤러용 LiteRT 몇 킬로바이트의 메모리만 있는 마이크로컨트롤러 및 기타 장치에 사용될 수 있습니다. 이 코어 런타임은 Arm Cortex M3에서 16KB로 적합하며 많은 기본 애플리케이션을 실행할 수 있습니다. 모델을 학습시키는 작업도 반복해야 합니다 운영체제 지원, 표준 C 또는 C++ 불필요 라이브러리 또는 동적 메모리 할당이 있습니다.

마이크로컨트롤러가 중요한 이유

마이크로컨트롤러는 일반적으로 소형 저전력 컴퓨팅 장치로서 하드웨어에 내장되어 있기 때문에 기본적인 컴퓨팅이 필요합니다. 머신을 작은 마이크로컨트롤러에 대해 배우면 수십억 개의 지능을 가지고 있는 일상 생활에서 사용하는 장치의 종류에 따라 값비싼 하드웨어나 안정적인 인터넷에 의존하지 않고 사물 기기 사용 이는 종종 대역폭 및 전력 제약의 영향을 받으며 지연 시간이 길어집니다 이렇게 하면 데이터가 수집되지 않아 기기를 벗어납니다. 일상 생활에 적응하는 스마트 가전제품을 상상해 보세요. 루틴, 지능형 산업용 센서로 아이들이 재미있게 학습하는 데 도움이 될 수 있는 신비로운 장난감과 즐거운 방법을 찾는 것입니다.

지원되는 플랫폼

마이크로컨트롤러용 LiteRT는 C++ 17로 작성되며 32비트 있습니다. 운영체제에 기반한 많은 프로세서를 통해 광범위하게 테스트되었습니다. Arm Cortex-M 시리즈 컨테이너화된 애플리케이션 아키텍처를 포함하여 ESP32 이 Arduino 라이브러리로 제공됩니다. 또한 kubectl 명령어 개발 환경(예: Mbed)을 이는 오픈소스이며 모든 C++ 17 프로젝트

다음과 같은 개발 보드가 지원됩니다.

예시 살펴보기

각 예시 애플리케이션은 GitHub 지원되는 Cloud SDK에 배포하는 방법을 설명하는 README.md 파일이 있습니다. 지원합니다 일부 예시에는 특정 API를 사용하는 엔드 투 엔드 튜토리얼이 할 수 있습니다.

워크플로

다음 단계는 TensorFlow 모델을 배포하고 마이크로컨트롤러:

  1. 모델 학습: <ph type="x-smartling-placeholder">
      </ph>
    • 대상 기기에 맞는 작은 TensorFlow 모델을 생성합니다. 에는 지원되는 작업이 포함됩니다.
    • 다음을 사용하여 LiteRT 모델로 변환합니다. LiteRT 변환기.
    • 다음을 사용하여 C 바이트 배열로 변환 표준 도구를 사용하여 읽기 전용 프로그램 메모리가 있어야 합니다.
  2. C++ 라이브러리 및 프로세스를 사용하여 기기에서 추론 실행 확인할 수 있습니다

제한사항

마이크로컨트롤러용 LiteRT는 마이크로컨트롤러 개발에 대해 알아보았습니다. 좀 더 강력한 기기 (예: 예를 들어 Raspberry Pi와 같은 내장형 Linux 기기), LiteRT 프레임워크는 통합하기 더 쉬울 수 있습니다.

다음 제한사항을 고려해야 합니다.

  • 제한된 하위 집합 TensorFlow 작업
  • 일부 기기만 지원
  • 수동 메모리 관리가 필요한 하위 수준 C++ API
  • 기기 내 학습은 지원되지 않습니다.

다음 단계