广告
返回顶部
首页 > 资讯 > 后端开发 > Python >PyTorch中torch.matmul()函数常见用法总结
  • 143
分享到

PyTorch中torch.matmul()函数常见用法总结

Python 官方文档:入门教程 => 点击学习

摘要

目录一、函数介绍二、常见用法2.1 两个一维向量的乘积运算2.2 两个二维矩阵的乘积运算2.3 一个一维向量和一个二维矩阵的乘积运算2.4 一个二维矩阵和一个一维向量的乘积运算2.5

一、函数介绍

PyTorch中两个张量的乘法可以分为两种:

  • 两个张量对应元素相乘,在PyTorch中可以通过torch.mul函数(或*运算符)实现;
  • 两个张量矩阵相乘,在PyTorch中可以通过torch.matmul函数实现;

torch.matmul(input, other) → Tensor
计算两个张量input和other的矩阵乘积
【注意】:matmul函数没有强制规定维度和大小,可以用利用广播机制进行不同维度的相乘操作。

二、常见用法

torch.matmul()也是一种类似于矩阵相乘操作的tensor连乘操作。但是它可以利用python中的广播机制,处理一些维度不同的tensor结构进行相乘操作。这也是该函数与torch.bmm()区别所在。

2.1 两个一维向量的乘积运算

若两个tensor都是一维的,则返回两个向量的点积运算结果:

import torch
x = torch.tensor([1,2])
y = torch.tensor([3,4])
print(x,y)
print(torch.matmul(x,y),torch.matmul(x,y).size())

运行结果:

tensor([1, 2]) tensor([3, 4])
tensor(11) torch.Size([])

2.2 两个二维矩阵的乘积运算

若两个tensor都是二维的,则返回两个矩阵的矩阵相乘结果:

import torch
x = torch.tensor([[1,2],[3,4]])
y = torch.tensor([[5,6,7],[8,9,10]])
print(torch.matmul(x,y),torch.matmul(x,y).size())

运行结果:

tensor([[21, 24, 27],[47, 54, 61]]) torch.Size([2, 3])

2.3 一个一维向量和一个二维矩阵的乘积运算

若input为一维,other为二维,则先将input的一维向量扩充到二维(维数前面插入长度为1的新维度),然后进行矩阵乘积,得到结果后再将此维度去掉,得到的与input的维度相同。

import torch
x = torch.tensor([1,2])
y = torch.tensor([[5,6,7],[8,9,10]])
print(torch.matmul(x,y),torch.matmul(x,y).size())

运行结果:

tensor([21, 24, 27]) torch.Size([3])

【分析】:首先将x维度从(2)扩充为(,2),然后将x(,2) 与y(2,3)进行相乘,得到(,3),最后去掉一维部分,得到(3)

2.4 一个二维矩阵和一个一维向量的乘积运算

若input为二维,other为一维,则先将other的一维向量扩充到二维(维数后面插入长度为1的新维度),然后进行矩阵乘积,得到结果后再将此维度去掉,得到的与other的维度相同。

import torch
x = torch.tensor([[1,2,3],[4,5,6]])
y = torch.tensor([7,8,9])
print(torch.matmul(x,y),'\n',torch.matmul(x,y).size())

运行结果:

tensor([ 50, 122])
torch.Size([2])

【分析】:首先y维度从(3)扩充为(3,),然后将x(2,3)与x(2,)进行相乘,得到(2,),最后去掉一维部分,得到(2)

【总结】:2.3和2.4基本类似,唯一不同的是2.3中一维向量和二维矩阵的乘积运算需要在一维向量前面插入长度为1的新维度(x为一维向量,y为二维矩阵);2.4中二维矩阵和一维向量的乘积运算需要在一维向量后面插入长度为1的新维度(x为二维矩阵,y为一维向量)。

2.5 其他

其他的暂时用不上,有需要的可以自行查阅相关资料~

参考:https://cloud.tencent.com/developer/article/1802317

到此这篇关于PyTorch中torch.matmul()函数用法总结的文章就介绍到这了,更多相关PyTorch torch.matmul()函数用法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: PyTorch中torch.matmul()函数常见用法总结

