C++&TensorRT | TensorRT模型编译流程

本文详细介绍了C++结合TensorRT的工作流程,包括定义网络、优化builder参数、生成engine并序列化,以实现模型的快速传输和推理。通过代码结构展示如何定义builder、config和network,以及如何处理输入、模型结构和输出信息,最终生成并序列化engine模型文件。
摘要由CSDN通过智能技术生成

tensorrt的工作流程如下图:

  1. 首先定义网络

  2. 优化builder参数

  3. 通过builder生成engine,用于模型保存、推理等

  4. engine可以通过序列化和逆序列化转化模型数据类型(转化为二进制byte文件,加快传输速率)

  5. 再进一步推动模型由输入张量到输出张量的推理
    在这里插入图片描述
    代码结构:

  6. 定义 builder, config 和network,其中builder表示所创建的构建器,config表示创建的构建配置(指定TensorRT应该如何优化模型),network为创建的网络定义。

  7. 输入,模型结构和输出的基本信息(如下图所示)
    在这里插入图片描述

  8. 生成engine模型文件

  9. 序列化模型文件并存储

// tensorRT include
#include</
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在使用TensorFlow编译库之前,需要先安装TensorFlow和Protocol Buffers(PB)库。 1. 安装TensorFlow 可以通过以下命令来安装TensorFlow: ``` pip install tensorflow ``` 2. 安装Protocol Buffers(PB)库 可以通过以下命令来安装PB库: ``` pip install protobuf ``` 3. 编译PB模型编译PB模型之前,需要先将模型转换为PB格式。可以使用TensorFlow提供的freeze_graph.py脚本来将模型转换为PB格式: ``` python freeze_graph.py --input_graph=model.pb --input_checkpoint=model.ckpt --output_graph=frozen_model.pb --output_node_names=output_node_name ``` 其中,model.pb是模型的GraphDef文件,model.ckpt是模型的checkpoint文件,output_node_name是模型输出节点的名称。 接下来,使用TensorFlow提供的tensorflow.python.compiler.tensorrt.convert()函数来编译PB模型: ``` import tensorflow as tf # 加载PB模型 with tf.gfile.GFile('frozen_model.pb', "rb") as f: graph_def = tf.GraphDef() graph_def.ParseFromString(f.read()) # 编译PB模型 trt_graph = tf.python.compiler.tensorrt.convert( graph_def, max_batch_size=1, maximum_cached_engines=1, precision_mode="FP16", minimum_segment_size=3 ) # 保存编译后的模型 with tf.gfile.GFile('trt_model.pb', "wb") as f: f.write(trt_graph.SerializeToString()) ``` 其中,max_batch_size表示最大批处理大小,precision_mode表示推理精度,minimum_segment_size表示最小分段大小。 经过编译后,可以使用TensorRT来加速模型的推理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ASKCOS

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值