如何加载一个非常大的Tensorflow并创建minibatchs?

时间:2017-01-31 01:32:05

标签: python tensorflow

我有一个用python代码写入磁盘的hdf5文件(我只有文件,而不是代码)。此文件的大小为90GB,此文件中的数据格式如下:(N,250,360,3)。正如旁注所示,数据无法适应内存。

现在我想在Tensorflow中编写一个数据加载器,每次只从该文件加载M个样本(M小于N)。

最好的方法是什么?任何指向代码的指针都将受到高度赞赏。

感谢。 Ĵ

1 个答案:

答案 0 :(得分:1)

Tensorflow MNIST教程展示了如何做到这一点: https://www.tensorflow.org/tutorials/mnist/beginners/

如果你看一下Github上的实现,你会发现它使用next_batch函数一次读取100个输入批量。

next_batch的实施生活在这里: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/learn/python/learn/datasets/mnist.py#L160

您需要为您的数据集实现类似的功能。我对HDF5并不是特别熟悉,但您可以使用任何Python库来进行加载;它不一定要特定于Tensorflow。

希望有所帮助!