一个官方教程上@tf.function说:
为了获得最佳性能并使您的模型可在任何地方部署,请使用 tf.function 从您的程序中制作图形。感谢 AutoGraph,数量惊人的 Python 代码仅适用于 tf.function,但仍有一些陷阱需要警惕。
主要的收获和建议是:
- 不要依赖 Python 的副作用,如对象突变或列表追加。
- tf.function 最适合 TensorFlow 操作,而不是 NumPy 操作或 Python 原语。
- 如有疑问,请使用 for x in y 习语。
它只提到了如何实现带@tf.function注释的函数,而没有提到何时使用它。
关于如何决定我是否至少应该尝试用 注释函数是否有启发tf.function?似乎没有理由不这样做,除非我懒得去除副作用或更改诸如range()-> 之类的东西tf.range()。但如果我愿意这样做......
是否有任何理由不@tf.function用于所有功能?