Tensorflow tf.data自动调整

时间:2019-06-15 18:35:07

标签: tensorflow tensorflow-datasets

我正在阅读“数据加载的TF性能指南”部分。对于预取,它说,

  

tf.data API通过以下方式提供了软件流水线机制:   tf.data.Dataset.prefetch转换,可用于解耦   从消耗数据的时间开始生成数据的时间。在   特别是,转换使用后台线程和   内部缓冲区,可从输入数据集中提前获取元素   他们被要求的时间。预取的元素数量   等于(或可能大于)消耗的批次数量   通过一个培训步骤。您可以手动调整此值,   或将其设置为tf.data.experimental.AUTOTUNE,这将提示   tf.data运行时可在运行时动态调整值。

AUTOTUNE在内部做什么?使用哪种算法,启发式?

此外,在实践中,完成了哪些手动调整?

1 个答案:

答案 0 :(得分:1)

tf.data建立输入管道的性能模型,并运行优化算法以在所有可调操作中找到其CPU预算的良好分配。在输入管道运行时,tf.data会跟踪每次操作所花费的时间,以便将这些时间输入优化算法中。

OptimizationOptions对象可以控制自动调谐的行为。