![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
TRT
文章平均质量分 70
库达ZT
这个作者很懒,什么都没留下…
展开
-
TRT4-trt-integrate -self-driving道路分析
后来的这里是加入了softmax,所以获得的是概率值,所以最终的输出output是1*512*596*4的概率值。然后就是process了,因为我的cropx和y都是0,而且type是Stretch,所以这里是仅仅只做了一个resize,其他的都没作。这里就能看到首先输入的名字是data,输入是1*512*896*3,输出的name是identity。因为swap_color是false,所以BGR----》RGB 不会做。可以看到这是一个全卷积网络,因为输入输出的宽高都一样。这里是做了一个norm。原创 2023-09-13 00:10:15 · 201 阅读 · 0 评论 -
TRT4-trt-integrate - 4 TRT的封装
看上去很庞大,但其实中间一大块:都是在打印详细信息。真正的这一块和咱们之前的没什么太大的区别。比之前省了很多的事情。 通常我们在定义input_device的时候,还会定义一块host上的内存,而这两者的大小近乎是完全一样的,所以既然着两者是成对出现的,我们将其打包到一起会不会更方便呢?GPU内存分配和复用:这个原理其实特别简单:就是比大小,如果之前你要了100字节,这次只要了50字节,那我根本就不用重新分配,直接把上一次的给你就好了,反正也没释放。但是如果这原创 2023-08-09 21:33:10 · 201 阅读 · 0 评论 -
TRT4-trt-integrate - 2 Unet分割模型 导出、编译、推理
这次我们来学习UNET分割模型如何进行导出这里最后的image_data就变成了一个标准的tensor格式这个net后来会变成一个Dataparallel的格式,这个格式对于我们导出是不太方便的,所以要在他改变之前将其导出。原创 2023-07-20 17:47:57 · 208 阅读 · 0 评论 -
TRT2-CUDA_Runtime_Api-1 驱动
GPU可以直接访问pinned memory,称之为(DMA Direct Memory Access)对于GPU访问而言,距离计算单元越近,效率越高,所以PinnedMemory原创 2023-06-30 00:39:41 · 81 阅读 · 0 评论 -
TRT4-trt-integrate - 1 YOLOV5导出、编译、推理
在这次过程中,warpaffine(预处理)和后处理过程都可以使用我们之前的核函数去处理,这一部分打包到GPU上的话性能会变得更高。原创 2023-07-19 19:12:20 · 1195 阅读 · 0 评论 -
TRT3-trt-basic - 6 Int8的量化
Int8量化类似于一个黑盒子,有一点蒸馏的感觉,用int8逼近fp32的推理结果。我们只需要按照步骤设定好参数之后set就可以,并不需要特别关注于他是怎么修改权重的量化就是将浮点数转为证书的过程比如有一个FP32的浮点型数字,然后我们需要把这个数变为整型,也就是要量化它,怎么搞。我们可以把这个数字乘上一个量化系数s,比如,那么量化后的值,然后我们对这个数字进行四舍五入(也就是round操作)最终为523。但这样就行了吗?523有点大啊。原创 2023-07-18 18:36:00 · 271 阅读 · 0 评论 -
TRT3-trt-basic - 5.1 封装插件
传入cu里的时候也是通过info传入,之后再通过config的读取就可以读取出来各种类型的文件,这样就不用再设置字符串类型还是float32类型。从导出的onnx文件也可以看出来,类型是plugin,name是MYSELU,剩下的都在info里。首先可以看到这次的g.op不再是MYSELU了,而是plugin,那为什么.cu还能识别出来呢?之前TRTbasic4是新增插件,这次我们看看不新增插件,仅凭封装可不可以达到一样的功能。而且在这里creator什么的用的都是默认的实现。原创 2023-07-18 14:16:51 · 310 阅读 · 0 评论 -
TRT3-trt-basic - 5 插件的编写
还是一模一样的genonnx.py但是不一样的是这里的激活算子改为了MYSELU其中这个MYSELUImpl就是咱们插件真正实现的一个类所有的插件都要继承于torch.autograd.Function其中MYSELUImpl.apply调用的就是forwardctx是上下文,x就是数据 , p就是parameter。但forward不会实际上生成节点,真正在onnx中生成节点的是g就是graph , x , p 就是参数了我们将这个模型导出:能看到,relu已经变成MYSELU了。原创 2023-07-17 19:59:30 · 239 阅读 · 0 评论 -
TRT3-trt-basic - 4 ONNX结构
1、ONNX的本质,是一种Protobuf格式文件2、Protobuf则通过onnx-ml.proto编译得到onnx-ml.pb.h和onnx-ml.pb.cc或onnx_ml_pb2.py3、然后用onnx-ml.pb.cc和代码来操作onnx模型文件,实现增删改4、onnx-ml.proto则是描述onnx文件如何组成的,具有什么结构,他是操作onnx经常参照的东西model:表示整个onnx的模型,包含图结构和解析器格式、opset版本、导出程序类型。原创 2023-07-17 16:49:24 · 133 阅读 · 0 评论