Numpy——广播法则broadcasting
2018-03-20 23:42
483 查看
广播法则
广播法则是使通用函数有意义的处理不具有相同形状的输入,即numpy要求输入的数组shape是一致的,若数组的shape不一致,则会使用广播机制,调整数组使得shape相等,满足规则,则可以运算。规则如下:
让所有输入数组都向其中shape最长的数组看齐,shape中不足的部分都通过在前面加1补齐
输出数组的shape是输入数组shape的各个轴上的最大值
如果输入数组的某个轴和输出数组的对应轴的长度相同或者其长度为1时,这个数组能够用来计算,否则出错
当输入数组的某个轴的长度为1时,沿着此轴运算时都用此轴上的第一组值
>>> import numpy as np >>> a = np.array([1,2,3]) >>> b = np.array([1,2,3]) >>> print(a*b) [1 4 9] >>> #不想等时,则采用规则对齐 >>> a = np.array( [1,2,3]) >>> b = 2 >>> print(a * b) [2 4 6]
>>> arr1 = np.arange( 0,4).reshape(4,1) >>> arr1 array([[0], [1], [2], [3]]) >>> arr2 = np.array([1,2,3]) >>> arr2 array([1, 2, 3]) >>> arr1+arr2 array([[1, 2, 3], [2, 3, 4], [3, 4, 5], [4, 5, 6]])根据广播原则:arr1的shape为(4,1),arr2的shape为(3,),所以会同时在两个轴发生广播,arr1的shape变成(4,3),而arr2的shape变成(4,3),所以结果也为(4,3)
参考链接
https://www.cnblogs.com/yangmang/p/7125458.html
http://blog.csdn.net/hongxingabc/article/details/53149655
相关文章推荐
- Numpy中的广播(Broadcasting)
- Python的numpy中的 broadcasting(广播)机制
- numpy中的通用函数(ufunc)的广播机制(Broadcasting)依赖于数组shape属性
- numpy 中的 broadcasting(广播)机制
- Numpy中的广播(Broadcasting)
- Numpy中的广播(Broadcasting)
- Numpy中的广播(Broadcasting)
- 【python学习笔记】20:numpy广播、分段函数、频次统计
- laravel5.1 广播事件broadcasting event 实现web在线实时聊天(1) 安装配置
- numpy 中的 broadcasting 理解
- 理解numpy的broadcasting机制
- numpy的广播机制
- 通俗易懂的解释numpy中的广播
- 广播,多播(Broadcasting, Multicasting)
- Array Broadcasting in numpy
- numpy的神奇广播函数
- Numpy and Theano broadcasting
- numpy 广播
- numpy的广播机制
- 『PyTorch』第五弹_深入理解Tensor对象_中下:数学计算以及numpy比较_&_广播原理简介