5. NumPy使用(下)
程序员文章站
2022-03-15 21:08:13
...
1. 通用的broadcasting准则
broadcasting的前提是运算是通过element-wise的运算
- 从尾部开始依次比较维度
- 是否相等
- 是否其中一个维度为1
- 依次进行比较,如果相等则跳过,如果不相等并且其中一个为1则可以进行broadcasting
例子:
# 可以进行broadcasting的例子
#一个图片的大小为: 2*2
# 乘以一个scalar 1*1 结果为2*2
a = np.arange(2*2).reshape(2,2)
b = a * 2
print(a) # [[0, 2], [4, 6]]
a (2,3)
b (3)
#不可以进行broadcasting的例子
a (2,3)
b (3,4)
#那怎么进行broadcasting呢
a = np.arange(3).reshape(3, 1) # [[0], [1], [2]] shape = [3, 1]
b = np.ones(2) # [1, 1] shape = (2)
a + b
# 则 a broadcasting行,b broadcating列,如下
a --> shape = (3,2) b ---> shape = (3, 2)
a = [[0, 0],[1, 1],[2, 2]]
b = [[1, 1],[1, 1],[1, 1]]
所以a + b等于
[[1 , 1], [2, 2], [3, 3 ]]
上一篇: Java用TCP实现简单的聊天
下一篇: 基础算法题-正则相关
推荐阅读
-
在Linux下通过命令行来操作使用Dropbox
-
Linux下安装使用cpulimit来限制CPU的利用率
-
Linux中在不破坏磁盘的情况下使用dd命令
-
使用EventBus + Redis发布订阅模式提升业务执行性能(下)
-
Nginx服务器下配置使用索引目录的教程
-
写自己的ROS节点使用(import)anaconda虚拟环境的包(在虚拟环境下运行)
-
解决Idea、WebStorm下使用Vue cli脚手架项目无法使用Webpack别名的问题
-
使用Python下的XSLT API进行web开发的简单教程
-
详解nodejs express下使用redis管理session
-
Mac下如何快速复制粘贴文件名以便使用