本文链接: https://www.lsjlt.com/news/209290.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PyTorch中torch.matmul()函数常见用法总结
    目录一、函数介绍二、常见用法2.1 两个一维向量的乘积运算2.2 两个二维矩阵的乘积运算2.3 一个一维向量和一个二维矩阵的乘积运算2.4 一个二维矩阵和一个一维向量的乘积运算2.5...
    99+
    2023-05-15
    PyTorch torch.matmul()函数用法 PyTorch torch.matmul() PyTorch torch.matmul()函数
  • PyTorch中torch.matmul()函数怎么使用
    这篇文章主要介绍了PyTorch中torch.matmul()函数怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇PyTorch中torch.matmul()函数怎么使用文章都会有所收获,下面我们一起来看...
    99+
    2023-07-06
  • python中常见函数总结
    目录 1.range()是一个函数 2.Python数学函数 3、Python随机数函数 4、python的字符串内建函数 5.文件操作函数 6、zip函数 7、python内置函数set 8.python中的round()函数 9.字典...
    99+
    2023-09-06
    python 算法 开发语言
  • JavaScript中常见的高阶函数总结
    目录前言map函数reduce函数filter函数sortevery方法find方法findIndex方法foreach方法总结前言 一个函数可以接受另一个函数作为参数,就把这个函数...
    99+
    2022-11-13
  • Moment.js常见用法总结
    Moment.js是一个轻量级的js时间处理类库,其使用简单,方便了日常开发中对时间的操作,提高了开发效率。 引用Moment.js npm install moment 常用的方...
    99+
    2022-11-13
  • SQLServer常见数学函数梳理总结
    目录SQLServer常见的数学函数1.绝对值函数ABS(x)和返回圆周率的函数PI()2.平方根函数SQRT(x)3.获取随机数的函数RAND()和RAND(x)4.四舍五入函数R...
    99+
    2022-11-13
    SQLServer数学函数 SQLServer函数
  • 总结JavaScript中BigIn函数常见的属性
    目录一、概述二、属性1. 数学运算符2. 比较运算符3. 布尔运算三、总结一、概述 BigInt 是一种特殊的数字类型,它提供了对任意长度整数的支持。 创建 bigint 的方式有两...
    99+
    2022-11-12
  • python Pool常用函数用法总结
    1、说明 apply_async(func[,args[,kwds]):使用非堵塞调用func(并行执行,堵塞方式必须等待上一个过程退出才能执行下一个过程),args是传输给func...
    99+
    2022-11-12
  • Python Pandas常用函数方法总结
    初衷 NumPy、Pandas、Matplotlib、SciPy 等可以说是最最最常用的 Python 库了。我们在使用 Python 库的时候,通常会遇到两种情况。以 Pandas 举例。 我想对 Pan...
    99+
    2022-06-02
    Pandas常用函数方法 python pandas
  • MySQL 常用函数总结
    前言: MySQL数据库中提供了很丰富的函数,比如我们常用的聚合函数,日期及字符串处理函数等。SELECT语句及其条件表达式都可以使用这些函数,函数可以帮助用户更加方便的处理表中的数据,使MySQL数据库的...
    99+
    2022-05-16
    mysql 函数 mysql 常用函数
  • php中常用的函数总结
    本篇内容主要讲解“php中常用的函数总结”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php中常用的函数总结”吧!1、字符串编码转换  functio...
    99+
    2022-10-19
  • Python中plt.scatter()函数的常见用法小结
    目录plt.scatter()函数用法一.scatter()函数的定义二.scatter()函数的用法plt.scatter()函数用法 一.scatter()函数的定义 matpl...
    99+
    2023-05-15
    plt.scatter()函数用法 plt.scatter()函数 python plt.scatter()
  • Mysql常用函数小总结
    Mysql数据库提供了大量的函数,学会使用将会事半功倍,以下分别为字符串函数,数值函数,时间和日期函数,系统函数 (一)字符串函数  CONCAT(s1,s2,...) 返回连接参数产生的字符串,一个或多个待拼接的内容...
    99+
    2019-09-24
    Mysql常用函数小总结
  • Python中index函数用法总结
    用途 如果我们需要在序列类型数据(字符串、元组、列表)中查找某个元素并输出对应的索引值,就需要使用到index()方法了。 index()方法 2.1 描述 index() 函数用于从序列s中找出某个值第一个出现时的索引位置。 2 用法...
    99+
    2023-09-03
    python
  • Python之Numpy 常用函数总结
    目录通用函数常见的简单数组函数一元函数二元函数通用函数 常见的简单数组函数 先看看代码操作: mport numpy as np # # 产生一个数组 arr=np.arange(1...
    99+
    2022-11-11
  • python3常用内置函数总结
    #(1)作用域print(globals()) #全局作用域,显示出全局所有函数和变量名print(locals()) #本地作用域,显示出当前所处作用域的函数和变量名 #(2)输入与输出a = input('请输入内容:') #...
    99+
    2023-01-31
    函数 常用
  • 常用oracle数据库函数总结
    wm_concat的基本语法    select proj_id,max(scale_valus) as scale_valus  &n...
    99+
    2022-10-18
  • PHP文件上传利用的常见函数总结大全
    目录前言1. deldot2. in_array3. intval4. strrchr5. strtolower6. strrpos7. str_ireplace8. strstr9...
    99+
    2022-11-13
  • oracle中add_months()函数及用法总结
    今天对add_months函数进行简单总结一下: add_months 函数主要是对日期函数进行操作,在数据查询的过程中进行日期的按月增加,其形式为: add_months(date,int);其中第一个参...
    99+
    2022-10-18
  • Python super( )函数用法总结
    目录一、super( ) 的用途二、了解 super 的基础信息三、典型用法3.1 单继承问题3.2 单继承问题拓展3.3 重复调用问题3.4 super(type) 问题一、super( ) 的用途 了解 supe...
    99+
    2022-06-02
    Python super函数 python函数
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作