建网站哪家好新闻word版免费个人简历模板
机器学习与目标检测(数组相加:形状需要满足哪些条件)
- 机器学习与目标检测(数组相加:形状需要满足哪些条件)
 - 一、形状相同
 - 1.1、形状相同示例程序
 
- 二、符合广播机制
 - 2.1、符合广播机制的描述
 - 2.2、符合广播机制的示例程序
 

机器学习与目标检测(数组相加:形状需要满足哪些条件)

数组相加-形状需要满足的条件如下所示
一、形状相同
1.1、形状相同示例程序
形状相同示例程序如下所示
arr_a = np.array([1, 2, 3, 4])
arr_b = np.array([6, 7, 8, 9])
arr_add = np.add(arr_a, arr_b)
print('1 数组形状相同')
print('arr_a = ', arr_a)
print('arr_b = ', arr_b)
print('np.add(arr_a, arr_b) = ', arr_add, '\n')
 
形状相同示例程序运行如下所示
1 数组形状相同
arr_a =  [1 2 3 4]
arr_b =  [6 7 8 9]
np.add(arr_a, arr_b) =  [ 7  9 11 13]
 

二、符合广播机制

2.1、符合广播机制的描述
符合广播机制的描述如下所示
- (1):如果两个数组的维度数不相同,那么小维度数组的形状将会在最左边补 1。
 - (2): 如果两个数组的形状在任何一个维度上都不匹配,那么数组的形状会沿着维度 为 1 的维度扩展以匹配另外一个数组的形状。

 
2.2、符合广播机制的示例程序
符合广播机制的示例程序如下所示
print('2 符合广播机制')
arr_a = np.array(range(12)).reshape(3, 4)
arr_b = np.array([1, 2, 3, 4])
arr_a_ndim = arr_a.ndim
arr_b_ndim = arr_b.ndim
arr_add = np.add(arr_a, arr_b)
print('arr_a = \n', arr_a)
print('arr_b = ', arr_b)
print('arr_a_ndim = ', arr_a_ndim)
print('arr_b_ndim = ', arr_b_ndim)print('np.add(arr_a, arr_b) = \n', arr_add, '\n')
 
符合广播机制的示例程序运行如下所示

arr_a = [[ 0  1  2  3][ 4  5  6  7][ 8  9 10 11]]
arr_b =  [1 2 3 4]
arr_a_ndim =  2
arr_b_ndim =  1
np.add(arr_a, arr_b) = [[ 1  3  5  7][ 5  7  9 11][ 9 11 13 15]]
 

