博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Tensor RT学习笔记(四)
阅读量:5928 次
发布时间:2019-06-19

本文共 1757 字,大约阅读时间需要 5 分钟。

构建阶段:

在构建阶段,TensorRT采用网络定义,执行优化并生成推理引擎。
构建阶段可能需要相当长的时间,尤其是在嵌入式平台上运行时。 因此,典型的应用程序将构建一次引擎,然后将其序列化以备后用。
构建阶段在层图上执行以下优化::

  • 消除其输出不使用卷积,偏差和ReLU操作融合的图层
  • 具有足够相似参数和相同源张量的操作聚合(例如,GoogleNet v5初始模块中的1x1卷积)
  • 通过将层输出指向正确的最终目的地来合并连接层。

此外,构建阶段还在虚拟数据上运行图层以从其内核目录中选择最快的,并在适当的情况下执行加权预格式化和内存优化。

执行阶段:
在执行阶段,运行以下任务:

  • 运行时执行优化的引擎。
  • 引擎使用GPU上的输入和输出缓冲区运行推理任务。

命令行包装器( Command Line Wrapper):

样本目录中包含一个名为giexec的TensorRT命令行包装器。 它对基于随机数据的网络进行基准测试和从这些模型生成序列化引擎非常有用。
命令行参数如下所示:

Mandatory params :--deploy = 
Caffe deploy file--output =
Output blob name(can be specified multiple times) Optional params :--model =
Caffe model file(default = no model, random weights used) --batch = N Set batch size(default = 1) --device = N Set cuda device to N(default = 0) --iterations = N Run N iterations(default = 10) --avgRuns = N Set avgRuns to N - perf is measured as an average of avgRuns(default = 10) --workspace = N Set workspace size in megabytes(default = 16) --half2 Run in paired fp16 mode(default = false) --int8 Run in int8 mode(default = false) --verbose Use verbose logging(default = false) --hostTime Measure host time rather than GPU time (default = false) --engine =
Generate a serialized GIE engine --calib =
Read INT8 calibration cache file

例如:

giexec --deploy=mnist.prototxt --model=mnist.caffemodel --output=prob

如果没有提供模型,则生成随机权重。

TensorRT Lite:
包含在Python API中的是一个高度抽象的界面,称为TensorRT Lite。 TensorRT Lite API在构建引擎和执行推理时处理几乎所有事情,因此用户只需创建引擎并开始处理数据即可。
TensorRT Lite API位于tensorrt.lite中,包含一个名为Engine的类。 引擎构造函数接受模型定义以及输入和输出图层,并构建围绕它的完整引擎以进行推理。
在内部,Lite引擎为您创建记录器,TensorRT引擎,运行时和上下文,然后为引擎分配GPU内存。
自定义记录器,插件,校准器和分析器等功能可以从构造函数传递。
timg

转载地址:http://dkrvx.baihongyu.com/

你可能感兴趣的文章
QueryRunner类的八种结果处理集
查看>>
面向对象,类,构造函数,方法重载
查看>>
Shell之Sed常用用法
查看>>
全新的版本与二次发布的版本的测试顺序区别
查看>>
多字节与宽字节
查看>>
DNS
查看>>
微信图片防盗链解决办法
查看>>
前端-跨域
查看>>
网络攻防第四周作业
查看>>
java_jdk环境变量的设置
查看>>
异常处理的捕捉:try{}catch(异常类 变量)finally{最终执行}
查看>>
ActivityManager.MemoryInfo 小问题
查看>>
也谈LBP
查看>>
伪类选择器
查看>>
Activity的生命周期
查看>>
swift NSURLSession 使用方法
查看>>
每天一个小算法(Heapsort)
查看>>
R语言--ggplot2包
查看>>
Struts2执行原理
查看>>
Discuz模板的制作方法
查看>>