Tensorflow tf.train.shuffle_batch () Невозможно создать протор-тензор, содержание которого превышает 2 ГБ. - PullRequest
0 голосов
/ 29 мая 2018

У меня возникли проблемы с использованием 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> массив 2 ГБ в качестве входных данных для tf.slice_input_producer )

Кто-тоесть идея?

[CONFIG: TITAN X 12Go, 32Go RAM, тензор потока 1.4.1, python 2.7.15, CUDA 8.0]

...