如下是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. 基于 .NET Core 的简单文件服务器

    Netnr.FileServer 基于 .NET Core 的简单文件服务器,数据库为SQLite 源码 https://github.com/netnr/blog https://gitee.com ...

  2. CSS让高度百分百的方案

    一般用来上下所有居中,但是这时候auto的计算是全屏像素,从而得到满屏 position: fixed; left: 0px; right: 0px; top: 0px; bottom: 0px; m ...

  3. salt python msgpack.exceptions.

    msgpack.exceptions.UnpackValueError: 'utf-8' codec can't decode byte 0x82 in position 22: invalid st ...

  4. vue之新手使用

    vue中文网站:https://cn.vuejs.org/v2/guide/installation.html  包含了安装.使用.api.视频. 一. 什么是 Vue Vue 是一个前端框架,特点是 ...

  5. 探索JAVA并发 - 可重入锁和不可重入锁

    本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...

  6. 分享一个web安全学习站点

    大神建议: https://blog.knownsec.com/Knownsec_RD_Checklist/v3.0.html#FMID_1218170279FM https://websec.rea ...

  7. adb shell常用命令

    一.文件操作相关命令 1.文件操作命令 子命令 参数 说明 cd 无 进入目录 cat [-beflnstuv] [-B bsize] [file...] 查看文件内容-n:显示行号-b:显示行号,但 ...

  8. day06数组、数组声明和赋值、数组复制、数组排序

    复习 1.do-while 1)语法 do{ //循环体 }while(<条件>); 2.while和do-while 1)while 先判断,后执行 初始条件不满足,一次都不执行 2)d ...

  9. 记录MyBatis text类型 查询 更新 数据是null

    数据库表里面存在text或者blob字段.逆向工程自动生成的MyBatis的xml中会多出几个以withBlobs结尾的方法和resultMap 此时查询数据或者更新数据的使用仍然使用selectBy ...

  10. 让 Lua 访问数据库

    Lua 自身并没有提供访问数据库的函数,但是借助外部扩展库我们可以很容易实现对数据库的各种操作,下面就为大家介绍这样一个扩展库 - LuaSQL,你可以在下载区得到它. LuaSQL 定义了一套简单的 ...