如何在不通往OOM的情况下提供小批量产品?

时间:2017-08-17 04:50:31

标签: tensorflow out-of-memory mini-batch

我很抱歉我不擅长英语。

嗯..我正在尝试将包含4,000张图片的数据提供给给定的占位符。

例如

from PIL import Image

class dataset():
    def __init__(self):
        self.data = []
        for file in myfolder:
            image = np.asarray(Image.open(file))
            self.data.append(image)
    ...

...
X = tf.placeholder(tf.float32, shape = [None, 32, 32, 1])
trainer = ...minimize(loss)
...
X_data = dataset.next_batch(10)
sess.run(trainer, feed_dict={X: X_data})

这非常有效,但由于GPU内存不足,我无法增加批量大小。

我想......上面的代码将整个数据加载到一个数组中。所以我尝试在每次迭代时读取图像数据,但这需要很长时间:(

我该如何解决这个问题?或者将我自己的数据划分为K阵列并在GPU上加载数组?

0 个答案:

没有答案