调用
时出错example, label = tf.train.shuffle_batch(
[example, label],
batch_size=batch_size,
capacity=capacity,
min_after_dequeue=min_after_dequeue,
num_threads=num_preprocess_threads,
)
我一直收到这个错误,我不确定为什么会这样:
tensorflow.python.framework.errors_impl.CancelledError:RandomShuffleQueue'_4_shuffle_batch_1 / random_shuffle_queue'已关闭。
它似乎与保存训练数据的文件数有关。到目前为止,如果我使用较少但较大的文件,我不会得到这个问题。现在我有了一批新的数据,无论如何都会发生这种错误。
生成我的培训批次的完整代码在这里:
input_pipeline(instructions, batch_size, base_directory, num_epochs=None):
filename_list = [os.path.join(base_directory, x) for x in instructions.filename_list]
filename_queue = tf.train.string_input_producer(
filename_list, shuffle=True, capacity=100)
example, label, feature_name_list = read_binary_format(filename_queue, instructions)
num_preprocess_threads = 16
min_after_dequeue = 10000
capacity = min_after_dequeue + 3 * batch_size
example, label = tf.train.shuffle_batch(
[example, label],
batch_size=batch_size,
capacity=capacity,
min_after_dequeue=min_after_dequeue,
num_threads=num_preprocess_threads,
)
return tf.reshape(example, [batch_size,-1]), label
感谢任何帮助,我不知道导致此错误的原因。