美文网首页金融基础技术与业务
python中的广播机制(broadcasting)

python中的广播机制(broadcasting)

作者: AryaHooper | 来源:发表于2018-02-01 17:14 被阅读0次

    在python中使用numpy进行按位运算的时候,有一个小技巧可以帮助减少代码量——那就是broadcasting,广播机制。
    简单来说,broadcasting可以这样理解:如果你有一个mn的矩阵,让它加减乘除一个1n的矩阵,它会被复制m次,成为一个mn的矩阵,然后再逐元素地进行加减乘除操作。同样地对m1的矩阵成立

    image.png

    举个栗子

    A = numpy.array([1,2,3])
    result = A + 100
    print(result)
    

    会得到结果

    [101 102 103]
    

    不需要你去写A + [100, 100, 100]了

    同样地

    A = np.array([[1,2,3],[4,5,6]])
    result = A + [100, 200, 300]
    print(result)
    

    会得到

    [[101 202 303]
     [104 205 306]]
    

    broadcasting机制在深度学习函数构建中应用得很广,比如说我们在逻辑回归函数中,激活函数z = wT * X + b, b是一个数而前面的wT * X是一个1*n的矩阵,由于python这种机制,不需要我们为b构建向量,这就减轻了代码量。

    相关文章

      网友评论

        本文标题:python中的广播机制(broadcasting)

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