如下是tensor乘法与加减法,对应位相乘或相加减,可以一对多

import torch
def add_and_mul():
x = torch.Tensor([[[1, 2, 3],
[4, 5, 6]], [[7, 8, 9],
[10, 11, 12]]])
y = torch.Tensor([1, 2, 3])
y = y - x
print(y)
'''
tensor([[[ 0., 0., 0.],
[-3., -3., -3.]], [[-6., -6., -6.],
[-9., -9., -9.]]])
'''
t = 1. - x.sum(dim=1)
print(t)
'''
tensor([[ -4., -6., -8.],
[-16., -18., -20.]])
'''
y = torch.Tensor([[1, 2, 3],
[4, 5, 6]])
y = torch.mul(y,x) #等价于此方法 y*x
print(y)
'''
tensor([[[ 1., 4., 9.],
[16., 25., 36.]], [[ 7., 16., 27.],
[40., 55., 72.]]])
'''
z = x ** 2
print(z)
"""
tensor([[[ 1., 4., 9.],
[ 16., 25., 36.]], [[ 49., 64., 81.],
[100., 121., 144.]]])
""" if __name__=='__main__':
add_and_mul()

矩阵的乘法,matmul和bmm的具体代码

import torch

def matmul_and_bmm():
# a=(2*3*4)
a = torch.Tensor([[[1, 2, 3, 4],
[4, 0, 6, 0],
[3, 2, 1, 4]],
[[3, 2, 1, 0],
[0, 3, 2, 2],
[1, 2, 1, 0]]])
# b=(2,2,4)
b = torch.Tensor([[[1, 2, 3, 4],
[4, 0, 6, 0]],
[[3, 2, 1, 0],
[1, 2, 1, 0]]]) b=b.transpose(1, 2)
# res=(2,3,2),对于a*b,是第一维度不变,而后[3,4] x [4,2]=[3,2]
#res[0,:]=a[0,:] x b[0,;]; res[1,:]=a[1,:] x b[1,;] 其中x表示矩阵乘法
res = torch.matmul(a, b) # 维度res=[2,3,2]
res2 = torch.bmm(a, b) # 维度res2=[2,3,2]
print(res) # res2的值等于res
"""
tensor([[[30., 22.],
[22., 52.],
[26., 18.]], [[14., 8.],
[ 8., 8.],
[ 8., 6.]]])
""" if __name__=='__main__':
matmul_and_bmm()

