Mat*_*att 5 python gpu machine-learning python-2.7 tensorflow
在大型数据集上使用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,
)
Run Code Online (Sandbox Code Playgroud)
哪里:
images["train"].shape = (88179,64,64,3) #Training set of tiny-Imagenet
labels["train"].shape = (88179,) #Related labels
Run Code Online (Sandbox Code Playgroud)
它向我输出此错误:
ValueError: Cannot create a tensor proto whose content is larger than 2GB.
Run Code Online (Sandbox Code Playgroud)
确实,我尝试了一个较小的数据集(CIFAR-10),该数据集的形状较小(和batch_size为160):
images["train"].shape = (45000,32,32,3) #Training set of CIFAR-10
labels["train"].shape = (45000,) #Related labels
Run Code Online (Sandbox Code Playgroud)
和tf.train.shuffle_batch()完美地工作。
我在这个问题上看到了很多问题,但是在人们使用tf.train.shuffle_batch()的地方没有(我看到一个问题,但实际上没有答案:Tensorflow> 2GB数组作为tf.slice_input_producer的输入)
有人有主意吗?
[配置:TITAN X 12Go,32Go RAM,张量流1.4.1,python 2.7.15,CUDA 8.0]
归档时间: |
|
查看次数: |
198 次 |
最近记录: |