当前位置:网站首页>tensorRT教程——tensor RT OP理解(实现自定义层,搭建网络)
tensorRT教程——tensor RT OP理解(实现自定义层,搭建网络)
2022-08-04 05:29:00 【TigerZ*】
首先如果你的自定义操作可以通过一些矩阵操作来实现,那么你大可不必自己去通过plug in的方式实现,可以使用tensor RT 的OP来组合实现。
他的OP极其类似tensor flow的操作,如果看到不理解,那就去谷歌tensor flow的操作,触类旁通即可,但仍有一些文档描述错误。
一些我使用过典型的OP备注如下,并附上一个测试OP的脚本,按需修改即可:
1、reduce层的理解:
reduce主要是在各个轴上进行对应的操作。
axes,注意官方说的是bit。可以组合然后对应到int,比如对于NCHW要进行全局平均池化,那么此时的axes对应的轴应该是H和W组合起来就是bit1+bit2对应int的6。
keep_dim就是reduce后对应轴压缩为一个数,如果为false则维度降低1(或者N,看对几个轴进行操作,比如前面的全局平均池化,就是对两个维度操作,降低2维);如果为True则对应轴置为1,如NCHW全局平均池化后变为NC11。
2、constant层理解:
主要是提供了一种从外界输入数据的方法。
权重的参数类型为weight,weight可以冲numpy直接自动转换,所以可以直接载入numpy对象,通过get_output返回itensor。
用途:比如gather操作的index要求为itensor类型,itensor类型并没有构造函数,所以可以通过constant layer来返回itensor。
3、shuffle层理解:
shuffle层完成了转置和reshape的功能。
需要通过建立层后对该层的后面三个参数进行赋值。
4、gather层的理解:
对于NCHW,axis 0、1、2分别代表C、H、W轴。indices设置[x]对应取batch size的x层、x行、x列,但要注意当x为列表多个值时返回值的顺序按照行列通道顺序。
5、unarry层的理解:
主要用于对每个元素进行同样的一元操作,可以进行的运算如下,要注意:
平方不是exp,exp是以e为底数的对应元素值次方,平方需要使用
传递参数的时候,传递的是(两个tensorrt,不是字符串)tensorrt.tensorrt.UnaryOperation.SUM
6、network.mark_output
注意:
当需要在passer网络后面加东西时,需要将结果unmark;
在网络最后需要使用mark标注网络,再调试网络输出时,可以不注释调试层后面的层,只需要使用mark_output该层就可以。
7、view的处理
View的参数要在size后面加item。
8、他们的全连接层中得bias如果没有,要自定义一个0矩阵,而不是API说的可选。
边栏推荐
- 字典特征提取,文本特征提取。
- 【CV-Learning】语义分割
- 【论文阅读】TransReID: Transformer-based Object Re-Identification
- TensorFlow2 study notes: 8. tf.keras implements linear regression, Income dataset: years of education and income dataset
- PostgreSQL schema (Schema)
- 动手学深度学习_卷积神经网络CNN
- 【论文阅读】Anchor-Free Person Search
- (十三)二叉排序树
- Pytorch语义分割理解
- 线性回归简介01---API使用案例
猜你喜欢
【CV-Learning】Convolutional Neural Network
【深度学习21天学习挑战赛】1、我的手写被模型成功识别——CNN实现mnist手写数字识别模型学习笔记
两个APP进行AIDL通信
TensorFlow2学习笔记:7、优化器
Matplotlib中的fill_between;np.argsort()函数
TensorFlow2 study notes: 7. Optimizer
【CV-Learning】Image Classification
Attention Is All You Need(Transformer)
彻底搞懂箱形图分析
【CV-Learning】目标检测&实例分割
随机推荐
【CV-Learning】Image Classification
Data reading in yolov3 (1)
Usage of RecyclerView
剑指 Offer 2022/7/1
光条中心提取方法总结(二)
Learning curve learning_curve function in sklearn
线性回归02---波士顿房价预测
动手学深度学习_softmax回归
with recursive用法
动手学深度学习_线性回归
多项式回归(PolynomialFeatures)
计算某像素点法线
SQL练习 2022/6/30
PyTorch
yolov3 data reading (2)
postgresql 事务隔离级别与锁
动手学深度学习_卷积神经网络CNN
Lee‘s way of Deep Learning 深度学习笔记
简单明了,数据库设计三大范式
AIDL communication between two APPs