tf.train.batch 显示元素不足

tf.train.batch is showing insufficient elements

我正在研究基于 LSTM 的模型。数据由 80000 张图像组成。我使用的 batchsize 为 1 并得到以下错误日志:

OutOfRangeError (see above for traceback): PaddingFIFOQueue '_1_Train_data/batch/padding_fifo_queue' is closed and has insufficient elements (requested 1, current size 0) [[Node: Train_data/batch = QueueDequeueManyV2[component_types=[DT_FLOAT, DT_STRING, DT_INT32], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](Train_data/batch/padding_fifo_queue, Train_data/batch/n)]]

有人可以建议可能是什么问题吗?因为对于我尝试过的所有可能的批量大小,fifoqueue 大小显示为 0。

错误与 LSTM 无关,您是从 tf.train.batch 得到的。 您必须将 TF 局部变量与全局变量一起初始化。 从这个未解决的问题 https://github.com/tensorflow/tensorflow/issues/1045 看来,初始化的顺序很重要。

global_init_op = tf.global_variables_initializer()
local_init_op = tf.local_variables_initializer()

with tf.Session() as sess:
    sess.run(global_init_op)
    sess.run(local_init_op)
    # rest of your code

数据库中的一些图像已损坏,导致程序 运行 出现此错误。删除了这些图像,现在工作正常。