logo头像

猪老大要进步!

神经网络训练--数据预读取和存储

本文于 1229 天之前发表,文中内容可能已经过时。

在我训练卷积神经网络的过程中,每一次训练都需要读取训练图片、测试图片,每一张图片都很大,所以读取数据就需要很长时间。但是训练的时候往往会把图片压缩,因此就产生了将图片第一次读取之后就以训练的shape存储在本地供下一次读取。

我们这里使用numpy将读取进来的图片数据和对用的label存储到同级目录下面。其中,load_images函数使用的是skimage和sklearn两个包,源码可见于tensorflow卷积等操作的高级封装

1
2
3
4
5
6
7
import numpy as np
#首先读取数据
path = './pics'
train_x,train_y = load_images(path)
# 转存为二进制文件方便下次读取
np.save("train_x.npy",train_x)
np.save("train_y.npy",train_y)

完成之后,下次训练时需要载入,则使用以下代码即可:

1
2
3
# 直接读取之前存储的二进制文件
train_x = np.load("train_x.npy")
train_y = np.load("train_y.npy")

这样就迅速得到了训练集内容。


以下是读取展示:

  • 展示其shape

  • 展示其图像

支付宝打赏 微信打赏

赞赏是不耍流氓的鼓励