NumPy 是经常要使用到的数据操作工具,各种函数/方法非常多, 功能非常强大。
flip 操作
在训练 CNN 进行图像识别的时候,常用的一种操作是 mirror, 在 NumPy 中的方法是:
1 | mat = mat[:,:,::-1] |
第一个 :
是指第一个维度不变,即在 channel * rows * cols
这种情况下,channel
这个维度不变
第二个 :
是指第二个维度不变
第三个 ::-1
是指第三个维度需要变化。从 [a,b,c]
变成 [c,b,a]
存储 numpy 数据
Python 的 pickle 方法在存储的内容大于 4G 的时候会报错,bug 造成的,如果是图像的 numpy
数据可以直接使用 numpy
的 savez
来保存数据。
1 | np.savez("dataset", train_data=train_data, train_label=train_label, val_data=val_data, val_label=val_label) |