一、问题说明

使用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. python 字典、列表、字符串 之间的转换
  2. application.yml 动态替换_新途锐改顶配矩阵大灯,动态流水尾灯
  3. mysql数据库开启慢查询日志
  4. windows 下anaconda创建环境慢的解决办法
  5. android 活动销毁不了,即使活动已经销毁,AsyncTask也不会停止
  6. php authcode java_PHP(authcode)加密解密
  7. php新建文件在指定目录下,PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台...
  8. 什么是SOHO一族?
  9. 城市智能交通项目实施方案
  10. C#通过WebBrowser对网页截图
  11. gmail更改个人信息_如何在不创建新电子邮件地址的情况下更改Gmail名称
  12. python包:scikit-learn
  13. 创意视频标题文字模板 Big Titles 2.0 | Premiere Pro
  14. 在Jmeter中添加的JSR223 Sampler后,目前网上资源只有python2.7的jar包,是否有哪位仁兄,有支持python3的jar包,请支持一次。
  15. 在计算机英语中 update是什么意思,电脑出现windows update是什么意思?
  16. Unity Shader入门精要第四章:学习Shader 所需的数学基础--坐标空间
  17. Inkcanvas 放大缩小变换
  18. arcmap 报错 add field failed
  19. 写在冬日的第一天--一个女程序员第十七年工作总结
  20. Z-Score如何计算

热门文章

  1. 高中数理化杂志高中数理化杂志社高中数理化编辑部2022年第21期目录
  2. 浅谈C/C++ 开发Excel插件之操作excel
  3. 英语语法三大从句刷题总结
  4. Python网络爬虫与信息提取(17)—— 题库爬取与整理+下载答案
  5. 开关电源(Switch Regulator)---Buck
  6. 聊天的一点笔记--顺便浅谈技术服务公司的激励制度设计
  7. 加州欧文计算机工程专业,加州大学欧文分校计算机工程专业本科直录申请条件...
  8. 发现内存不能read和written的原因以及解决方法
  9. 出现错误“0x7c938fea指令引用的0x00000010内存。该内存不能为written。”的另一种可能性
  10. 个人爆发式成长的25种思维 | 筛选思维