TensorRT学习笔记(三)

简介:

TENSORRT工作流程:
下表列出了TensorRT功能及其支持的API。
2
下列表显示TensorRT支持的平台
2
关键词:
UFF:
通用框架格式(UFF)是描述DNN(深度神经网络)的执行图的数据格式,并且从该执行图与其输入和输出进行绑定。 它有一个明确的核心语言,但也将支持对其核心操作和完全自定义操作的扩展。
格式包括:

  • 序列化格式的具体语法,采用protobuf模式。
  • 每个操作符的有效性定义,表示为一组python描述符。
  • 记录每个核心操作的行为(以便将来交付)。

PLAN文件:
PLAN文件是运行时引擎用来执行网络的序列化数据。 它包括权重,内核执行网络的时间表,以及应用程序可以查询的网络信息,以确定如何绑定输入和输出缓冲区。
工作流程图:
下图展示了一个典型的开发工作流程,用户通过训练数据模型来生成训练有素的网络。 训练好的网络可以用于推断。
正在将网络导入TensorRT。 用户将训练好的网络导入TensorRT,TensorRT优化网络以生成PLAN。 例如,该PLAN被用于推断,以验证优化是否已正确执行。
PLAN也可以被序列化到磁盘,以便稍后重新加载到TensorRT运行时,而不必再次执行优化步骤。
4
NVCaffe C ++工作流程:
TensorRT可以通过NvCaffeParser界面直接导入NVCaffe模型。
使用NvCaffeParser解析器的示例可以在SampleMNIST中找到。 在那里,TensorRT网络定义结构使用NvCaffeParser库从NVCaffe模型直接填充:

INetworkDefinition* network = builder->createNetwork();
CaffeParser* parser = createCaffeParser();
std::unordered_map<std::string, infer1::Tensor> blobNameToTensor;
const IBlobNameToTensor* blobNameToTensor =
parser->parse(locateFile(deployFile).c_str(),
    locateFile(modelFile).c_str(),
    *network,
    DataType::kFLOAT);

指示NvCaffeParser生成一个权重为32位浮点数的网络,但我们可以通过DataType :: kHALF生成一个16位权重的模型。
除填充网络定义外,解析器还会返回一个从NVCaffe blob名称映射到TensorRT张量的字典。
TensorRT网络定义没有就地操作的概念,例如,ReLU的输入和输出张量是不同的。 当NVCaffe网络使用就地操作时,字典中返回的TensorRT张量对应于最后一次写入该blob。 例如,如果卷积创建了一个blob,然后是一个就地的ReLU,那么该Blob的名称将映射到作为ReLU输出的TensorRT张量。
由于NVCaffe模型不会告诉哪些张量是网络的输出,需要在解析后明确指定这些张量:

for (auto& s : outputs)
      network->markOutput(*blobNameToTensor->find(s.c_str()));

对输出张量的数量没有限制,但是,将张量标记为输出,可能禁止对张量进行一些优化。
不要立即释放解析器对象,因为网络定义通过引用NVCaffe模型来保存权重,而不是按值。 只有在构建过程中才会从NVCaffe模型中读取权重。
timg

目录
相关文章
|
Python
Ubuntu22.04编译安装OpenVINO
Ubuntu22.04编译安装OpenVINO
1803 1
Ubuntu22.04编译安装OpenVINO
|
机器学习/深度学习 存储 并行计算
一篇就够:高性能推理引擎理论与实践 (TensorRT)
本文分享了关于 NVIDIA 推出的高性能的深度学习推理引擎 TensorRT 的背后理论知识和实践操作指南。
16374 9
一篇就够:高性能推理引擎理论与实践 (TensorRT)
|
机器学习/深度学习 人工智能 自然语言处理
一文搞懂【知识蒸馏】【Knowledge Distillation】算法原理
一文搞懂【知识蒸馏】【Knowledge Distillation】算法原理
一文搞懂【知识蒸馏】【Knowledge Distillation】算法原理
|
异构计算 计算机视觉 测试技术
【YOLO系列】YOLOv6论文超详细解读(翻译 +学习笔记)
【YOLO系列】YOLOv6论文超详细解读(翻译 +学习笔记)
2793 0
【YOLO系列】YOLOv6论文超详细解读(翻译 +学习笔记)
|
编解码 异构计算
RT-DETR改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
RT-DETR改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
1559 10
RT-DETR改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
|
机器学习/深度学习 算法 计算机视觉
YOLOv11改进策略【SPPF】| SimSPPF,简化设计,提高计算效率
YOLOv11改进策略【SPPF】| SimSPPF,简化设计,提高计算效率
946 13
YOLOv11改进策略【SPPF】| SimSPPF,简化设计,提高计算效率
|
存储 人工智能 数据库
终于有人把数据中心讲明白了
数据中心是支撑数字世界运行的核心基础设施,承担数据存储、计算、传输等关键任务。它由IT资源层(包括计算、存储、网络)和物理设施层(电力、制冷、建筑)构成,通过稳定、高效的环境保障数据安全与业务连续性。本文详解数据中心的功能、组成及衡量标准,帮助数据化建设者全面理解其运作原理与价值。
7990 10
|
机器学习/深度学习 监控 算法
YOLOv3没有比这详细的了吧
YOLOv3没有比这详细的了吧
|
机器学习/深度学习 编解码 计算机视觉
深度学习笔记(十一):各种特征金字塔合集
这篇文章详细介绍了特征金字塔网络(FPN)及其变体PAN和BiFPN在深度学习目标检测中的应用,包括它们的结构、特点和代码实现。
2953 0
|
机器学习/深度学习 人工智能 算法
一文读懂目标检测AI算法:R-CNN,faster R-CNN,yolo,SSD,yoloV2
## 1 引言 深度学习目前已经应用到了各个领域,应用场景大体分为三类:物体识别,目标检测,自然语言处理。上文我们对物体识别领域的技术方案,也就是CNN进行了详细的分析,对LeNet-5 AlexNet VGG Inception ResNet MobileNet等各种优秀的模型框架有了深入理解。本文着重与分析目标检测领域的深度学习方法,对其中的经典模型框架进行深入分析。 目标检测可以
21161 0