一、问题说明

使用tensorrt进行加速的时候,遇到

需要自已定义torch.bmm进行替换。

二、问题解决

  1. 进入到安装torch2trt所在的converters目录,例如我的在/opt/conda/lib/python3.7/site-packages/torch2trt-0.3.0-py3.7-linux-x86_64.egg/torch2trt/converters/
  2. 创建bmm.py文件并写入以下内容
from torch2trt.torch2trt import *@tensorrt_converter('torch.bmm')
@tensorrt_converter('torch.Tensor.bmm')
def convert_bmm(ctx):input_a = ctx.method_args[0]input_b = ctx.method_args[1]output = ctx.method_returninput_a_trt, input_b_trt = trt_(ctx.network, input_a, input_b)layer = ctx.network.add_matrix_multiply(input_a_trt,trt.MatrixOperation.NONE, input_b_trt,trt.MatrixOperation.NONE)output._trt = layer.get_output(0)
  1. 打开与当前目录同级下的__init__.py文件,并添加以下内容即可。
from .bmm import convert_bmm

tensorrt遇到torch.bmm的解决相关推荐

  1. 关于torch.bmm()函数计算过程

    很多框架中提供的矩阵乘法都是出于简化计算的考虑,很多情况下在进行计算时候都会牵扯到 batch size 这一个维度,这就使得很多矩阵的计算是三维的,Pytorch中的bmm()函数就可以很方便的实现 ...

  2. 【pytorch】torch.mm,torch.bmm以及torch.matmul的使用

    torch.mm torch.mm是两个矩阵相乘,即两个二维的张量相乘 如下面的例子 mat1 = torch.randn(2,3) print("mat1=", mat1)mat ...

  3. torch.bmm()函数的使用

    torch.bmm()的使用: a=torch.Tensor([[[3,4],[1,2]],[[3,4],[1,2]],[[3,4],[1,2]]]) b=torch.Tensor([[[1,2],[ ...

  4. pytorch 之 torch.bmm()函数

    这是一个计算两个tensor之间乘积的函数,该函数要求两个tensor必须都是三维的,且对两个tensor维度有限制,要求啊a,b两个tensor有如下格式: a:(z,x,y) b:(z,y,c) ...

  5. torch.bmm() 与 torch.matmul()==>张量的相乘运算

    torch.bmm()强制规定维度和大小相同 torch.matmul()没有强制规定维度和大小,可以用利用广播机制进行不同维度的相乘操作 当进行操作的两个tensor都是3D时,两者等同. torc ...

  6. Pytorch教程之torch.mm、torch.bmm、torch.matmul、masked_fill

    文章目录 1.简介 2.torch.mm 3.torch.bmm 4.torch.matmul 5.masked_fill 1.简介 这几天正在看NLP中的注意力机制,代码中涉及到了一些关于张量矩阵乘 ...

  7. torch.bmm()

    文章目录 函数介绍 例子 函数介绍 torch.bmm(input, mat2, *, out=None) → Tensor 输入: input (Tensor) – the first batch ...

  8. torch.bmm()函数解读

    函数作用 计算两个tensor的矩阵乘法,torch.bmm(a,b),tensor a 的size为(b,h,w),tensor b的size为(b,w,m) 也就是说两个tensor的第一维是相等 ...

  9. 【Pytorch】torch. bmm()

    目录 简介 torch.bmm() 语法 作用 举例 参考 结语 简介 Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出-   ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C+ ...

最新文章

  1. JavaEE(1) - Weblogic 服务器管理的数据源
  2. 一文让你完全弄懂Stegosaurus
  3. 固定UILabel宽度分行显示
  4. exadata磁盘组无法mount恢复---惜分飞
  5. 远程桌面服务怎么测试_快速的远程服务测试
  6. by group 累加中文字段_EF 求和 GroupBy多个字段
  7. Mbox vs Maildir - 两者原理和区别
  8. 不想一直做底层码农的请进~
  9. python爬图代码实例_python爬虫爬取图片简单代码示例
  10. 基于MATLAB语音信号的处理与滤波
  11. jetbrains goland配置go开发环境
  12. gg修改器修改数值没有用怎么办_gg修改器修改游戏数值教程_gg修改器怎么修改数值_咖绿茵手游站...
  13. java 整理快捷键_idea快捷键整理
  14. Unity插件 - MeshEditor(九) 模型涡流扭曲特效(黑洞吸引特效)
  15. Pulseaudio入门介绍(一)
  16. 全球及中国飞行时间传感器芯片行业研究及十四五规划分析报告
  17. Android编程权威指南
  18. Android 4.0 UI设计规范
  19. 《谋圣鬼谷子》曝片花 徐麒雯饰演“姮娥”
  20. 将3D坐标转成2D坐标的方法

热门文章

  1. 《王者荣耀》伤害计算(数值研究)
  2. DSC和HD医学图像分割评价指标
  3. PS抠章、去水印-你懂得
  4. 做马来西亚Lazada的选品技巧是什么
  5. java网课|等待与唤醒线程池
  6. 简要介绍一下Dos/Windows格式文件和Unix/Linux格式文件(剪不断理还乱的\r\n和\n)
  7. 权威的计算机类期刊,计算机类期刊权威排名
  8. 字节跳动技术评级与面试
  9. Windows Server 2022 开始,DNS 客户端支持 DNS over-HTTPS (DoH)
  10. SQL中modify和alter用法区别