wang-xinyu/tensorrtx

Implementation of popular deep learning networks with TensorRT network definition API

解决的问题

TensorRTx 提供了一种使用 TensorRT 网络定义 API 实现流行深度学习网络的方法,而不是依赖标准解析器(如 ONNX 或 UFF)。这种方法避免了自动化解析器的“黑箱”特性,使开发者能够完全控制网络结构和优化过程。

工作原理

该项目遵循特定的工作流程,从训练好的模型过渡到高性能推理引擎:

  1. 权重导出:从 PyTorch、MXNet 或 TensorFlow 等框架中提取权重,并导出为纯文本格式的 .wts 文件。
  2. 网络定义:使用 TensorRT 的复杂 API 从头开始重建网络,定义各层和结构。
  3. 引擎构建:将 .wts 权重加载到已定义的网络中,构建 TensorRT 引擎。
  4. 推理:加载并执行生成的引擎进行推理。

适用人群

需要在 NVIDIA 硬件上通过 TensorRT 部署模型时,对网络进行最大程度修改、调试中间层结果,或学习深度学习模型内部结构的开发者和研究人员。

特色亮点

  • 高度灵活:可轻松添加、删除或替换层,并将预处理和后处理直接集成到网络中。
  • 详细调试支持:支持增量式开发,可检查中间层输出结果。
  • 丰富的模型库:包含多种模型的实现,包括 YOLO 系列(v3 至 v13)、ResNet、MobileNet、视觉 Transformer(ViT),以及用于人脸检测(RetinaFace)和文本检测(DBNet)的专用模型。
  • 可定制工作流:支持通过 CMake 构建单个子项目或整个套件。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目