Перейти до основного вмісту

Змінні середовища

На цій сторінці зібрано перелік змінних середовища, які використовуються середовищем виконання, інструментами для збирання та 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 — ведіть журнали щодо помилок відображення тензорів.