gpt4 book ai didi

tensorflow - tf.py_function和tf.function在目的上有什么区别?

转载 作者:行者123 更新时间:2023-12-03 15:48:28 24 4
gpt4 key购买 nike

尽管有什么渴望和什么不是什么的细微差别,但两者之间的差异却在我的脑海中迷惑了。据我所知,@tf.function装饰器在此方面有两个好处

  • 它将功能转换为TensorFlow图以提高性能,以及
  • 通过将许多(但不是全部)常用的Python运算解释为张量运算(例如tensor运算),从而提供了更加Pythonic的编码风格。将if转换为tf.cond等。

  • tf.py_function的定义来看,它似乎只是上面的#2。因此,当 tf.py_function可以提高启动性能并且没有前者无法序列化时,为什么还要对 tf.function感到困扰呢?

    最佳答案

    随着它们的改进,它们确实确实开始彼此相似,因此查看它们的来源很有用。最初的区别是:

  • @tf.function将python代码转换为一系列TensorFlow图节点。
  • tf.py_function将现有的python函数包装到单个图节点中。

  • 这意味着 tf.function要求您的代码相对简单,而 tf.py_function可以处理任何python代码,无论多么复杂。
    尽管这一行确实很模糊,但 tf.py_function进行了更多的解释,并且 tf.function接受了很多复杂的python命令,但一般规则保持不变:
  • 如果您的python代码中的逻辑比较简单,请使用tf.function
  • 当您使用复杂的代码时,例如大型外部库(例如,连接到数据库或加载大型外部NLP包),请使用tf.py_function
  • 关于tensorflow - tf.py_function和tf.function在目的上有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61564748/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com