![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
tensorrt
文章平均质量分 82
昌山小屋
917
展开
-
【模型转换】onnx转tensorrt报错:Attribute not found: axes
terminate called after throwing an instance of 'std::out_of_range' what(): Attribute not found: axesAborted (core dumped) ##features = features.permute(0, 2, 1, 3).squeeze(3).squeeze(0).contiguous() features = features.squeeze...原创 2021-08-22 15:07:40 · 2808 阅读 · 3 评论 -
【模型加速】PointPillars模型TensorRT加速实验(7)
按照【模型加速】PointPillars模型TensorRT加速实验(7)中给出的思路对已有的推理代码进行优化,简而言之就是保持数据在GPU显存中流动,尽量避免内存和显存之间的流动。PFN推理v2def pfn_inference(self,engine,inputs): if self.pfn_context is None: self.pfn_context = engine.create_execution_context() ...原创 2021-08-15 15:47:29 · 1105 阅读 · 1 评论 -
【TensorRT】execute_async VS execute_async_v2
https://docs.nvidia.com/deeplearning/tensorrt/api/python_api/infer/Core/ExecutionContext.htmlexecute_async(self: tensorrt.tensorrt.IExecutionContext, batch_size: int = 1, bindings: List[int], stream_handle: int, input_consumed: capsule = None)→ bo...原创 2021-08-14 16:01:51 · 4633 阅读 · 2 评论 -
【模型加速】PointPillars模型TensorRT加速实验(6)
在【模型加速】PointPillars模型TensorRT加速实验(5)文末给出的实验结果表明,当前针对PFN的TensorRT的加速方案是有缺陷的,相比直接使用Pytorch GPU推理非但没有达到理想的加速效果,反而是更慢了。当你把PFN推理代码中最核心的3个步骤的时间消耗都打印出来你可以明显的看到这样一个事实:主机内存和设备内存之间的数据拷贝耗时比你想象中的要大得多。#synct1 = time.time()for hdm in inputs_hdm:cuda.memcpy...原创 2021-08-14 15:20:13 · 891 阅读 · 0 评论 -
【模型加速】PointPillars模型TensorRT加速实验(5)
MFN转TensorRT引擎MFN CPU推理MFN GUDA InferenceRPN ONNX-TensorRT InferenceFPN TensorRT InferenceRPN TensorRT InferenceAfter-Process原创 2021-08-01 15:38:26 · 1410 阅读 · 0 评论 -
【模型加速】PointPillars模型TensorRT加速实验(4)
接上一篇文章PointPillars模型加速实验(3),到目前为止我们已经成功的将PointPillars网络部分的3大组件PFN,MFN和RPN分别导出了onnx。接下来要将onnx文件build成TensorRT engine并序列化到文件中。对于一般的网络,onnx模型转TensorRT还是比较容易的,目前TensorRT官方对onnx模型的支持是最好的。官方的转换工具TensorRT Backend For ONNX(简称ONNX-TensorRT)也比较成熟了,最新版本已经到8.0.1....原创 2021-07-25 23:02:39 · 3140 阅读 · 2 评论 -
【玩转PointPillars】Ubuntu16.04虚拟环境中安装onnx-tensorrt
之所以安装onnx-tensorrt,是因为PointPillars用Pytorch训练的模型在转onnx后,我们借助onnx-tensorrt使用tensorrt进行模型推理,以达到模型加速的目的。 凡是不申明自己环境的软件部署都是耍流氓,我在尝试了多个不同的软件环境(包括操作系统,Python,CUDA等)后,在以下环境中成功了。ubuntu 18.04 cuda 10.2 python 3.6 TensorRT 7.1.3.4 protobuf 3.14.0 cmake...原创 2021-07-07 15:52:55 · 1082 阅读 · 0 评论 -
【传感器标定】路侧激光雷达和相机的标定(2)
接上篇【传感器标定】路侧激光雷达和相机的标定(1),在上文中我提到我手上由若干相机和一个激光雷达,现在要做激光雷达和相机的联合标定,将激光雷达标定到相机。从数学原理来说就是求得激光雷达坐标系相机坐标系的外参矩阵,其中包含旋转和平移。旋转以欧拉角来表示,分别为翻滚(roll),俯仰(pitch)和偏航(yaw)。位移为tx,ty和tz。手动标定代码的过程中,通过按键控制激光雷达的旋转欧拉角以及平移量,将其转化为外参矩阵。通过外参矩阵和相机内参将点云投射到图像上去。不断调整雷达坐标系位姿在可视化...原创 2021-05-22 10:24:29 · 984 阅读 · 1 评论 -
【玩转yolov5】使用TensorRT C++ API搭建yolov5s-v4.0网络结构(3)
接上篇【玩转yolov5】使用TensorRT C++ API搭建v4.0网络结构(2),backbone部分已经讲完了,现在进入到neck部分。PANet在FPN的基础上增加了Bottom-up Path Augmentation,主要是考虑到网络的浅层特征中包含了大量的边缘形状等特征,他们对于实例分割这种像素级别的分类任务起到至关重要的作用。上图红色的箭头表示在FPN中,因为要经过自底向上的过程,浅层特征传到顶层要经过几十甚至上白层网络,浅层信息丢失严重。红色的箭头表示作者添加的Botto.原创 2021-05-09 11:20:41 · 1134 阅读 · 0 评论 -
【玩转yolov5】使用TensorRT C++ API搭建yolov5s-v4.0网络结构(2)
接上篇【玩转yolov5】使用TensorRT C++ API搭建v4.0网络结构(1)。上篇说完了CBL(conv+bn+激活),现在进入到CSP结构。yolov5s中设计了两种CSP结构,以yolov5s网络为例,CSP1_X结构应用于Backbone主干网络,另一种CSP2_X结构应用于Neck中。注意:上图仅供参考,yolov5s-v4.0实际结构以代码为准,有差异。CSP结构的实现统一在下面的C3函数中,通过输入参数控制宽度,深度以及结构类型等。auto bottleneck_C原创 2021-05-08 17:21:29 · 1577 阅读 · 0 评论 -
【玩转yolov5】使用TensorRT C++ API搭建yolov5s-v4.0网络结构(1)
class Focus(nn.Module): # Focus wh information into c-space # 先要做一个切片,然后再做一个concat def __init__(self, c1, c2, k=1, s=1, p=None, g=1, act=True): # ch_in, ch_out, kernel, stride, padding, groups super(Focus, self).__init__() ...原创 2021-05-08 11:09:48 · 2357 阅读 · 13 评论 -
【玩转yolov5】yolov5s模型转tensorrt后在服务器以及agx xavier上的测评
略...原创 2021-01-23 17:13:14 · 1339 阅读 · 5 评论