Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 639871)
Контекстум
Антиплагиат Руконтекст

TinyML. Книга рецептов (3000,00 руб.)

0   0
Первый авторЙодиче
ИздательствоМ.: ДМК Пресс
Страниц300
ID882597
Аннотация"TinyML — технология, призванная расширить использование искусственного интеллекта за счет устройств с малым энергопотреблением, таких как микроконтроллеры. Прочитав эту книгу, вы сможете свободно использовать передовые практики и фреймворки ML в своей работе. Для начала вы ознакомитесь с основами развертывания интеллектуальных приложений на Arduino Nano 33 BLE Sense и Raspberry Pi Pico, а затем на примере работы с реальными датчиками получите необходимые навыки для внедрения комплексных интеллектуальных приложений в различных сценариях. Издание предназначено для инженеров-разработчиков, заинтересованных в создании приложений машинного обучения на микроконтроллерах. Требуется базовое знакомство с C/C++, языком программирования Python и интерфейсом командной строки (CLI)
ISBN978-5-93700-169-6
УДК предварительные знания о микроконтроллерах не обязательны."
Йодиче. TinyML. Книга рецептов / Йодиче .— Москва : ДМК Пресс, 2023 .— 300 с. — ISBN 978-5-93700-169-6 .— URL: https://rucont.ru/efd/882597 (дата обращения: 23.06.2024)

Предпросмотр (выдержки из произведения)

