数组生成
numpy 的数组类型为 ndarray (N-dimensional Array Object),下面是一些常用的函数:
- np.array() 可以将列表或元组转换为 ndarray
- np.random 是一个随机模块,np.random.seed() 可以设置随机种子
- np.zeros()、np.ones()
- np.arrange()、np.linspace() 注意 range() 是 python 自带的函数,与 arrange() 功能类似
算数运算
对应元素相乘
用 np.multiply 或 *
这种乘法使得输出与输入形状一致,由此可知,深度学习中经过激活函数处理的数组不会改变 shape
例如 ReLU 函数,np.maximum(0,x) 会让 x 数组中的每个值与 0 进行比较
np.dot()
正常的矩阵乘法
数组变形
- reshape 与 resize
都能改变 shape,但是 reshape 只使用原数据,形状不合理会报错;而 resize 会自动删掉或复制原内容以满足新的形状
- T
input.T 将数组转置
- ravel 与 flatten
input.ravel() 按行展开 与 input.flatten() 效果相同
input.ravel('F') 按列展开
- squeeze
将数组 shape 中为 1 的维度去掉
- transpose
维度变换,input.transpose(1,2,0) 即可实现 RGB 转 GBR
- np.append()、np.concatenate()、np.stack() 均可用来做数组合并