赞
踩
两个变量格式不统一,有时也可以运算:
情况1:两个数组各维度大小从后往前比对均一致。
如:
- A = np.zeros((2,5,3,4))
- B = np.zeros((3,4))
- print((A+B).shape) # 输出 (2, 5, 3, 4)
-
- A = np.zeros((4))
- B = np.zeros((3,4))
- print((A+B).shape) # 输出(3,4)
情况2:两个数组存在一些维度大小不相等时,有一个数组的该不相等维度大小为1
- A = np.zeros((2,5,3,4))
- B = np.zeros((2,1,1,4))
- print((A+B).shape) # 输出:(2, 5, 3, 4)
-
- A = np.zeros((1))
- B = np.zeros((3,4))
- print((A+B).shape) # 输出(3,4)
-
-
- # 下面是报错案例
- A = np.zeros((2,5,3,4))
- B = np.zeros((2,4,1,4))
- print((A+B).shape)
- ValueError: operands could not be broadcast together with shapes (2,5,3,4) (2,4,1,4)
- 为啥报错?因为A和B的第2维不相等。并且都不等于1.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。