我正在使用带有纪元限制的#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管道中的当前时期?
答案 0 :(得分:2)
我无法在TF中的任何地方找到它。
我的解决方案是手动完成,通过批量(无限)重复,并按我想要的频率调用我的节点(事先通过计算数据集中的项目数来确定,除以批量大小= 1历元)。
使用tensorflow.contrib.data.TFRecordDataset
:
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文件中。