Мінімальний
Після встановлення почніть звідси, щоб переконатися, що налаштування Neat виконано правильно.
На цій сторінці передбачено мінімальний приклад для першого запуску: створіть невелику програму, переконайтеся, що заголовки/імпорти правильно розпізнаються та програма успішно компілюється, а потім запустіть її на DevKit, щоб перевірити, чи реагує середовище виконання. Після успішного виконання перейдіть до Запустіть програму., щоб запустити реальну модель у невеликій графічній програмі.
Щоб запускати команди безпосередньо в DevKit зсередини SDK (наприклад, dk build/sima_neat_hello або dk hello_neat.py), спочатку налаштуйте пару DevKit.
Необхідне налаштування: DevKit Sync
У вас ще немає DevKit? Почніть з Складіть модель., яка повністю виконується в SDK.
Мінімальна кількість заявок.
Створіть робочу директорію для прикладу, а потім використовуйте вкладки Python / C++, щоб обрати потрібну мову. Ваш вибір відповідатиме загальносайтовому селектору мови, тому він буде однаковим у всій документації.
Створіть два файли:
-
CMakeLists.txtмістить інструкції для CMake щодо збірки та компонування застосунку.CMakeLists.txtcmake_minimum_required(VERSION 3.16)project(sima_neat_hello LANGUAGES CXX)set(CMAKE_CXX_STANDARD 20)set(CMAKE_CXX_STANDARD_REQUIRED ON)set(CMAKE_CXX_EXTENSIONS OFF)# Supports both:# - DevKit/native installs (system paths)# - Cross builds with SYSROOT exported (SDK sysroot paths)if(DEFINED ENV{SYSROOT} AND NOT "$ENV{SYSROOT}" STREQUAL "")list(APPEND CMAKE_PREFIX_PATH"$ENV{SYSROOT}/usr""$ENV{SYSROOT}/usr/lib""$ENV{SYSROOT}/usr/lib/aarch64-linux-gnu")endif()find_package(SimaNeat REQUIRED CONFIG)find_package(PkgConfig REQUIRED)pkg_check_modules(OPENCV REQUIRED IMPORTED_TARGET opencv4)add_executable(sima_neat_hello main.cpp)target_link_libraries(sima_neat_helloPRIVATESimaNeat::sima_neatPkgConfig::OPENCV)Дві виділені рядки визначають, як Neat інтегрується у ваш проєкт:
find_package(SimaNeat REQUIRED CONFIG)знаходить встановлен ий пакет Neat, аtarget_link_libraries(sima_neat_hello PRIVATE SimaNeat::sima_neat ...)пов’язує ваш виконуваний файл із ним — імпортована цільSimaNeat::sima_neatтакож включає заголовні файли та транзитивні залежності Neat, тому вам не потрібно вручну вказувати шляхи до заголовних файлів або бібліотек. (Рядки, що стосуються OpenCV, тут лише тому, що цей приклад декодує зображення). -
main.cppмістить невелику програму Neat.main.cpp#include <iostream>#include <pipeline/TensorCore.h>int main() {auto storage = simaai::neat::make_cpu_owned_storage(64);if (!storage) {std::cerr << "Failed to allocate CPU tensor storage\n";return 1;}std::cout << "Hello from sima-neat\n";return 0;} -
Ваша робоча директорія має виглядати так:
sima-neat-hello/├── CMakeLists.txt└── main.cpp
Зберіть приклад:
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j
Запустити:
- Щодо DevKit
./build/sima_neat_hello
- На хості Neat SDK
dk build/sima_neat_hello
Ви повинні побачити:
Hello from sima-neat
Якщо програма успішно компілюється, усі необхідні модулі імпортуються, і на екрані з’являється привітання, це означає, що ваша інсталяція Neat завершена та готова до використання.
dk / devkit-rundk (псевдонім для devkit-run) — це функція оболонки в контейнері SDK, визначена у ~/devkit-sync.rc і завантажена за допомогою ~/.bashrc.
Оскільки це функція оболонки, команди, такі як which devkit-run, можуть не повертати жодного результату в оболонці SDK. Використовуйте dk <file>, щоб запустити скомпільований бінарний файл або файл із точкою входу Python на відповідному DevKit.
Далі
Після того, як мінімальна версія застосунку запрацює, продовжуйте роботу, використовуючи Запустіть програму., щоб запустити реальну модель розпізнавання об’єктів у невеликому графічному застосунку.