添加tensorflow批次时出现意外结果

时间:2017-06-21 13:16:14

标签: tensorflow neural-network training-data

我添加了代码来批量读取我的csv文件,我注意到它以一种糟糕的方式影响了我的损失。结果是这样的

超过3000个时期的损失
enter image description here
并提供更多视觉概览 enter image description here

所以方案1是我在我的csv中读取,将整个数组洗牌,然后每批次接收150个并经过3000次文件

在方案2中,我没有阅读完整文件,而是使用tensorflow网站上提出的方法。我更喜欢这种方法,因为我不必将大型csv文件读入我的内存。我的代码是这样的:

def input_pipeline(file, batch_size, num_epochs=None):
  filename_queue = tf.train.string_input_producer([file], num_epochs=num_epochs, shuffle=True)
  example, label = read_from_csv(filename_queue)
  min_after_dequeue = 1000
  capacity = min_after_dequeue + 3 * batch_size
  example_batch, label_batch = tf.train.shuffle_batch(
      [example, label], batch_size=batch_size, capacity=capacity,
      min_after_dequeue=min_after_dequeue,allow_smaller_final_batch=True)
  return example_batch, label_batch

时期数和批量大小相同。
除了从文件中读取数据的方式外,为什么使用相同的配置时结果如此不同?

修改
另一件事。张量流批处理方法慢了约7分钟(至少当我使用小csv时)。这是正常的吗?

0 个答案:

没有答案