我的数据位于tf记录
文件。这个简单的代码使用tf.数据。数据集
应用程序编程接口。然而,每100个批次的计算时间会增加。为什么会这样?如何解决?
导入张量流作为tf导入时间sess=tf.Session()数据集=tf.data。TFRecordDataset(“/tmp/data/train.tfrecords”)dataset=数据集.repeat()dataset=数据集.batch(3)迭代器=数据集.make_one_shot_iterator()prev_step=时间.time()对于步进范围(10000):张量=迭代器.get_next()fetches=sess.run(张量)如果步骤%200==0:打印(“自上次%7.5f以来的步骤%6i时间”%(Step,time.time()-prev_Step))prev_step=时间.time()
这将输出以下时间:
自上次0.01432以来的步骤0时间步骤200自上次1.85303以来的时间自上次2.15448以来的步骤400时间自上次2.65473以来的步骤600时间步骤800自上次3.15646以来的时间自上次3.72434以来的步进1000次步骤1200自上次4.34447以来的时间自上次5.11210以来的步骤1400次自上次5.87102以来的步骤1600时间自上次6.61459以来的步骤1800次自上次7.57238以来的步骤2000时间自上次8.33060以来的步骤2200时间自上次9.37795以来的步骤2400时间
tfrecords文件包含用编写的MNIST图像这是Tensorflow文档中的HowTo
为了缩小问题范围,我复制了从磁盘读取原始图像的代码。在这种情况下,每200批的时间如预期一样保持不变。
现在我的问题是:
- 代码的哪一部分增加了计算时间?
- 我应该将此作为Tensorflow github中的一个bug归档吗?
解决了的!
回答我自己的问题:移动获取_文本()
环路外