美文网首页
2、张量运算

2、张量运算

作者: 丁功春 | 来源:发表于2021-04-19 17:41 被阅读0次

    2.1 张量的广播

    两个形状相同的张量相加显而易见,而两个形状不同的张量,例如我们将一个2D张量与一个向量相加,会产生什么结果?
    结论:较小的张量将会被广播,以匹配较大张量的形状
    那什么叫广播?
    (1)向较小的张量添加轴,使其ndim与较大的张量相同
    (2)将叫小的张量沿着新轴重复
    例如:

    a =
    [[ 0  1  2  3]
     [ 4  5  6  7]
     [ 8  9 10 11]]
    
    b = 
     [ 0  1  2  3 ]
    

    b经过上述两步,应该变为下面的样子:

    [[ 0  1  2  3 ]
     [ 0  1  2  3 ]
     [ 0  1  2  3 ]]
    

    因此a+b结果为

    [[ 0,  2,  4,  6],
     [ 4,  6,  8, 10],
     [ 8, 10, 12, 14]]
    

    2.2 张量点积

    张量之间的点积可以理解为矩阵相乘
    我们知道两个矩阵相乘,当矩阵A的列数(column)等于矩阵B的行数(row)时,A与B可以相乘。
    对于两个矩阵x和y,当且仅当x.shape[1]=y.shape[0]是,才可以做点积np.dot(x,y),得到(x.shape[1],y.shape[0])的矩阵,其元素为矩阵相乘的值

    2.3 张量变形

     x=np.array([[0., 1.],
                 [2., 3.],
                 [4., 5.]])
    x = x.reshape((2, 3))  #转换为2*3的矩阵
    x = x.transpose(x)    #矩阵转置,变为3*2的矩阵
    

    相关文章

      网友评论

          本文标题:2、张量运算

          本文链接:https://www.haomeiwen.com/subject/wuyilltx.html