Основные возможности DeepStream SDK 6.4:
Версия DeepStream для Jetson основана на JetPack 6.0 DP (предварительная версия для разработчиков). Эта версия не подходит для производственных целей.
Критические изменения, связанные с DeepStream 6.3:
Модель основного детектора (PGIE) на основе resnet10 была заменена моделью Trafficcamnet Trafficcamnet.
Цветовые модели автомобилей удалены.
Модель производства транспортных средств была заменена моделью VehicleMakeNet VehicleMakeNet.
Модель типа транспортного средства заменена моделью VehicleTypeNet VehicleTypeNet.
Итак, теперь эталонное приложение DeepStream будет использовать Trafficcamnet в качестве PGIE вместе с двумя новыми моделями SGIE (VehicleMakeNet, VehicleTypeNet).
При использовании DeepStream-6.4 конечная точка REST API была обновлена и теперь включает поддерживаемую в настоящее время версию «/api/v1/».
При создании механизма TensorRT для DLA существует известная проблема, из-за которой весь подграф DLA, указанный в подробном режиме TensorRT (просматриваемый через подробный режим TensorRT), не может быть построен или в конечном итоге возвращается к графическому процессору с помощью «{ForeignNode [...] } не может быть скомпилировано с помощью DLA, сообщение «возврат к графическому процессору». Эта проблема наблюдается в двух моделях ResNet — PeopleNet v2.6 и TrafficCamNet. В обоих случаях эту проблему можно решить, изменив размер пула DLA SRAM по умолчанию в TensorRT с 1 МБ на 0,5 МБ. Используя trtexec, этого можно добиться, добавив параметр «--memPoolSize=dlaSRAM:0.5» при построении механизма TensorRT — для других приложений TensorRT, которые напрямую вызывают API TensorRT, см. этот раздел кода в trtexec. Движок, созданный на основе вышеизложенного, можно использовать в DeepStream.
Приложения UCX теперь объединены в образец приложения.
Удалите приложение FasterRCNN.
При работе со сценариями использования RTSP рекомендуется использовать сценарий /opt/nvidia/deepstream/deepstream/update_rtpmanager.sh для применения исправлений для минимизации проблем.
При запуске tritonserver опция «--backend-directory» не требуется.
Изменение API в привязках Python: alloc_nvds_event_msg_meta() теперь ожидает указатель NvDsUserMeta, связанный с NvDsEventMsgMeta.
Что следует отметить:
DeepStream на Jetson основан на L4T BSP версии r36.2.0. Пожалуйста, обратитесь к разделу «Известные проблемы» в примечаниях к выпуску Jetson.
При использовании кодека V4L2 предоставляется только до 1024 (декодирование+кодирование) экземпляров. Максимальное количество экземпляров можно увеличить путем изменения открытого исходного кода.
В Jetson для gst-dsexample в основном файле конфигурации вывода (config_infer_primary.txt) для параметров «detected-min-w» и «deceted-min-h» должно быть установлено значение больше 32.
Адаптер протокола Kafka иногда не подключается автоматически при отключении и повторном подключении Kafka Broker. Для этого требуется перезапуск приложения.
Если файл журнала nvds ds.log был удален, чтобы возобновить ведение журнала, необходимо удалить файл /run/rsyslogd.pid в контейнере и запустить сценарий setup_nvds_logger.sh перед повторным включением ведения журнала. Это описано в подразделе «nvds_logger: Logging Framework» раздела «Gst-nvmsgbroker» Руководства разработчика NVIDIA DeepStream версии 6.4.
Запуск приложения DeepStream через SSH (через putty) с переадресацией X11 работает неправильно.
В настоящее время DeepStream ожидает, что ширина сети модели будет кратна 4, а высота кратна 2.
Реализация сервера вывода Triton в DeepStream в настоящее время поддерживает только один графический процессор. Модель должна быть настроена для использования одного графического процессора.
Для некоторых моделей выходные данные DeepStream не совсем совпадают с результатами, наблюдаемыми в TAO Toolkit. Это связано с различиями в алгоритмах масштабирования входных данных.
Динамическое изменение разрешения поддерживает качество Alpha.
Во время выполнения обновления модели поддерживают только модели одного типа с одинаковыми сетевыми параметрами.
Rivermax SDK не является частью DeepStream. Поэтому появляется следующее предупреждение (gst-plugin-scanner:33257):
GStreamer-WARNING **: 11:38:46.882: Failed to load plugin '/usr/lib/x86_64-
linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_udp.so': librivermax.so.0:
cannot open shared object file: No such file or directory
Вы можете смело игнорировать это предупреждение.
При использовании потоковой передачи Composer WebSocket иногда появляется ошибка типа «Ошибка при отправке буфера: недопустимое состояние» или окно перестает отвечать на запросы. Обновление страницы браузера может решить эту проблему.
Потоковая передача Composer WebRTC поддерживается только на графических процессорах RTX.
В Jetson частота кадров приложения DeepStream снижается, когда экран находится в режиме ожидания. Это поведение предназначено для экономии энергии. Однако, если пользователь не хочет, чтобы экран бездействовал, в FAQ есть решения.
Функциональность RDMA в настоящее время поддерживается только на x86 и только в x86 Triton Docker.
DeepStream не может быть построен непосредственно на докерах Jetson, за исключением его варианта Triton.
Для некоторых моделей может наблюдаться падение производительности (от 5 до 15%) при переходе от TensorRT к Triton.
Чтобы сгенерировать YOLOV3, некоторые слои должны быть указаны с точностью FP32 для ограничений TensorRT. Решение обновлено: https://github.com/NVIDIA-AI-IOT/deepstream_tao_apps.
Ошибка NVRM:XID иногда возникает при запуске более 275 потоков на Ampere, Hopper и ADA.
В некоторых конфигурациях вы видите ошибки NVRM:XID при использовании gst-dsexample и примера приложения трансферного обучения.
При запуске приложения deepstream-testsr вы иногда видите утверждение «GStreamer-CRITICAL **: 12:55:35.006: gst_pad_link_full: утверждение 'GST_IS_PAD мойка)' не выполнено», которое можно безопасно игнорировать.
Плагин Gst-nvdsasr и deepstream-avsync-app не поддерживаются графическим процессором Hopper.
Плагин Multifilesrc, использующий файлы jpeg, несовместимо с nv3dsink. Чтобы решить эту проблему, вам нужно добавить элемент nvvideoconvert перед nv3dsink.
Для некоторых моделей во время создания файла движка TensorRT сообщит об ошибке «[TRT]: 3: [builder.cpp::~Builder::307] Код ошибки 3: Ошибка использования API». Но это никак не влияет на функциональность и его можно смело игнорировать.
Плагины ASR и TTS не поддерживаются NVIDIA Hopper.
Приложение deepstream-server не поддерживает новый плагин nvstreammux.
Модель точечной колонны ТАО работает только в режиме FP32.
Для некоторых компонентов (декодеры, препроцессоры, nvinfer и поддержка добавления и удаления потоков) REST API предоставляет лишь ограниченные возможности настройки. Однако вы можете расширить функциональность, выполнив действия, описанные в документации SDK.
При запуске приложения сегментации Python наблюдается критическая ошибка (masked_scan_uint32_peek: assertion '(guint64) offset + size <= reader->size - reader->byte' не удалось), но его можно смело игнорировать.
При запуске приложения DeepStream на докерах Jetson отображается ошибка «modprobe: FATAL: Module nvidia не найден...», но ее можно смело игнорировать.
При использовании камер Basler Jetson поддерживает только изображения шириной, кратной 4.
Иногда при запуске приложения DeepStream вы видите ошибку «GLib (gthread-posix.c): непредвиденная ошибка библиотеки C во время 'pthread_setspecific': неверный аргумент».
Вызвано ошибкой в этой проблеме проблем с glib версии 2.0-2.72.,Эта версия установлена в ubuntu22.04 по умолчанию. Эта проблема решена в glib2.76.,Требуется установкаglib2.76решить проблему(https://github.com/GNOME/glib/tree/2.76.6)。
Пример приложения deepstream-lidar-inference-app в Не работает на Джетсоне. Эта проблема вызвана ошибкой в glib версии 2.0–2.72, которая по умолчанию установлена в ubuntu22.04. Эта проблема решена в glib2.76, и для ее решения необходимо установить glib2.76 (https://github.com/GNOME/glib/tree/2.76.6).
При запуске приложения DeepStream для некоторых моделей (например, VehicleMakeNet, VehicleTypeNet) не удается создать файл механизма TensorRT. Чтобы избежать этого сбоя, перед запуском приложения выполните следующую команду, чтобы увеличить тактовую частоту:
$ sudo nvpmodel -m 0
$ sudo jetson_clocks
Если проблема по-прежнему возникает, используйте утилиту trtexec в TensorRT для создания файла движка и используйте тот же файл в DeepStream.
Иногда выходные данные вывода на Jetson изменяются между запусками.
В Jetson существует проблема с поддержкой nvinferserver приложения глубокой сегментации.
В Jetson приложение deepstream-testsr-app иногда может иметь размытый вывод, если включены ограничивающие рамки.
В некоторых случаях производительность примера приложения, использующего Python, может быть ниже, чем у версии C.
При запуске приложения deepstream-opencv-test вы увидите предупреждение «gst_caps_features_set_parent_refcount: сбой утверждения 'refcount == NULL'», которое не влияет на функциональность и его можно безопасно игнорировать.
В докерах Jetson наблюдались следующие ошибки (но не влияют на функциональность): а) При декодировании: /bin/dash: 1: lsmod: not Found и /bin/dash: 1: modprobe: not Found. б) При запуске конвейера: не удалось определить версию драйвера NVIDIA.
На Jetson Orin программные кодировщики не поддерживаются. Обходной путь — использовать nvvideoconvert вместо nvvidconv перед nvv4l2decoder.
В Jetson, приложении deepstream-dewarper-test, при первом запуске возникает ошибка: «cuGraphicsEGLRegisterImage error: 700, процесс cuda остановлен». Однако при последующих запусках эта проблема не возникает.