LiteRT do mikrokontrolerów

LiteRT dla mikrokontrolerów służy do uruchamiania modeli systemów uczących się na mikrokontrolerach i innych urządzeniach, które mają zaledwie kilka kilobajtów pamięci. podstawowe środowisko wykonawcze mieści się w porcie Arm Cortex M3 o wielkości 16 KB i może działać modeli ML. Nie wymaga obsługi systemu operacyjnego ani standardowych języków C lub C++ biblioteki i dynamiczną alokację pamięci.

Dlaczego mikrokontrolery są ważne

Mikrokontrolery to zwykle małe urządzenia o małej mocy obliczeniowej, w sprzęcie, który wymaga podstawowych obliczeń. Przy użyciu komputera przy użyciu maleńkich mikrokontrolerów, możemy zwiększyć inteligencję miliardów używanych przez nas w życiu codziennym, np. sprzętu AGD czy internetu Urządzenia – bez drogiego sprzętu i niezawodnego internetu. które często podlegają ograniczeniom przepustowości i mocy, wiąże się z dużym czasem oczekiwania. Może to też pomóc chronić prywatność, ponieważ żadne dane opuszcza urządzenie. Wyobraź sobie inteligentne urządzenia, które mogą dostosować się do codziennych rutynowych, inteligentnych czujników przemysłowych, które rozumieją różnicę między problemy i normalne działanie, a także magiczne zabawki, które pomogą dzieciom w nauce przez zabawę. i ciekawe sposoby.

Obsługiwane platformy

LiteRT dla mikrokontrolerów jest napisane w C++ 17 i wymaga 32-bitowego kodu platformy. Została gruntownie przetestowana z wieloma procesorami opartymi na Seria Arm Cortex-M architektury i została przeniesiona do innych architektur, ESP32. platforma jest dostępna jako biblioteka Arduino. Może też generować projekty na potrzeby takich jak Mbed. Jest to rozwiązanie typu open source, dowolny projekt w C++ 17.

Obsługiwane są te płyty deweloperskie:

Zapoznaj się z przykładami

Każda przykładowa aplikacja jest włączona GitHub i ma plik README.md, który wyjaśnia, w jaki sposób można go wdrożyć w obsługiwanym środowisku platform. Niektóre z nich zawierają też kompleksowe samouczki dotyczące platformy, zgodnie z poniższym opisem:

Przepływ pracy

Do wdrożenia i uruchomienia modelu TensorFlow w mikrokontroler:

  1. Wytrenuj model:
  2. Uruchom wnioskowanie na urządzeniu za pomocą biblioteki C++ i procesu. wyniki.

Ograniczenia

LiteRT dla mikrokontrolerów został zaprojektowany z myślą o konkretnych ograniczeniach w projektowaniu mikrokontrolerów. Jeśli pracujesz na wydajniejszych urządzeniach (na przykład np. wbudowanego urządzenia z systemem Linux, takiego jak Raspberry Pi), standardem Integracja platformy LiteRT może być łatwiejsza.

Należy wziąć pod uwagę następujące ograniczenia:

  • Obsługa ograniczonej części: Operacje na TensorFlow
  • Obsługa ograniczonej liczby urządzeń
  • Niski poziom interfejsu API C++ wymagający ręcznego zarządzania pamięcią
  • Trenowanie na urządzeniu nie jest obsługiwane

Dalsze kroki