У меня возникли проблемы с использованием 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]