一、何為廣播機制
a、廣播機制是Numpy(開源數值計算工具,用於處理大型矩陣)里一種向量化數組操作方法。
b、Numpy的通用函數(Universal functions) 中要求輸入的兩個數組shape是一致的,當數組的shape不想等的時候,則會使用廣播機制,調整數組使得兩個shape一致,滿足規則,則可以運算,否則就出錯。
二、遵守哪些規則
a、如果數組的秩不同,將秩較小的數組進行擴展,直到兩個數組的尺寸長度都一樣。
b、如果兩個數組在某個維度上的長度是相同的,或者其中一個數組在該維度上的長度為1,那么我們就說這兩個數組在該維度上是相容的。
c、如果兩個數組在所有維度上都是相容的,它們就能使用廣播。
d、廣播之后,兩個數組的尺寸將和較大的數組尺寸一樣。
e、在任何一個維度上,如果一個數組的長度為1,另一個數組長度大於1,那么在該維度上,就好像是對第一個數組進行了復制。
三、代碼 (python 3.6)
1 import numpy as np 2 3 # 矩陣x的每一行加上向量y, 將結果保存在矩陣result中 4 x = np.array([[1,2,3], [4,5,6], [7,8,9], [10,11,12]]) 5 y = np.array([0, 1, 0]) 6 # 使用廣播機制將y加到矩陣x的每一行上 7 result = x + y 8 print(result)