tensor的加减乘和矩阵乘法
如下是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的加减乘和矩阵乘法的更多相关文章
- 线性代数-矩阵-【3】矩阵加减 C和C++实现
点击这里可以跳转至 [1]矩阵汇总:http://www.cnblogs.com/HongYi-Liang/p/7287369.html [2]矩阵生成:http://www.cnblogs.com/ ...
- JS生成数字加减乘法验证码
给大家分享一个简单的js验证码生成代码 PS:该代码依赖Jquery1.4版本以上 传入元素 如productionVerificationCode(#\(("a")) 反回验证码 ...
- TensorFlow2.0矩阵与向量的加减乘
1.矩阵加法使用 a = np.random.random((3,3))b = np.random.randint(0,9,(3,3)) ad = tf.add(a,b) 2.矩阵乘法注意 # ten ...
- 矩阵乘法&&矩阵快速幂&&最基本的矩阵模型——斐波那契数列
矩阵,一个神奇又令人崩溃的东西,常常用来优化序列递推 在百度百科中,矩阵的定义: 在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合 ,最早来自于方程组的系数及常数所构成的方阵.这一 ...
- 洛谷 P4910 帕秋莉的手环 矩阵乘法+快速幂详解
矩阵快速幂解法: 这是一个类似斐波那契数列的矩乘快速幂,所以推荐大家先做一下下列题目:(会了,差不多就是多倍经验题了) 注:如果你不会矩阵乘法,可以了解一下P3390的题解 P1939 [模板]矩阵加 ...
- JavaScript 加减危机——为什么会出现这样的结果?
在日常工作计算中,我们如履薄冰,但是 JavaScript 总能给我们这样那样的 surprise~ 0.1 + 0.2 = ? 1 - 0.9 = ? 如果小伙伴给出内心的结果: 0.1 + 0.2 ...
- BZOJ 5082: 弗拉格 矩阵乘法
如果单点而不是求 sigma 的话还是比较好办的. 遇到这种前缀和相减的矩阵乘法可以增设一个 0 使得后面的能先加到前面,然后再算. 这样的话可以使的最后算出的是前缀和相加的形式. code: #in ...
- CPU的自动调度矩阵乘法
CPU的自动调度矩阵乘法 这是一个有关如何对CPU使用自动调度程序的文档. 与依靠手动模板定义搜索空间的基于模板的autotvm不同,自动调度程序不需要任何模板.用户只需要编写计算声明,而无需任何调度 ...
- 算法竞赛进阶指南0x34矩阵乘法
文章目录 矩阵的相关性质再回顾 矩阵加速大法: ACWing205. 斐波那契 代码 ACWing206. 石头游戏 解题思路: 感受: 代码 矩阵的相关性质再回顾 对于一个矩阵 满足结合律 满足乘法 ...
随机推荐
- mui 顶部选项卡的两种切换方式
mui 顶部选项卡的两种切换方式 第一种main页面 <!DOCTYPE html> <html> <head> <meta charset="ut ...
- ARTS-S gitlab与jenkins实现持续集成
jenkins配制 系统管理->管理插件->可选插件->选择安装 Gitlab Hook Plugin和Build Authorization Token Root Plugin插件 ...
- Linux IO多路复用之epoll网络编程
前言 本章节是用基本的Linux基本函数加上epoll调用编写一个完整的服务器和客户端例子,可在Linux上运行,客户端和服务端的功能如下: 客户端从标准输入读入一行,发送到服务端 服务端从网络读取一 ...
- Day 08 可变与不可变对象/列表与字典内置方法
目录 可变对象与不可变对象 可变对象 不可变对象 列表的内置方法 字典内置方法 可变对象与不可变对象 可变对象 对象指向的内存中的值会改变,当更改这个变量的时候,还是指向原来内存中的值,并且在原来的内 ...
- 【全栈修炼】OAuth2 修炼宝典
一.OAuth 概念 开放授权(OAuth)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. -- 维基百 ...
- Unity中文API参考手册
转载请标明原文地址:http://www.cnblogs.com/zhangyukof/p/6835582.html Unity5中文脚本手册 网页版 Unity API 执行顺序: Unity5中 ...
- hdu 2586 How far away?(LCA模板题+离线tarjan算法)
How far away ? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- keras模型保存和权重保存
模型保存和读取(包括权重): model.save('./model.h5') from keras import models model = models.load_model(./model.h ...
- Python面向对象-定制方法
Python中的class可以定义许多定制方法,可以让我们方便的生成特定的类. 我们之前介绍了__slots__.__len__(),python中还有许多这样的特殊函数: __str__ >& ...
- js简单动画:匀速动画、缓动动画、多物体动画以及透明度动画
主要实现以下几种简单的动画效果(其实原理基本相同): 1.匀速动画:物体的速度固定 2.缓动动画:物体速度逐渐变慢 3.多物体动画 4.透明度动画 效果实现: 1.匀速动画(以物体左右匀速运动为例) ...