来自生成器的张量流数据集

时间:2019-02-20 18:51:34

标签: python tensorflow

我正在使用这样的代码从目录中递归加载图像并获取相关的标签-目录名。但是,当我有更多图像时,它会由于内存错误而崩溃。我想使用发电机,但是我真的很固执。有人可以帮忙吗?没有生成器的代码是:

VC++ Directories --> Library Directories: $(ProjectDir)lib;$(LibraryPath)

1 个答案:

答案 0 :(得分:-1)

您不需要使用tf.data.Dataset.from_generator。使用tf.data.Dataset.from_tensor_slices从图像创建数据集会将数据块写入tf.constant(),浪费了内存。有了足够大的数据集,您可以达到Tensorflow的2GB GraphDef限制。 您只需要使用占位符

定义数据集
features_placeholder = tf.placeholder(features.dtype, features.shape)
labels_placeholder = tf.placeholder(labels.dtype, labels.shape)

dataset = tf.data.Dataset.from_tensor_slices((features_placeholder, labels_placeholder))

如此处所述 https://www.tensorflow.org/guide/datasets#consuming_numpy_arrays