从输入管道获取当前时期

时间:2017-05-20 21:15:44

标签: tensorflow

我正在使用带有纪元限制的#search-box { display: inline-block; font-size: 20pt; height: 25pt } #overlay { position: fixed; display: none; width: 100%; height: 100%; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0,0,0,0.3); z-index: 2; .spinner { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -ms-transofrm: translate(-50%, -50%); } } 来将数据输入到我的模型中。如何在培训期间获得此操作的当前时代?

我注意到图中有一些与此操作相关的节点,其中一个节点包含epoch limit ,但我无法找到存储实际当前值的位置。当然这被追踪到某个地方?

更一般地说,如何监控TFRecords管道中的当前时期?

1 个答案:

答案 0 :(得分:2)

我无法在TF中的任何地方找到它。

我的解决方案是手动完成,通过批量(无限)重复,并按我想要的频率调用我的节点(事先通过计算数据集中的项目数来确定,除以批量大小= 1历元)。

使用tensorflow.contrib.data.TFRecordDataset

最近发布的TF变得更容易了
d = TFRecordDataset('some_filename.tfrecords')
d = d.map(function_which_parses_your_protobuf_format)
d = d.repeat()
d = d.shuffle()
d = d.batch(batch_size)

然后,您可以使用

确定数据集的大小
record_count = sum([1 for r in tf.python_io.tf_record_iteration('your_filename.tfrecord')])

似乎更多的工作,但它提供了更好的灵活性,因为您可以,例如,使用缓存,因此您不必提前预处理数据集,因此可以将原始未触摸的数据集存储在tfrecord文件中。