Tensorflow tf.train.shuffle_batch()无法创建内容大于2GB的张量原型

时间:2018-05-29 15:18:11

标签: python python-2.7 tensorflow machine-learning gpu

我在大型数据集上使用tf.train.shuffle_batch()时遇到了一些麻烦。 我正在那样使用它:

x_train, y_train = tf.train.shuffle_batch(
    [images["train"], labels["train"]],
    batch_size=self.batch_size,            #I reduced it to 8
    capacity=50000,
    enqueue_many=True,
    min_after_dequeue=0,
    num_threads=16,
    seed=self.seed,
    allow_smaller_final_batch=True,
  )

其中:

images["train"].shape = (88179,64,64,3) #Training set of tiny-Imagenet
labels["train"].shape = (88179,)        #Related labels 

它输出了我的错误:

ValueError: Cannot create a tensor proto whose content is larger than 2GB.

事实上我尝试了一个较小的数据集(CIFAR-10),其中形状较小(以及160个batch_size):

images["train"].shape = (45000,32,32,3) #Training set of CIFAR-10
labels["train"].shape = (45000,)        #Related labels 

和tf.train.shuffle_batch()完美无缺。

我在这个问题上看到很多问题,但没有人在使用tf.train.shuffle_batch()(我看到一个但实际上没有回答:Tensorflow > 2GB array as an input for tf.slice_input_producer

有人有想法吗?

[CONFIG:TITAN X 12Go,32Go RAM,tensorflow 1.4.1,python 2.7.15,CUDA 8.0]

0 个答案:

没有答案
相关问题