tensor的加减乘和矩阵乘法的更多相关文章

  1. 线性代数-矩阵-【3】矩阵加减 C和C++实现

    点击这里可以跳转至 [1]矩阵汇总:http://www.cnblogs.com/HongYi-Liang/p/7287369.html [2]矩阵生成:http://www.cnblogs.com/ ...

  2. JS生成数字加减乘法验证码

    给大家分享一个简单的js验证码生成代码 PS:该代码依赖Jquery1.4版本以上 传入元素 如productionVerificationCode(#\(("a")) 反回验证码 ...

  3. TensorFlow2.0矩阵与向量的加减乘

    1.矩阵加法使用 a = np.random.random((3,3))b = np.random.randint(0,9,(3,3)) ad = tf.add(a,b) 2.矩阵乘法注意 # ten ...

  4. 矩阵乘法&&矩阵快速幂&&最基本的矩阵模型——斐波那契数列

    矩阵,一个神奇又令人崩溃的东西,常常用来优化序列递推 在百度百科中,矩阵的定义: 在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合 ,最早来自于方程组的系数及常数所构成的方阵.这一 ...

  5. 洛谷 P4910 帕秋莉的手环 矩阵乘法+快速幂详解

    矩阵快速幂解法: 这是一个类似斐波那契数列的矩乘快速幂,所以推荐大家先做一下下列题目:(会了,差不多就是多倍经验题了) 注:如果你不会矩阵乘法,可以了解一下P3390的题解 P1939 [模板]矩阵加 ...

  6. JavaScript 加减危机——为什么会出现这样的结果?

    在日常工作计算中,我们如履薄冰,但是 JavaScript 总能给我们这样那样的 surprise~ 0.1 + 0.2 = ? 1 - 0.9 = ? 如果小伙伴给出内心的结果: 0.1 + 0.2 ...

  7. BZOJ 5082: 弗拉格 矩阵乘法

    如果单点而不是求 sigma 的话还是比较好办的. 遇到这种前缀和相减的矩阵乘法可以增设一个 0 使得后面的能先加到前面,然后再算. 这样的话可以使的最后算出的是前缀和相加的形式. code: #in ...

  8. CPU的自动调度矩阵乘法

    CPU的自动调度矩阵乘法 这是一个有关如何对CPU使用自动调度程序的文档. 与依靠手动模板定义搜索空间的基于模板的autotvm不同,自动调度程序不需要任何模板.用户只需要编写计算声明,而无需任何调度 ...

  9. 算法竞赛进阶指南0x34矩阵乘法

    文章目录 矩阵的相关性质再回顾 矩阵加速大法: ACWing205. 斐波那契 代码 ACWing206. 石头游戏 解题思路: 感受: 代码 矩阵的相关性质再回顾 对于一个矩阵 满足结合律 满足乘法 ...

随机推荐

  1. MooseFS 分布式存储

    一.MooseFS介绍 MooseFS主要由管理服务器(master).元日志服务器(Metalogger).数据存储服务器(chunkserver)构成. 管理服务器:主要作用是管理数据存储服务器, ...

  2. NodeJS2-3环境&调试----module.exports与exports的区别

    exports默认会给他设置为module.exports的快捷方式,可以把它的里面添加属性,但是我们不能修改它的指向,如果修改了它的指向那它和普通对象没有任何区别了.因为在CommonJS中,模块对 ...

  3. 《Java知识应用》Java发送邮件(QQ,163)

    1 准备 Jar包下载地址: 链接: https://pan.baidu.com/s/1kFZgWRR8yZaQH_baf6tzAg 提取码: x2e8 邮箱:授权码 2.案例: 通过QQ邮箱服务器 ...

  4. aspnet boilerplate 随笔二

    项目框架介绍: 1:Application: 在service里面事件具体业务,Dto相当于viewmodel实现了验证 2:Core:实现了数据层Model   3:EntityFrameworkC ...

  5. TP框架对数据库的操作

    1.添加数据       1.1添加一条数据 $user = new User; $user->name = 'thinkphp'; $user->email = 'thinkphp@qq ...

  6. openssl 证书请求和签名命令req基本分析

    一 基本概念: OpenSSL 是一个开源项目,其组成主要包括一下三个组件: openssl:多用途的命令行工具 libcrypto:加密算法库 libssl:加密模块应用库,实现了ssl及tls o ...

  7. Jupyter修改设置

    下载完anaconda后Jupyter默认目录是用户目录,默认浏览器是IE,让有强迫症的我有点难受,所以把它的默认目录和浏览器修改一下. 首先运行一下jupyter notebook --genera ...

  8. Python中的测试工具

      当我们在写程序的时候,我们需要通过测试来验证程序是否出错或者存在问题,但是,编写大量的测试来确保程序的每个细节都没问题会显得很繁琐.在Python中,我们可以借助一些标准模块来帮助我们自动完成测试 ...

  9. 一起学SpringMVC之异常处理

    在系统开发过程中,异常处理是不可避免,如果异常处理不好,会给用户造成很差的体验,本文主要讲解在SpringMVC开发过程中,异常处理的相关知识点,仅供学习分享使用,如有不足之处,还请指正. 概述 在S ...

  10. springboot + springcloud +nacos实战

    首先从整个软件的功能和应用场景来说,nacos更像consul,而非eureka,nacos设计的时候自带的配置中心功能,让我们省下了去搞springcloud config的时间,但这里并不是说na ...