Розширені концепції
Використовуйте ці сторінки, коли вашій програмі потрібні можливості, що перевищують базовий набір Model, Graph та Run для робочого процесу. Вони пояснюють структуру та поведінку в середовищі виконання, що лежать в основі більш складних програм Neat.
Проєктування застосунку
Розробіть структуру вашої програми та визначте, як вона надаватиме результати.
- ГрафиСтворюйте моделі, вузли, іменовані вхідні та вихідні дані, гілки та сценарії виконання.
- Використовуйте камеру MIPI.Створіть граф, що відображає зв’язок між даними з камери та моделлю, використовуючи вхідні дані від libcamera та попередню обробку CVU.
- Надіслати відеоТранслюйте відеопотік з програми Neat за допомогою протоколів H.264 RTP/UDP.
- Надсилайте метадані у форматі JSON.Публікуйте структуровані метадані застосунку за допомогою UDP JSON.
Модель виконання
Зрозумійте, як організовано виконання завдань, як вони розподіляються між потоками та як узгоджуються в межах шару конвеєра.
- Модель часових параметрівЗрозумійте принципи синхронного та асинхронного виконання, механізми надсилання/отримання даних, а також визначте, коли виконуються певні завдання.
- Модель багатопоточностіЗ’ясуйте, які потоки існують і де може виконуватися код програми.
- GStreamer шар.Дізнайтеся, які аспекти абстрагує Neat і коли важливі деталі «сирого» GStreamer.
Договори щодо даних та моделей
Зрозумійте структуру тензорів, пам’яті та моделей, на яких базуються конвеєри.
- Формати данихВідображайте маркери формату карти на структуру, розмір і семантику площини тензора.
- Тип даних, що використовується в контракті.Відстежуйте, як змінюється точність тензора на різних етапах: попередньої обробки, обробки за допомогою MLA та подальшої обробки.
- Модель пам’ятіЗрозумійте, що таке буфери без копіювання, фізичні адреси та принципи роботи кешу.
Середовище виконання моделі.
Дослідіть детальніше артефакти скомпільованої модел і та апаратні платформи, на яких вони виконуються.