numpy中的broadcasting
生活随笔
收集整理的這篇文章主要介紹了
numpy中的broadcasting
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Broadcasting 官方文檔
參考文檔
廣播機制應用:
將scalar擴充成array的形狀后,進行操作
從最后邊的維度開始匹配,當滿足下面兩個條件的任意一個時,兩個數組間是兼容的:
- 維度相等
- 有一個的維度為1.
如果上述兩個條件都無法滿足,則會拋出ValueError: operands could not be broadcast together exception is thrown
結果是在每個維度上取較大的值
二維數組與一維數組相加
(4,3) 與(3,)
b.shape [2,1,3]
c.shape [2,3]
從右邊開始,看兩個數組是否兼容,倒數第一位都是3,倒數第二位,b為1,擴充為c的2,最后結果d.shape = [2,2,3]
b的擴充過程[2,1,3] ——> [2,2,3]
擴充為
b'[[[0 1 2][0 1 2]][[3 4 5][3 4 5]]]c的擴充過程[2,3] ——> [2,2,3]
[[ 6 7 8][ 9 10 11]]變為
[[[ 6 7 8][ 9 10 11]] [[ 6 7 8][ 9 10 11]] ]相加后的結果d
[[[ 6 8 10][ 9 11 13]][[ 9 11 13][12 14 16]]]總結
以上是生活随笔為你收集整理的numpy中的broadcasting的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: permute、transpose、vi
- 下一篇: pytorch中tensorboard使