NVIDIA ACCV-Lab
NVIDIA ACCV-Lab 是一个系统化的 Python 软件包集合,旨在帮助 ADAS (高级驾驶辅助系统) 领域实现端到端的高效训练。每个软件包专注于解决特定任务(例如:从视频文件进行按需解码以支持视频训练、支持非均匀批次的高效批处理等),并在底层使用 C++/CUDA 扩展提供高效实现。
ACCV-Lab 工作原理
ACCV-Lab 围绕计算机视觉训练中实际存在的效率挑战而设计,重点面向 ADAS(高级驾驶辅助系统)领域,其功能同样适用于其他高吞吐量计算机视觉训练场景。在这些场景中,训练效率可能受到多种因素制约,例如:使用具有非标准帧访问模式的大规模视频数据、复杂的 loss 计算,以及繁重的数据预处理流水线。ACCV-Lab 不提供单一的一体化解决方案,而是由多个专注子软件包组成,每个包针对特定问题,易于集成至现有项目,并针对相应挑战提供高效实现,对性能关键操作进行 GPU 加速。
以下三个核心子软件包针对 ADAS 训练中常见的效率瓶颈:
- On-Demand Video Decoder 利用 NVIDIA GPU 加速,直接从压缩视频中解码帧;针对训练负载,支持随机访问、流式访问、独立解复用-解码器及无解复用器等多种解码模式,进行了深度优化。

- Batching Helpers 采用 RaggedBatch 格式及辅助操作,使可变大小数据(如每样本的 GT 目标框及匹配预测结果)能够在批量 loss 计算中高效、便捷地处理。

- DALI Pipeline Framework 为复杂的 ADAS 数据流水线提供可复用构建模块,以及能够自然处理嵌套场景数据的数据结构,确保流水线构建模块的高度可复用性。同时支持结构化输出,并提供可作为 PyTorch DataLoader 即插即用替代品的迭代器,便于集成到现有训练循环中。
除上述三个核心软件包外,ACCV-Lab 还包含以下附加软件包。Multi-Tensor Copier 优化从 CPU 到 GPU 的大量小型或可变大小张量的拷贝操作,支持列表、元组和字典等嵌套 Python 数据结构。Draw Heatmap 提供 GPU 加速实现,用于生成目标检测训练中所需的高斯热力图。Optimization Testing Tools 提供多种实用工具,帮助开发者对优化工作进行测量、性能分析与调试。
各核心子软件包在真实训练场景中的应用演示及所取得的性能收益即将上线。目前,上述三个核心子软件包已在各自的文档中提供针对真实应用场景的评估结果。
On-Demand Video Decoder 和 DALI Pipeline Framework 介绍
深入了解 On-Demand Video Decoder 和 DALI Pipeline Framework 软件包的功能及使用方式。
快速入门 ACCV-Lab
入门套件
Batching Helpers
学习如何将批处理辅助工具应用于目标检测 loss 实现。示例涵盖 loss 计算本身以及将最优预测候选与 GT 目标进行匹配,构建出一套简洁完整的 loss 计算实现。
更多资源
立即开始使用 ACCV-Lab