发布计算机视觉和深度学习框架 Savant 0.2.7

Savant 0.2.7 Python框架已经发布,可以更轻松地使用NVIDIA DeepStream解决机器学习相关问题。该框架负责处理 GStreamer 或 FFmpeg 的所有繁重工作,使您能够专注于使用声明性语法 (YAML) 和 Python 函数构建优化的输出管道。 Savant 允许您创建在数据中心的加速器(NVIDIA Turing、Ampere、Hopper)和边缘设备(NVIDIA Jetson NX、AGX Xavier、Orin NX、AGX Orin、New Nano)上同样工作的管道。借助 Savant,您可以轻松地同时处理多个视频流,并使用 NVIDIA TensorRT 快速创建可用于生产的视频分析管道。项目代码根据 Apache 2.0 许可证分发。

Savant 0.2.7 是 0.2.X 分支中最新的功能更改版本。 0.2.X 分支中的未来版本将仅包含错误修复。新功能的开发将在0.3.X分支中进行,基于DeepStream 6.4。该分支将不支持 Jetson Xavier 系列设备,因为 NVIDIA 在 DS 6.4 中不支持它们。

主要创新:

  • 新用例:
    • 使用基于 RT-DETR 变压器的检测模型的示例;
    • 使用 CuPy 对 YOLOV8-Seg 进行 CUDA 后处理;
    • PyTorch CUDA 集成到 Savant 管道的示例;
    • 演示使用定向对象。

    发布计算机视觉和深度学习框架 Savant 0.2.7

  • 新功能:
    • 与普罗米修斯集成。该管道可以将执行指标导出到 Prometheus 和 Grafana 以进行性能监控和跟踪。开发人员可以声明与系统指标一起导出的自定义指标。
    • 缓冲区适配器 - 在磁盘上实现持久事务缓冲区,用于在适配器和模块之间移动数据。在它的帮助下,您可以开发高负载管道,这些管道会不可预测地消耗资源并承受流量突发。适配器将其元素和大小数据导出到 Prometheus。
    • 模型编译模式。模块现在可以在 TensorRT 中编译其模型,而无需运行管道。
    • PyFunc 关闭事件处理程序。这个新的 API 允许优雅地处理管道关闭,释放资源并通知第三方系统关闭已发生。
    • 输入和输出处的帧过滤。默认情况下,管道接受包含视频数据的所有帧。通过输入和输出过滤,开发人员可以过滤数据以防止处理。
    • 在 GPU 上对模型进行后处理。借助这项新功能,开发人员可以直接从 GPU 内存访问模型输出张量,而无需将其加载到 CPU 内存中,并使用 CuPy、TorchVision 或 OpenCV CUDA 对其进行处理。
    • GPU 内存表示函数。在此版本中,我们提供了在 OpenCV GpuMat、PyTorch GPU 张量和 CuPy 张量之间转换内存缓冲区的函数。
    • 用于访问管道队列使用统计信息的 API。 Savant允许您在Py​​Func之间添加队列以实现并行处理和缓冲处理。添加的 API 使开发人员可以访问部署在管道中的队列,并允许他们查询其使用情况。

在下一个版本 (0.3.7) 中,计划迁移到 DeepStream 6.4,而不扩展功能。我们的想法是获得一个与 0.2.7 完全兼容的版本,但基于 DeepStream 6.4 和改进的技术,但不会破坏 API 级别的兼容性。

来源: opennet.ru

添加评论