Lanzamiento de Savant 0.2.7, un marco de visión por computadora y aprendizaje profundo

Se lanzó el marco Python Savant 0.2.7, que facilita el uso de NVIDIA DeepStream para resolver problemas relacionados con el aprendizaje automático. El marco se encarga de todo el trabajo pesado con GStreamer o FFmpeg, lo que le permite concentrarse en crear canales de salida optimizados utilizando sintaxis declarativa (YAML) y funciones de Python. Savant le permite crear canalizaciones que funcionan por igual en aceleradores del centro de datos (NVIDIA Turing, Ampere, Hopper) y en dispositivos de borde (NVIDIA Jetson NX, AGX Xavier, Orin NX, AGX Orin, New Nano). Con Savant, puede procesar fácilmente múltiples transmisiones de video simultáneamente y crear rápidamente canales de análisis de video listos para producción utilizando NVIDIA TensorRT. El código del proyecto se distribuye bajo la licencia Apache 2.0.

Savant 0.2.7 es la última versión de cambio de funciones en la rama 0.2.X. Las versiones futuras de la rama 0.2.X solo incluirán correcciones de errores. El desarrollo de nuevas funciones se llevará a cabo en la rama 0.3.X, basada en DeepStream 6.4. Esta rama no admitirá la familia de dispositivos Jetson Xavier ya que NVIDIA no los admite en DS 6.4.

Principales novedades:

  • Nuevos casos de uso:
    • Un ejemplo de trabajo con un modelo de detección basado en el transformador RT-DETR;
    • Postprocesamiento CUDA con CuPy para YOLOV8-Seg;
    • Un ejemplo de integración de PyTorch CUDA en el proceso Savant;
    • Demostración de trabajo con objetos orientados.

    Lanzamiento de Savant 0.2.7, un marco de visión por computadora y aprendizaje profundo

  • Nuevas características
    • Integración con Prometeo. El canal puede exportar métricas de ejecución a Prometheus y Grafana para monitorear y rastrear el desempeño. Los desarrolladores pueden declarar métricas personalizadas que se exportan junto con las métricas del sistema.
    • Adaptador de búfer: implementa un búfer transaccional persistente en el disco para que los datos se muevan entre adaptadores y módulos. Con su ayuda, puede desarrollar canalizaciones altamente cargadas que consumen recursos de manera impredecible y soportan ráfagas de tráfico. El adaptador exporta sus datos de elementos y tamaños a Prometheus.
    • Modo de compilación del modelo. Los módulos ahora pueden compilar sus modelos en TensorRT sin ejecutar una canalización.
    • Controlador de eventos de apagado de PyFunc. Esta nueva API permite que los cierres de tuberías se manejen con elegancia, liberando recursos y notificando a los sistemas de terceros que se ha producido el cierre.
    • Filtrado de cuadros en entrada y salida. De forma predeterminada, la canalización acepta todos los fotogramas que contienen datos de vídeo. Con el filtrado de entrada y salida, los desarrolladores pueden filtrar datos para evitar su procesamiento.
    • Postprocesamiento del modelo en la GPU. Con la nueva característica, los desarrolladores pueden acceder a los tensores de salida del modelo directamente desde la memoria de la GPU sin cargarlos en la memoria de la CPU y procesarlos usando CuPy, TorchVision u OpenCV CUDA.
    • Funciones de representación de memoria GPU. En esta versión, proporcionamos funciones para convertir búferes de memoria entre OpenCV GpuMat, tensores de GPU PyTorch y tensores CuPy.
    • API para acceder a estadísticas sobre el uso de colas de canalización. Savant le permite agregar colas entre PyFuncs para implementar procesamiento paralelo y procesamiento de almacenamiento en búfer. La API agregada brinda a los desarrolladores acceso a las colas implementadas en la canalización y les permite consultar su uso.

En la próxima versión (0.3.7), está previsto pasar a DeepStream 6.4 sin ampliar la funcionalidad. La idea es conseguir una versión que sea totalmente compatible con 0.2.7, pero basada en DeepStream 6.4 y tecnología mejorada, pero sin romper la compatibilidad a nivel API.

Fuente: opennet.ru

Añadir un comentario