Змінні середовища
На цій сторінці зібрано перелік змінних середовища, які використовуються середовищем виконання, інструментами для збирання та SDK. Багато з них є перемикачами для налагодження та діагностики; більшість користувачів можуть їх ігнорувати, якщо не проводять усунення несправностей.
Для отримання вичерпного списку, див. Інвентаризація змінних середовища.
Примітка: деякі параметри призначені лише для внутрішнього використання або тестування і можуть бути змінені. Вони включені сюди. оскільки вони використовуються в поточних кодових шляхах.
Веб-доступ до SDK.
NFS_SERVER_HOST_IP=<address>— адреса хоста SDK, яка використовується для побудови віддаленого з’єднання. Insight та URL-адреси VS Code, що відкриваються в браузері. Зазвичай це надається за допомогоюsima-cli sdk setup.CONTAINER_HOST_IP=<address>— застарілий механізм для визначення адреси віддаленого хоста. коли хостNFS_SERVER_HOST_IPнедоступний.OPENVSCODE_SERVER_HTTPS_PORT=<port>— HTTPS-порт для вебверсії VS Code. Якщо не встановлено,neatне відображає URL-адреси VS Code.OPENVSCODE_SERVER_TOKEN=<token>— токен доступу до VS Code, який використовується в браузері. значення, згенероване sima-cli, є безпечним для використання в URL-адресах. Розглядайте URL-адреси, що містять цей токен, як конфіденційні дані та не поширюйте їх.OPENVSCODE_WORKSPACE=<path>— робочий простір, відкритий у VS Code, що працює в браузері. (за замовчуванням/workspace).OPENVSCODE_SERVER_WITHOUT_TOKEN=1— запустіть і розгорніть VS Code у браузері. без аутентифікації за допомогою токенів. Використовуйте це лише в надійному локальному середовищі; ніколи не вмикайте цю опцію, якщо до сервісу є доступ із ненадійних мереж.
Уніфікований профіль налагодження (рекомендовано)
SIMA_DEBUG_PROFILE=<components>— єдиний перемикач для ввімкнення налагодження, що застосовується до загальних діагностичних інструментів.- Компоненти:
pipeline,graph,gst,appsink,inputstreamабоall. - Кілька компонентів можна розділити комами або пробілами (наприклад,
pipeline,gst,inputstream).
- Компоненти:
SIMA_DEBUG_LEVEL=<0..3>— рівень деталізації виводу налагоджувальної інформації, що використовується у єдиному профілі (за замовчуванням1).0: вимкнено1: основні журнали налагодження2: детальне відображення діагностичної інформації/відстеження на рівні буфера.3: максимальний рівень деталізації
Застарілі перемикачі для налагодження, які застосовуються до окремих змінних, все ще працюють і, якщо їх явно встановити, вони замінюють значення за замовчуванням, визначені в профілі.
Основна збірка/запуск.
SIMA_PIPELINE_STRING_DEBUG=1— виводьте остаточний рядок команди gst-launch під час збі рки.SIMA_PIPELINE_STATE_DEBUG=1— додаткові журнали змін стану.SIMA_PIPELINE_TEARDOWN_DEBUG=1— веде журнали етапів завершення роботи конвеєра.SIMA_PIPELINE_DRAIN_BEFORE_TEARDOWN_MS=<ms>— час, протягом якого відбувається очищення конвеєра перед його завершенням (за замовчуванням 1500).SIMA_PIPELINE_DRAIN_MIN_OUTPUTS=<n>— мінімальна кількість вихідних даних, які потрібно обробити перед завершенням роботи конвеєра (за замовчуванням — 1).
Ініціалізація GStreamer + придушення.
SIMA_ALLOW_GST_INIT=1– дозволити ручне ініціюванняgst_init, якщо воно вже було ініційовано.SIMA_GST_SUPPRESS_JSON_WARNINGS=0/1— приглушує попередження JSON (за замовчуванням — true).SIMA_GST_SUPPRESS_GOBJECT_ASSERTS=0/1— приглушує виведення повідомлень про помилки GLib (за замовчуванням увімкнено).SIMA_GST_SUPPRESS_DEVICE_LOGS=0/1— приховує журнали пристрою (за за мовчуванням — увімкнено).
Тайм-аути GStreamer.
SIMA_STATE_CHANGE_TIMEOUT_MS=<ms>— час очікування на зміну стану конвеєра (за замовчуванням 15000 мс).SIMA_GST_TEARDOWN_TIMEOUT_MS=<ms>— час очікування перед завершенням роботи (за замовчуванням 2000 мс).SIMA_GST_TEARDOWN_REAPER_MS=<ms>— час очікування перед завершенням роботи (за замовчуванням 250).SIMA_GST_TEARDOWN_ASYNC=1— асинхронне завершення роботи.SIMA_GST_POLL_SLICE_MS=<ms>— інтервал опитування для отримання даних з appsink (за замовчуванням 200 мс).- Рекомендовані параметри API:
ValidateOptions.preroll_timeout_ms— час очікування перед початком відтворення в функції validate().RunOptions.input_timeout_ms— час очікування для отримання даних у режимі введення під час виконання команд build() або run().
- Застарілі змінні середовища, що використовуються як резервний варіант (використовуйте лише тоді, коли неможливо передати параметри):
SIMA_GST_VALIDATE_TIMEOUT_MS=<ms>— час очікування для функції validate() (за замовчуванням 2000/10000).SIMA_GST_RUN_INPUT_TIMEOUT_MS=<ms>— час очікування вхідних даних для функції run() (за замовчуванням 10000 мс).
Діагностика + зонди
SIMA_GST_DOT_DIR=<dir>— каталог для збереження DOT-графіків, що використовуються для аналізу помилок або налагодження конвеєра.SIMA_GST_BOUNDARY_PROBES=1— встановіть датчики для вимірювання потоку на межі.SIMA_GST_STAGE_TIMINGS=1— датчики для вимірювання часу проходження етапів.SIMA_GST_ELEMENT_TIMINGS=1— зонди для вимірювання часу роботи елементів.SIMA_GST_FLOW_DEBUG=1— зонди для відстеження потоку елементів.SIMA_GST_ENFORCE_NAMES=1— забезпечує дотримання правил іменування під час збірки.SIMA_GST_OPTIONS_DEBUG=1— виводити в журнал параметри GStreamer під час збірки.SIMA_GST_BUFFER_DEBUG_LIMIT=<n>— обмеження кількост і виведених повідомлень налагодження для буфера.SIMA_GST_DETESS_INPUT_DEBUG=1— налагодження вхідних даних detess.SIMA_GST_DETESS_OUTPUT_DEBUG=1— налагодження виводу detess.SIMA_GST_DETESS_POOL_DEBUG=1— налагодження пулу detess.SIMA_GST_APPSINK_BUFFER_DEBUG=1— налагодження буфера appsink.SIMA_GST_ALL_BUFFER_DEBUG=1— детальне налагодження буфера.SIMA_GST_RUN_INSERT_BOUNDARIES=1— вставляти межі під час виконання функції run().SIMA_GST_VALIDATE_INSERT_BOUNDARIES=1— вставляти межі під час виконання validate().
Диспетчер / середовище виконання
SIMA_DISPATCHER_TRACE=1— відстеження етапів роботи диспетчера.SIMA_DISPATCHER_AUTO_RECOVER=0/1— диспетчер автоматичного відновлення (за замовчуванням увімкнено).SIMA_ASYNC_TPUT_DIAG=1— діагностика асинхронної пропускної здатності.SIMA_ASYNC_WARMUP=<n>— кадри для асинхронног о попереднього завантаження.SIMA_PERF_POWER=1— увімкнути збір даних про живлення ліній SOM PMIC під час тестування продуктивності.SIMA_PERF_POWER_INTERVAL_MS=<ms>— інтервал часу для збору даних про енергоспоживання (за замовчуванням — 100 мс).SIMA_PULL_TIMEOUT_DIAG=0/1— звіт про перевищення часу очікування під час отримання даних (за замовчуванням — увімкнено).SIMA_STAGE_DEBUG=1— Журнали налагодження StageRun.
Вхідний потік / Приклад налагодження
SIMA_INPUTSTREAM_DEBUG=1— детальне ведення журналів для класу InputStream.SIMA_INPUTSTREAM_WARN=1— попередження щодо подій, що виникають під час роботи з класом InputStream.SIMA_INPUTSTREAM_POLL_MS=<ms>— інтервал опитування InputStream (за замовчуванням 50 мс).SIMA_INPUTSTREAM_DOT_ON_TIMEOUT=1— вивести дані DOT у разі перевищення часу очікування.SIMA_INPUTSTREAM_META_DEBUG=1— виводити в журнал деталі GstSimaMeta.SIMA_INPUTSTREAM_ALLOC_DEBUG=1— налагодження виділення пам’яті.SIMA_INPUTSTREAM_PUSH_TIMING=1— журнали фіксують час виконання операції push.SIMA_INPUTSTREAM_PREFLIGHT_RUN=1— попередня перевірка для InputStream.SIMA_SAMPLE_DEBUG=1— ведіть журнали для відстеження прикладів конвертацій.SIMA_SAMPLE_BYTES=1— розміри зразків байтів для логування.SIMA_SAMPLE_FORCE_BUNDLE=1— примусовий вивід пакета для налагодження.SIMA_NEAT_CAPS_TRACE=1— обчислення тензорної похідної для визначення траси.
Попередня обробка / Виявлення / підключення
SIMA_PREPROC_DEBUG_CONFIG=1— вивести інформацію про конфігурацію попередньої обробки.SIMA_KEEP_DETESS_CONFIG=1— зберігати вихідні дані конфігурації detess.SIMA_DETESS_ASSERT_ON_ZERO=1— перевірка, що вихідні дані detess дорівнюють нулю.SIMA_CLAMP_DETESS_NUM_BUFFERS=1— обмеження кількості буферів для детектування.SIMA_DISABLE_SYNC_NUMBUFFERS_CVU_MLA=1— вимкнути обмеження кількості буферів синхронізації.
Модель (імена застарілих змінних середовища збережено)
SIMA_MLA_NEXT_CPU=<domain>— перезаписує значення параметра MLA next_cpu.SIMA_MPK_EXTRACT_ROOT=<dir>— базова директорія для завантаження архіву моделей. Визначається як абсолютний шлях. шлях визначається один раз для кожного процесу, тому шляхи, що використовуються в отриманому JSON, ніколи не залежать від робочого каталогу. Якщо вказано, і якщо до нього неможливо отримати доступ для запису, завантаження завершується помилкою, а не відбувається перехід до резервного варіанту. Якщо не вка зано, базовим каталогом є перший доступний для запису кандидат серед змонтованих файлових систем NVMe,/data,TMPDIR, а потім – робочий каталог. Кандидат NVMe має бути блоковим пристроєм/dev/nvme*, доступним для запису, змонтованим у каталозі даних: кореневий каталог,/boot,/efiта інші системні точки монтування виключаються, як і файлові системи vfat/ISO. Ці перевірки застосовуються до виявлення NVMe; резервні варіанти для/data,TMPDIRі робочого каталогу зберігають свої звичайні правила розміщення у файловій системі. NVMe є кращим варіантом через великий обсяг пам’яті, передбачуване розміщення та уникнення записів на eMMC. Це не прискорює декодування: ця змінна визначає, куди записувати дані, а декодування обмежується обчислювальною потужністю процесора.
Вибір здійснюється на основі можливості запису, а не наявності вільного місця. Архів .tar.gz не обмежує розпакований розмір у жодному напрямку, тому неможливо визначити вимоги до обсягу пам’яті до декодування; обсяг пам’яті контролюється для кожного фрагмента під час розпакування та ще раз з маніфесту перед вилученням. Відповідно, відповідний NVMe використовується беззастережно, і якщо на ньому недостатньо місця, завантаження завершується помилкою output_storage_unavailable, а не відбувається перехід до eMMC. Вільне місце в цій файловій системі або SIMA_MPK_EXTRACT_ROOT, що вказує на інше місце, є рішенням.
SIMA_MPK_CLEANUP_EXTRACTED=0/1— видаляти дані про витягнутий з архіву модель для кожного процесу під час звичайного завершення роботи (за замовчуванням1). Коли ввімкнено очищення, кожен процес розпаковує свої файли в окрему папку, ідентифіковану за допомогоюproc_<pid>, і видаляє її після завершення. Коли очищення вимкнено, ця папка зберігається для перевірки та виключається зі збору тимчасових файлів. Вона не виявляється та не використовується повторно іншим процесом; видаліть її вручну, коли вона більше не потрібна.
Model також приймає вже організовану папку, що містить etc, lib і share. Ця папка використовується безпосередньо, без декомпресії чи копіювання; програміст, який її надав, відповідає за її термін служби та повинен забезпечити, щоб вона не змінювалася під час вико ристання моделі. Плоска папка, створена за допомогою tar -xzf, не є організованим пакетом і не може бути використана безпосередньо.
SIMA_MPK_EXTRACT_GC_STALE_PROC=0/1— видалити застарілі, неактивні дані.proc_*вилучення кореневих файлів під час запуску (за замовчуванням)1).SIMA_MODEL_TAR=<path>— базовий шлях до пакунку моделі, який використовується в прикладах/тестах. Налаштування для окремих моделей (наприклад,SIMA_RESNET50_TAR,SIMA_YOLO_TARтощо) все ще мають пріоритет.SIMA_MPK_EXTRACT_MIN_FREE_BYTES=<bytes>— обсяг вільного місця, що резервується під час підготовки та вилучення архівів моделей (за замовчуванням 16 МіБ).TMPDIR=<dir>— розглядається лише як пізній кандидат для використання в якості основи, і використовується безпосередньо для Підготовка даних здійснюється тими, хто викликає процес, і при цьому не обирає власну базову версію. Завантаження моделі більше не виконує підготовку даних незалежно: розпакований знімок і витягнутий пакет використовують обрану базову версію. Під час кожного завантаження, включно з перевіркою лише метаданих, ф айл.tar.gzрозпаковується один раз у приватну директорію. Під час вилучення файлів, файлова система повинна мати достатньо місця для розпакованого знімка, пакета таSIMA_MPK_EXTRACT_MIN_FREE_BYTES; знімок еталонного пакета розміром 150 МБ становить приблизно 354 МБ. Використовуйте локальну файлову систему — завантаження не вдасться, якщо не вдасться зчитати вільний простір, що може статися, якщо використовується мережеве підключення, яке зникне. Директорія підготовки даних видаляється після завершення завантаження, як у разі успіху, так і в разі помилки; у разі несподіваного завершення процесу або відключення живлення вона може залишитися.
Зарезервований вільний простір, встановлений за допомогою SIMA_MPK_EXTRACT_MIN_FREE_BYTES, використовується за принципом «найкращих зусиль». Він перевіряється для кожного фрагмента під час розпакування, порівнюючи з вільним простором, про який повідомляє файлова система, тому інший процес, який одночасно записує дані, все ще може вичерпати вільний простір між перевірками; у цьому випадку завантаження завершиться з помилкою, вказуючи кількість записаних байтів і ш лях, який використовувався.
RTSP / H264
SIMA_H264_SDP_DUMP=<path>— зберегти дані H264 SDP у файл.SIMA_H264_SPS_FIXUP_STREAM=<path>— внести зміни в SPS у потоці даних.
Тестування / внутрішні хуки.
SIMA_TENSOR_MAPFAIL_DEBUG=1— ведіть журнали щодо помилок відображення тензорів.