我是deepLearning和tensorflow的新手。我正在尝试使用tensorflow和places365标准数据集创建一个神经网络。
我在tensorFlow的MNIST示例中看到,在开始时你必须加载所有数据。如果您有一个小数据集,那很好,但事实并非如此。 Places365数据集每个类有5000个图像。我正在尝试只加载10个类,但我的RAM内存无法处理所有这些。这不是必要的,因为每次迭代(epoch)我将只使用128个图像。
这不是分批分割数据集的方法,而是在训练它们之前加载图像吗?
这是一些代码,我认为批量假设imageTrain是一个np.arrays列表,我已经加载了所有照片:
while(fin != (len(imageTrain)-1)):
ini = counter*BATCH_SIZE
fin = (counter + 1)*BATCH_SIZE
if fin > len(imageTrain):
fin = len(imageTrain) - 1
batch_imageTrain = np.reshape(imageTrain[ini:fin],[(fin-ini),256,256,1])
batch_labelTrain = labelTrain[ini:fin]
counter = counter + 1
任何人都可以帮助我吗? 提前谢谢。
答案 0 :(得分:0)
我想我已经找到了解决方案。正如它在这个链接中所说:
我可以保存在列表中,所有照片的名称,然后加载它们,然后仅加载我需要进行培训的照片。 我提到的变量(imageTrain)将是一个字符串列表,其中每个字符串是每个图像的路径。
希望很清楚!