福州营销网站建设技术,产品开发项目管理全流程,亚马逊站外推广网站怎么做,js打开本wordpresstorch.matmul() 将两个张量相乘划分成了五种情形#xff1a; 一维 一维、二维 二维、一维 二维、二维 一维、涉及到三维及三维以上维度的张量的乘法。
1.如果两个张量都是一维的#xff0c;即 torch.Size([n]) #xff0c;此时返回两个向量的点积。作用与 torch.dot() …torch.matmul() 将两个张量相乘划分成了五种情形 一维 × 一维、二维 × 二维、一维 × 二维、二维 × 一维、涉及到三维及三维以上维度的张量的乘法。
1.如果两个张量都是一维的即 torch.Size([n]) 此时返回两个向量的点积。作用与 torch.dot() 相同同样要求两个一维张量的元素个数相同。
2.如果两个参数都是二维张量那么将返回矩阵乘积。作用与 torch.mm() 相同同样要求两个张量的形状需要满足矩阵乘法的条件即n×m×m×pn×p 3.如果第一个参数是一维张量第二个参数是二维张量那么在一维张量的前面增加一个维度然后进行矩阵乘法矩阵乘法结束后移除添加的维度。
第一个参数是大小为n的1-D张量第二个参数为n×m张量那么在一维张量的前面增加一个维度也就是第一个参数变成1 x n的张量,正常的torch.mm。4.如果第一个参数是二维张量矩阵第二个参数是一维张量向量那么将返回矩阵×向量的积。作用与 torch.mv() 相同。另外要求矩阵的形状和向量的形状满足矩阵乘法的要求。
第一个参数是n×m张量第二个参数是大小为m的1-D张量也就是第二个参数是mx1张量输出将是大小为n的1-D也就是nx1的张量正常的torch.mm。5.如果两个参数均至少为一维且其中一个参数的 ndim 2。这条规则将所有涉及到三维张量及三维以上的张量的乘法分为三类一维张量 × 高维张量、高维张量 × 一维张量、二维及二维以上的张量 × 二维及二维以上的张量。
如果第一个参数是一维张量那么在此张量之前增加一个维度。
如果第二个参数是一维张量那么在此张量之后增加一个维度。
由于上述两个规则所有涉及到一维张量和高维张量的乘法都被转变为二维及二维以上的张量 × 二维及二维以上的张量。
然后除掉最右边的两个维度对剩下的维度进行广播。然后就可以进行批量矩阵乘法。