Розробляйте застосунки за допомогою SiMa.ai Neat.
Що таке SiMa.ai і Neat?
SiMa.ai Neat — це фреймворк для розробки застосунків, призначений для створення та запуску
застосунків штучного інтелекту на платформі SiMa.ai. Він надає API для Python і C++, які використовуються для
завантаження та запуску скомпільованих архівів моделей (.tar.gz), створення комплексних
застосунків, що використовують обчислювальні ресурси Modalix, і керування середовищем виконання.
У рамках ширшого програмного комплексу SiMa.ai, SiMa.ai Neat розміщується на рівні застосунків. Він базується на SiMa.ai середовищі виконання та використовує GStreamer на нижчому рівні, тому розробники можуть зосередитися на логіці застосунку, а не на ручному підключенні компонентів середовища виконання нижчого рівня.
Для найшвидшого шляху до отримання результатів завантажте скомпільований архів моделі як Model
і запустіть його безпосередньо. Коли застосунку потрібні кілька вхідних даних, етапів обробки, моделей або вихідних даних, створіть ці компоненти у вигляді Graph і об’єднайте їх в Run. Ті самі загальнодоступні API підтримують як традиційну, так і агентну розробку,
тож команди можуть переглядати, розширювати та підтримувати застосунки, використовуючи будь-який з цих підходів.
Оберіть модель розгортання.
- Запустіть на Modalix DevKit — застосунок і Neat граф запускаються безпосередньо на.
пристрій. Використовуйте
simaai::neatабоpyneatразом ізModel,Graph,NodeтаRun. Почніть із Запуск / здійснення обчислень. - Використовуйте PCIe-карту Modalix для спільної обробки даних — програма працює на
хост-машина, яка надсилає тензори або зображення на карту для виконання моделі. Використовуйте
simaai::neat::pcieабоpyneatpcie. Почніть з Копроцесор PCIe.
C++ чи PyNeat
Для програм, які працюють безпосередньо на Modalix DevKit, SiMa.ai Neat забезпечує однаковий базовий робочий процес через два мовні інтерфейси, тож ви можете обрати той, який найкраще підходить для вашої програми:
- PyNeat — Python-інтерфейс (
pyneat). Найкраще підходить для швидкої розробки, використання в блокнотах, реалізації процесів обробки даних і безпосереднього запуску програм Python на DevKit. - C++ — нативний
simaai::neatAPI. Найкраще підходить дл я великих застосунків, тісної інтеграції з існуючими кодовими базами C++ та міжплатформних робочих процесів, де код компілюється для хоста та DevKit.
Обидва рішення використовують однакові скомпільовані артефакти моделі та середовище виконання Modalix; наведені нижче концепції та сторінки стосуються обох. Копроцесор PCIe забезпечує окремі інтерфейси C++ і Python через simaai::neat::pcie і pyneatpcie.
Розробіть застосунок. SiMa.ai Neat створить для вас карту.
Modalix об’єднує обчислювальні ядра, обробку зображень, прискорення машинного навчання, відеомодулі, спільну пам’ять і високошвидкісний ввід-вивід в одному кристалі системи на чіпі (SoC). Завдяки своїм API для Python і C++, SiMa.ai Neat надає єдину модель програмування для створення програм, які використовують відповідні обчислювальн і ресурси в системі.
Створіть повноцінний конвеєр, починаючи від камери або мережевого потоку, через обробку та виведення результатів, до отримання кінцевого результату. SiMa.ai Neat створює конвеєр середовища виконання, вибирає прискорені реалізації, де це можливо, і координує виконання та переміщення даних у Modalix. Ви зосереджуєтесь на програмі, а SiMa.ai Neat обробляє базове апаратне забезпечення та складність середовища виконання.
Приклад відображення: обраний маршрут залежить від застосування, моделі та наявної апаратної підтримки для прискорення обчислень. Див. Процесорні модулі для технічного відображення.
Опишіть вашу програму. Агент, який володіє навичками Neat, розвиває [цей продукт/систему/інструмент].
SiMa.ai і Neat підтримують розробку застосунків на основі агентів одразу після встановлення завдяки навичкам, що входять до складу Neat Development Environment (далі – Neat SDK). Ці навички надають кодуючим агентам контекст для використання загальнодоступних API Python і C++, дотримання встановлених шаблонів застосунків і роботи з робочим процесом розробки та перевірки Modalix.
Рекомендований шлях розробки на основі агентів дозволяє створити застосунок, запустити його на з’єднаному Modalix DevKit, переглянути результати та ді агностику, а також вдосконалити реалізацію. Традиційна розробка залишається паралельним шляхом для безпосереднього керування через ті самі API. Обидва підходи створюють стандартні застосунки SiMa.ai Neat, які можна перевірити, тому ви можете переглядати або змінювати код, розроблений агентами, і перемикатися між двома робочими процесами в міру розвитку застосунку. Див. Налаштуйте Neat SDK., щоб увімкнути розробку на основі агентів.
Вимоги
Перш ніж розпочинати розробку програм, завершіть початкове налаштування:
- Встановлення для моделі розгортання — для Modalix DevKit, встановіть Neat.
Бібліотеку можна встановити в Neat SDK або безпосередньо на пристрій. Для спільної обробки даних через PCIe встановіть
core/pciehostна хост-машині та сумісну Neat Library на платі Modalix PCIe. - Артефакт моделі — використовуйте попередньо скомпільовану модель із Model Zoo або скомпілюйте власну модель у архів, готовий для використання з Modalix.
- Цільова платформа для середовища виконання — запускайте нативні програми на DevKit, або створіть і запустіть запуск програми спільної обробки безпосередньо на хост-машині. З’єднайте та синхронізуйте DevKit під час перехресної компіляції нативних програм C++ у Neat SDK.
Сторінки «Hello Neat!» допоможуть вам запустити першу модель для виведення результатів, сторінки «Робочий процес розробки» детальніше пояснюють основні концепції, а навчальні матеріали показують, як застосувати їх до реальних прикладів програм.
Щоб ознайомитися з повними прикладами програм, які можна вивчити, адаптувати та запустити, перегляньте приклади застосування.
Почніть тут.
Почніть з налаштованого робочого середовища та розробіть основний робочий процес застосунку SiMa.ai Neat.
Створюйте більше.
Використовуйте ці розділи, коли будете готові створювати складніші застосунки або вивчати можливості API.
- Розширені концепціїРозумійте структуру графів, формати даних, використання пам’яті, роботу з потоками та поведінку в середовищі виконання.
- ПосиланняПерегляньте матеріали з C++, Python, Model Compiler, інструкції з усунення несправностей та додаткові матеріали.
- Зробіть внесок.Зрозумійте принципи архітектури, процес створення вихідного коду, вимоги до тестування та правила, що діють у репозиторії.