在Tensorflow中读取大型训练/验证/测试数据集

白色的

将多个大数据集加载到张量流中的正确方法是什么?

我有三个大数据集(文件),分别用于训练,验证和测试。我可以通过tf.train.string_input_producer成功加载训练集,并将其输入到tf.train.shuffle_batch对象中。然后,我可以迭代地获取一批数据以优化模型。

但是,当我尝试以相同的方式加载我的验证集时,我陷入了困境,即使我没有在string_input_producer中设置num_epochs,该程序仍会说“ OutOfRange Error”。

谁能给它一些照明?除此之外,我还在思考在张量流中进行训练/验证的正确方法是什么?实际上,我没有看到任何对大型数据集进行训练和测试的示例(我进行了大量搜索)。我真奇怪...

下面的代码段。

def extract_validationset(filename, batch_size):
  with tf.device("/cpu:0"):
    queue = tf.train.string_input_producer([filename])
    reader = tf.TextLineReader()
    _, line = reader.read(queue)

    line = tf.decode_csv(...)
    label = line[0]
    feature = tf.pack(list(line[1:]))

    l, f = tf.train.batch([label, feature], batch_size=batch_size, num_threads=8)
    return l, f

def extract_trainset(train, batch_size):
  with tf.device("/cpu:0"):
    train_files = tf.train.string_input_producer([train])
    reader = tf.TextLineReader()
    _, train_line = reader.read(train_files)

    train_line = tf.decode_csv(...)

    l, f = tf.train.shuffle_batch(...,
  batch_size=batch_size, capacity=50000, min_after_dequeue=10000,  num_threads=8)
  return l, f

....

label_batch, feature_batch = extract_trainset("train", batch_size)
label_eval, feature_eval = extract_validationset("test", batch_size)

with tf.Session() as sess:
  tf.initialize_all_variables().run()
  coord = tf.train.Coordinator()
  threads = tf.train.start_queue_runners(coord=coord)

  # Loop through training steps.
  for step in xrange(int(num_epochs * train_size) // batch_size):
    feature, label = sess.run([feature_batch, label_batch])
    feed_dict = {train_data_node: feature, train_labels_node: label}

    _, l, predictions = sess.run([optimizer, loss, evaluation], feed_dict=feed_dict)

    # after EVAL_FREQUENCY steps, do evaluation on whole test set
    if step % EVAL_FREQUENCY == 0:
      for step in xrange(steps_per_epoch):
      f, l = sess.run([feature_eval, label_eval])
      true_count += sess.run(evaluation, feed_dict={train_data_node: f, train_labels_node: l})

    print('Precision @ 1: %0.04f' % true_count / num_examples)

<!---- ERROR ---->
tensorflow.python.framework.errors.OutOfRangeError: FIFOQueue '_5_batch/fifo_queue' is closed and has insufficient elements (requested 334, current size 0)
 [[Node: batch = QueueDequeueMany[component_types=[DT_FLOAT, DT_FLOAT], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](batch/fifo_queue, batch/n)]]

由op u'batch'引起,定义为:

用户3391229

可能已经晚了,但我遇到了同样的问题。就我而言,我用coord.request_stop(),coord.join_threads()关闭商店后,愚蠢地调用了sess.run

也许您有一些类似coord.request_stop()的代码在“火车”代码中运行,从而在尝试加载验证数据时关闭了队列。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Tensorflow中读取大型训练/验证/测试数据集

来自分类Dev

Tensorflow中相同的训练数据和测试数据,神经网络的输出值不同

来自分类Dev

无法训练或测试数据

来自分类Dev

机器学习中的训练和测试数据

来自分类Dev

Matlab:如何在神经网络中禁用验证和测试数据集

来自分类Dev

如何在 Tensorflow 中拆分 LSTM 的训练数据和测试数据以进行时间序列预测

来自分类Dev

面部表情数据集的训练验证测试集拆分

来自分类Dev

使用R将数据按准则随机分为训练和测试数据集

来自分类Dev

训练和测试数据的偏差图

来自分类Dev

拆分训练和测试数据

来自分类Dev

如何以相同格式组合训练和测试数据集

来自分类Dev

我是否必须对训练和测试数据集分别进行一次热编码?

来自分类Dev

分离十个随机训练和测试数据集

来自分类Dev

随机分配给训练/测试数据集时,将R数据帧中的行分组在一起

来自分类Dev

如何将训练数据集上的线性回归结果应用于测试数据集?

来自分类Dev

如何将训练数据集上的线性回归结果应用到测试数据集上?

来自分类Dev

scikit学习中的高斯过程:训练数据性能好,测试数据性能差

来自分类Dev

python中的训练/验证/测试集以进行回归

来自分类Dev

python中的训练/验证/测试集以进行回归

来自分类Dev

使用R中的插入符号将100次随机训练和测试数据进行拆分

来自分类Dev

FANN中的函数可根据训练时设置的缩放参数来缩放测试数据

来自分类Dev

Spock:从CSV文件读取测试数据

来自分类Dev

如何训练大型数据集进行分类

来自分类Dev

内存错误:训练大型数据集

来自分类Dev

Sklearn训练数据和测试数据的大小不同

来自分类Dev

在共享任务中使用训练数据和测试数据

来自分类Dev

在测试数据集上获得预测,以在插入号中进行k倍交叉验证

来自分类Dev

SSAS-分类-如何将数据划分为:训练集-验证集-测试集

来自分类Dev

SSAS-分类-如何将数据划分为:训练集-验证集-测试集

Related 相关文章

  1. 1

    在Tensorflow中读取大型训练/验证/测试数据集

  2. 2

    Tensorflow中相同的训练数据和测试数据,神经网络的输出值不同

  3. 3

    无法训练或测试数据

  4. 4

    机器学习中的训练和测试数据

  5. 5

    Matlab:如何在神经网络中禁用验证和测试数据集

  6. 6

    如何在 Tensorflow 中拆分 LSTM 的训练数据和测试数据以进行时间序列预测

  7. 7

    面部表情数据集的训练验证测试集拆分

  8. 8

    使用R将数据按准则随机分为训练和测试数据集

  9. 9

    训练和测试数据的偏差图

  10. 10

    拆分训练和测试数据

  11. 11

    如何以相同格式组合训练和测试数据集

  12. 12

    我是否必须对训练和测试数据集分别进行一次热编码?

  13. 13

    分离十个随机训练和测试数据集

  14. 14

    随机分配给训练/测试数据集时,将R数据帧中的行分组在一起

  15. 15

    如何将训练数据集上的线性回归结果应用于测试数据集?

  16. 16

    如何将训练数据集上的线性回归结果应用到测试数据集上?

  17. 17

    scikit学习中的高斯过程:训练数据性能好,测试数据性能差

  18. 18

    python中的训练/验证/测试集以进行回归

  19. 19

    python中的训练/验证/测试集以进行回归

  20. 20

    使用R中的插入符号将100次随机训练和测试数据进行拆分

  21. 21

    FANN中的函数可根据训练时设置的缩放参数来缩放测试数据

  22. 22

    Spock:从CSV文件读取测试数据

  23. 23

    如何训练大型数据集进行分类

  24. 24

    内存错误:训练大型数据集

  25. 25

    Sklearn训练数据和测试数据的大小不同

  26. 26

    在共享任务中使用训练数据和测试数据

  27. 27

    在测试数据集上获得预测,以在插入号中进行k倍交叉验证

  28. 28

    SSAS-分类-如何将数据划分为:训练集-验证集-测试集

  29. 29

    SSAS-分类-如何将数据划分为:训练集-验证集-测试集

热门标签

归档