TinyML._Книга_рецептов.pdf
Стр.5
Стр.7
Стр.8
Стр.9
Стр.10
Стр.11
Стр.12
Стр.13
TinyML._Книга_рецептов.pdf
УДК 004.04 ББК 32.372 И75 И75 TinyML. Книга рецептов / пер. с англ. Ю. В. Ревича. – М.: ДМК Пресс, 2023. – 298 с.: ил. Йодиче Дж. М. ISBN 978-5-93700-169-6 TinyML – технология, призванная расширить использование искусственного интеллекта за счет устройств с малым энергопотреблением, таких как микроконтроллеры. Прочитав эту книгу, вы сможете свободно использовать передовые практики и фреймворки ML в своей работе. Для начала вы ознакомитесь с основами развертывания интеллектуальных приложений на Arduino Nano 33 BLE Sense и Raspberry Pi Pico, а затем на примере работы с реальными датчиками получите необходимые навыки для внедрения комплексных интеллектуальных приложений в различных сценариях. Издание предназначено для инженеров-разработчиков, заинтересованных в создании приложений машинного обучения на микроконтроллерах. Требуется базовое знакомство с C/C++, языком программирования Python и интерфейсом командной строки (CLI); предварительные знания о микроконтроллерах не обязательны. УДК 004.04 ББК 32.372 Copyright ©Packt Publishing 2022. First published in the English language under the title “TinyML Cookbook” – (9781801814973). Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. ISBN 978-1-80181-497-3 (англ.) ISBN 978-5-93700-169-6 (рус.) © 2022 Packt Publishing © Перевод, оформление, издание, ДМК Пресс, 2023
Стр.5
Содержание От издательства ....................................................................................................13 Введение ..................................................................................................................14 Составители ............................................................................................................16 Предисловие ..........................................................................................................18 Глава 1. Начало работы с TinyML ................................................................25 Технические требования ...........................................................................................25 Представление TinyML ..............................................................................................26 Что такое TinyML? ..................................................................................................26 Почему ML на микроконтроллерах? ...................................................................26 Зачем запускать ML локально? ............................................................................27 Возможности и проблемы TinyML ......................................................................28 Среды развертывания для TinyML ......................................................................28 tinyML Foundation ..................................................................................................30 Краткое описание глубокого обучения (DL) ..........................................................30 Глубокие нейронные сети .....................................................................................31 Сверточные нейронные сети ...............................................................................32 Квантизация ...........................................................................................................35 Разница между мощностью и энергией .................................................................36 Различие между напряжением и током .............................................................36 Мощность и энергия ..............................................................................................38 Программирование микроконтроллеров ...............................................................39 Архитектура памяти ..............................................................................................42 Периферийные устройства ..................................................................................43 Вход/выход общего назначения (GPIO или IO) .............................................44 Аналого-цифровые преобразователи ............................................................45
Стр.7
Содержание  7 Последовательная связь ...................................................................................45 Таймеры ..............................................................................................................45 Представление Arduino Nano 33 BLE Sense и Raspberry Pi Pico ...........................45 Настройка Arduino Web Editor, TensorFlow и Edge Impulse ..................................47 Подготовка веб-редактора Arduino Web Editor .................................................47 Подготовка TensorFlow ..........................................................................................47 Подготовка Edge Impulse ......................................................................................49 Как это делается… ..................................................................................................49 Запуск скетча на Arduino Nano 33 и Raspberry Pi Pico ..........................................51 Подготовка ..............................................................................................................51 Как это делается… ..................................................................................................52 Глава 2. Прототипирование на микроконтроллерах .........................53 Технические требования ...........................................................................................53 Отладка кода ...............................................................................................................54 Подготовка ..............................................................................................................54 Как это делается… ..................................................................................................55 Дополнительно .......................................................................................................58 Подключение светодиодного индикатора на макетной плате ...........................58 Подготовка ..............................................................................................................58 Размещение прототипа на макетной плате ..................................................60 Как это делается… ..................................................................................................62 Управление внешним светодиодом с помощью GPIO .........................................65 Подготовка ..............................................................................................................65 Представляем периферийное устройство GPIO ...........................................69 Как это делается… ..................................................................................................70 Включение и выключение светодиода с помощью кнопки ................................74 Подготовка ..............................................................................................................74 Как это делается... ..................................................................................................76 Использование прерываний для считывания состояния кнопки ......................79 Подготовка ..............................................................................................................79 Как это делается… ..................................................................................................80 Питание микроконтроллеров от батарей ...............................................................82 Подготовка ..............................................................................................................82 Увеличение выходного напряжения при последовательном подключении батарей .......................................................................................83 Увеличение энергетической емкости за счет параллельного подключения батарей .......................................................................................83 Подключение батарей к плате микроконтроллера ......................................84 Как это делается… ..................................................................................................85 Дополнительно .......................................................................................................86 Глава 3. Создание метеостанции с помощью библиотеки TensorFlow Lite for microcontrollers ...........................................................88 Импорт данных о погоде из WorldWeatherOnline .................................................89
Стр.8
8  Содержание Подготовка ..............................................................................................................89 Как это делается… ..................................................................................................90 Подготовка набора данных.......................................................................................92 Подготовка ..............................................................................................................92 Подготовка сбалансированного набора данных ..........................................92 Масштабирование параметров с помощью Z-score .....................................93 Как это делается… ..................................................................................................94 Обучение модели с помощью TF .............................................................................98 Подготовка ..............................................................................................................98 Как это делается… ..................................................................................................99 Оценка эффективности модели .............................................................................104 Подготовка ............................................................................................................104 Наглядное представление эффективности с помощью матрицы ошибок ..............................................................................................................104 Оценка полноты (recall), точности (precision) и критерия F-score...........106 Как это делается… ................................................................................................106 Квантизация модели с помощью конвертера TFLite ..........................................108 Подготовка ............................................................................................................109 Квантизация входной модели .......................................................................109 Как это делается… ................................................................................................112 Использование встроенного датчика температуры и влажности на Arduino Nano ........................................................................................................114 Подготовка ............................................................................................................114 Как это делается… ................................................................................................115 Подготовка входных характеристик для просчета модели ...............................119 Подготовка ............................................................................................................119 Как это делается… ................................................................................................120 Запуск на устройстве с помощью TFLu .................................................................122 Подготовка ............................................................................................................122 Как это делается… ................................................................................................123 Глава 4. Голосовое управление светодиодами с помощью Edge Impulse ........................................................................................................127 Технические требования .........................................................................................128 Сбор аудиоданных с помощью смартфона ..........................................................128 Подготовка ............................................................................................................129 Сбор звуковых семплов для KWS ..................................................................129 Как это делается… ................................................................................................129 Извлечение параметров MFCC из аудиосемплов ................................................134 Подготовка ............................................................................................................134 Анализ звука в частотной области ................................................................134 Генерация Mel-спектрограммы .....................................................................136 Использование датчика DHT22 с Raspberry Pi Pico .............................................116 Подготовка ............................................................................................................116 Как это делается… ................................................................................................117
Стр.9
Содержание  9 Извлечение MFCC ............................................................................................137 Как это делается… ................................................................................................138 Дополнительно .....................................................................................................140 Пример проектирования и обучения нейронной сети (NN) .............................142 Подготовка ............................................................................................................142 Как это делается… ................................................................................................142 Настройка эффективности модели с помощью EON Tuner ...............................144 Подготовка ............................................................................................................144 Как это делается… ................................................................................................145 Классификация в реальном времени с помощью смартфона ..........................147 Подготовка ............................................................................................................147 Как это делается… ................................................................................................147 Классификация в реальном времени с помощью Arduino Nano ......................149 Подготовка ............................................................................................................149 Как это делается… ................................................................................................149 Непрерывное распознавание на Arduino Nano ...................................................151 Подготовка ............................................................................................................151 Изучение примера приложения KWS в реальном времени ......................151 Как это делается… ................................................................................................153 Схема для голосового управления светодиодами на Raspberry Pi Pico ...........157 Подготовка ............................................................................................................157 Представляем модуль электретного микрофона с усилителем MAX9814 ............................................................................................................158 Подключение микрофона к АЦП Raspberry Pi Pico ....................................159 Как это делается… ................................................................................................159 Выборка звука на Raspberry Pi Pico с помощью АЦП и прерываний по таймеру .................................................................................................................164 Подготовка ............................................................................................................164 Выборка звука на Raspberry PI Pico с помощью АЦП и прерываний по таймеру ........................................................................................................164 Как это делается… ................................................................................................165 Дополнительно .....................................................................................................169 Глава 5. Распознавание интерьеров помещений с помощью TensorFlow Lite for Microcontrollers и Arduino Nano .......................171 Технические требования .........................................................................................172 Съемка с помощью модуля камеры OV7670 ........................................................172 Подготовка ............................................................................................................173 Как это делается… ................................................................................................173 Захват кадров камеры через последовательный порт с помощью Python ................................................................................................................176 Подготовка ............................................................................................................177 Передача изображений RGB888 через последовательный порт ..............177 Изучаем, как преобразовать RGB565 в RGB888 ...........................................179 Как это делается… ................................................................................................179
Стр.10
10  Содержание Преобразование изображений QQVGA из YCbCr422 в RGB888 .........................183 Подготовка ............................................................................................................183 Преобразование YCbCr422 в RGB888 ............................................................184 Как это делается… ................................................................................................184 Создание набора данных для распознавания интерьеров помещений ..........186 Подготовка ............................................................................................................186 Как это делается… ................................................................................................187 Трансфертное обучение с помощью Keras API ....................................................189 Подготовка ............................................................................................................189 Изучение вариантов дизайна сети MobileNet .............................................190 Как это делается… ................................................................................................191 Подготовка и тестирование квантизованной модели TFLite ............................194 Подготовка ............................................................................................................195 Как это делается… ................................................................................................195 Сокращение объема RAM за счет объединения функций обрезки , изменения размера, масштабирования и квантизации ....................................197 Подготовка ............................................................................................................198 Изменение размера с помощью билинейной интерполяции ..................199 Как это делается… ................................................................................................200 Глава 6. Создание интерфейса на основе жестов для управления воспроизведением на YouTube...............................206 Технические требования .........................................................................................207 Подключение к MPU-6050 IMU через интерфейс I2C .........................................207 Подготовка ............................................................................................................208 Представляем MPU-6050 IMU ........................................................................208 Связь с помощью I2C ......................................................................................209 Как это делается… ................................................................................................211 Получение данных акселерометра ........................................................................214 Подготовка ............................................................................................................214 Как это делается… ................................................................................................217 Построение набора данных с помощью инструмента пересылки данных Edge Impulse data forwarder ....................................................................................220 Подготовка ............................................................................................................221 Как это делается… ................................................................................................222 Разработка и обучение модели ML ........................................................................225 Подготовка ............................................................................................................225 Использование спектрального анализа для распознавания жестов .......226 Как это делается… ................................................................................................228 Классификации в реальном времени с помощью инструмента пересылки данных Edge Impulse data forwarder ..................................................231 Подготовка ............................................................................................................231 Как это делается… ................................................................................................231 Распознавание жестов на Raspberry Pi Pico в ОС Arm Mbed ..............................232 Подготовка ............................................................................................................232
Стр.11
Содержание  11 Создание рабочих потоков с помощью RTOS API в Arm Mbed OS ...........233 Фильтрация избыточных и ложных прогнозов ..........................................234 Как это делается… ................................................................................................235 Создание бесконтактного интерфейса с помощью PyAutoGUI ........................241 Подготовка ............................................................................................................241 Как это делается… ................................................................................................242 Глава 7. Запуск модели TinyML CIFAR-10 на виртуальной платформе ОС Zephyr ......................................................................................244 Технические требования .........................................................................................245 Начало работы с ОС Zephyr ....................................................................................245 Подготовка ............................................................................................................245 Как это делается… ................................................................................................246 Разработка и обучение малой модели CIFAR-10 .................................................248 Подготовка ............................................................................................................249 Замена свертки 2D на DWSC ..........................................................................249 Контроль поддержки требований модели к памяти ..................................251 Как это делается… ................................................................................................252 Оценка достоверности модели TFLite ..................................................................255 Подготовка ............................................................................................................256 Как это делается… ................................................................................................256 Преобразование цифрового изображения в C-байтовый массив ....................258 Подготовка ............................................................................................................258 Как это делается… ................................................................................................259 Подготовка основы проекта TFLu..........................................................................261 Подготовка ............................................................................................................261 Как это делается… ................................................................................................262 Создание и запуск приложения TFLu на QEMU ...................................................263 Подготовка ............................................................................................................264 Как это делается… ................................................................................................264 Глава 8. К следующему поколению TinyML с microNPU ...............269 Технические требования .........................................................................................270 Настройка Arm Corstone-300 FVP ..........................................................................270 Подготовка ............................................................................................................270 Как это делается… ................................................................................................272 Установка TVM с поддержкой Arm Ethos-U..........................................................274 Подготовка ............................................................................................................275 Мотивация, лежащая в основе TVM ..............................................................275 Как TVM оптимизирует работу модели .......................................................275 Как это делается… ................................................................................................277 Установка набора инструментов Arm и стека драйверов Ethos-U ....................279 Подготовка ............................................................................................................280 Как это делается… ................................................................................................280
Стр.12
12  Содержание Генерация C-кода с помощью TVM .......................................................................282 Подготовка ............................................................................................................283 Запуск TVM на микроконтроллерах с помощью microTVM .....................284 Как это делается… ................................................................................................284 Генерация C-байтовых массивов для входа, выхода и меток ...........................286 Подготовка ............................................................................................................286 Как это делается… ................................................................................................288 Создание и запуск модели на Arm Ethos-U55 ......................................................291 Подготовка ............................................................................................................291 Как это делается… ................................................................................................291 Предметный указатель ...................................................................................295
Стр.13

Облако ключевых слов *


* - вычисляется автоматически
Периодика по подписке
Антиплагиат система Руконтекст