Numpy (Numerical Python) 数组相关知识

114 阅读1分钟

数组生成

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() 均可用来做数组合并