关键词优化话术,许昌做网站优化,珠海企业宣传片制作,2017电商网站建设背景对tensor矩阵的维度变换#xff0c;加减乘除等是深度学习中的常用操作#xff0c;本文对一些常用方法进行总结
矩阵乘法 混合矩阵相乘#xff0c;官网
torch.matmul(input, other, *, outNone) → Tensor这个方法执行矩阵相乘操作#xff0c;需要第一个矩阵的最后一个维度… 对tensor矩阵的维度变换加减乘除等是深度学习中的常用操作本文对一些常用方法进行总结
矩阵乘法 混合矩阵相乘官网
torch.matmul(input, other, *, outNone) → Tensor这个方法执行矩阵相乘操作需要第一个矩阵的最后一个维度和第二个矩阵的第一个维度相同即假设我们有两个矩阵 A 和 B它们的 size 分别为 (m, n) 和 (n, p)那么 A x B 的 size 为 (m, p)。 矩阵点乘官网
torch.mul(input, other, *, outNone) → Tensor这个方法对矩阵做点积运算也可简写为*这个方法要求第一个矩阵的第一个维度和第二个矩阵的第一个维度对应。torch.dot()类似于mul()它是向量(即只能是一维的张量)的对应位相乘再求和返回一个tensor。
矩阵维度变换 tensor.view方法用于调整矩阵的维度这个方法要求矩阵在调整为度前后的元素个数必须是相同的官网例子 t torch.rand(4, 4)b t.view(2, 8)t.storage().data_ptr() b.storage().data_ptr() # t and b share the same underlying data.
True
# Modifying view tensor changes base tensor as well.b[0][0] 3.14t[0][0]
tensor(3.14)torch中对矩阵的压缩和解压操作torch.squeeze和torch.unsqueeze,这两种方法的作用是压缩矩阵中的某一个维度或者增加一个维度官网两种方法的详解可以参考我之前的笔记pytorch中的torch.squeeze和torch.unsqueeze。 矩阵填充官网torch.nn.functional.pad
torch.nn.functional.pad(input, pad, modeconstant, valueNone) → Tensor
Args:input四维或者五维的tensor Variabepad不同Tensor的填充方式1.四维Tensor传入四元素tuple(pad_l, pad_r, pad_t, pad_b)指的是左填充右填充上填充下填充其数值代表填充次数2.六维Tensor传入六元素tuple(pleft, pright, ptop, pbottom, pfront, pback)指的是左填充右填充上填充下填充前填充后填充其数值代表填充次数mode ’constant‘, ‘reflect’ or ‘replicate’三种模式指的是常量反射复制三种模式value填充的数值在contant模式下默认填充0modereflect or replicate时没有 如果给入的填充次数是负数该函数可以实现从该方向对矩阵的裁剪操作。 需要注意的是本文中提到的所有方法都支持broadcast操作也就是除了参与操作的最后两个维度矩阵,前面的所有维度都会被认为是batch以torch,matmul为例该方法使用两个tensor的后两个维度来计算其他的维度都可以认为是batch。假设两个输入的维度分别是 i n p u t ( 1000 × 500 × 99 × 11 ) input(1000×500×99×11) input(1000×500×99×11), o t h e r ( 500 × 11 × 99 ) other(500×11×99) other(500×11×99)那么我们可以认为 t o r c h . m a t m u l ( i n p u t , o t h e r ) torch.matmul(input,other) torch.matmul(input,other) 首先是进行后两位矩阵乘法得到 ( 99 × 99 ) (99×99) (99×99) 然后分析两个参数的batch size分别是 ( 1000 × 500 ) (1000×500) (1000×500)和 ( 500 ) (500) (500), 可以广播成为 ( 1000 × 500 ) (1000×500) (1000×500)因此最终输出的维度是 ( 1000 × 500 × 99 × 99 ) (1000×500×99×99) (1000×500×99×99)。