Python TensorFlow:如何使用';数字时代';在字符串\u输入\u生成器中

Python TensorFlow:如何使用';数字时代';在字符串\u输入\u生成器中,python,tensorflow,Python,Tensorflow,我无法在我的字符串\u输入\u生成器上启用历元限制,而不会出现超出范围错误(请求的x,当前大小为0)。我请求多少元素似乎无关紧要,总是有0个可用元素 这是我的文件队列生成器: def get_queue(base_directory): files = [f for f in os.listdir(base_directory) if f.endswith('.bin')] shuffle(files) file = [os.path.join(base_director

我无法在我的字符串\u输入\u生成器上启用历元限制,而不会出现超出范围错误(请求的x,当前大小为0)。我请求多少元素似乎无关紧要,总是有0个可用元素

这是我的文件队列生成器:

def get_queue(base_directory):
    files = [f for f in os.listdir(base_directory) if f.endswith('.bin')]
    shuffle(files)
    file = [os.path.join(base_directory, files[0])]
    fileQueue = tf.train.string_input_producer(file, shuffle=False, num_epochs=1)

    return fileQueue
如果我从字符串\u input\u producer中删除num\u epochs=1,它可以很好地创建样本

我的输入管道:

def input_pipeline(instructions, fileQueue):
    example, label, feature_name_list = read_binary_format(fileQueue, instructions)

    num_preprocess_threads = 16
    capacity = 20

    example, label = tf.train.batch(
        [example, label],
        batch_size=50000,    # set the batch size way bigger so we always return the full amount of samples from the file
        allow_smaller_final_batch=True,
        capacity=capacity,
        num_threads=num_preprocess_threads)

    return example, label
最后,我的会议:

with tf.Session(graph=tf.Graph()) as sess:
    train_inst_set = sf.DeserializationInstructions.from_filename(os.path.join(input_dir, "Train/config.json"))
    fileQueue = sf.get_queue(os.path.join(input_dir, "Train"))
    features_train, labels_train = sf.input_pipeline(train_inst_set, fileQueue)
    sess.run(tf.global_variables_initializer())

    coord = tf.train.Coordinator()
    threads = tf.train.start_queue_runners(coord=coord, sess=sess)

    train_feature_batch, train_label_batch = sess.run([features_train, labels_train])

问题是由以下原因引起的:

无论出于何种原因,tf.global_variable_initialiser不会初始化所有变量。您还需要初始化局部变量


到您的会话。

读取二进制格式
中,使用
尝试…除超出范围之外
构造来处理异常错误信息是什么?FIFOQueue“\u 1\u批处理/fifo\u队列”已关闭且元素不足(请求的200个,当前大小为0)。我请求多少元素似乎无关紧要,总是有0个可用元素。
sess.run(tf.group(tf.global_variables_initializer(), tf.local_variables_initializer()))