欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

张量的加法、减法、乘法和矩阵乘法

最编程 2024-05-22 14:03:11
...
import torch """如下是tensor乘法与加减法,对应位相乘或相加减,可以一对多""" 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 t=1. - x.sum(dim=1) y= torch.Tensor([[1,2,3], [4,5,6]]) y=y*x z=x**2 print(y) print(z) """如下为矩阵乘法""" 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]] ]) #res=(2,3,2),对于a*b,是第一维度不变,而后3x4 * 4x2=3x2 res=torch.matmul(a,b.transpose(1,2))#维度res=[2,3,2] res2 = torch.bmm(a, b.transpose(1, 2))#维度res2=[2,3,2] print(res)#res2的值等于res """ tensor([[[30., 22.], [22., 52.], [26., 18.]], [[14., 8.], [ 8., 8.], [ 8., 6.]]]) """