禁用`@tf.功能`用于调试的装饰器?

2024-04-19 19:54:31 发布

您现在位置:Python中文网/ 问答频道 /正文

在TensorFlow 2中,^{}修饰符允许Python函数成为TensorFlow图(或多或少),并且可以带来一些性能改进。{但是,}这个时候。这使得使用Python调试器调试函数更加困难。有没有一种方法可以暂时禁用所有@tf.function装饰器,以便于调试?在


Tags: 方法函数tftensorflowfunction装饰修饰符性能
2条回答

您可以使用全局布尔变量DEBUG并将其应用于@tf.function中的autograph参数,如下所示:

import tensorflow as tf
DEBUG = False

@tf.function(autograph=not DEBUG)
def foo(x):
    return x + 1

否则,由于默认情况下是autograph=True,因此不确定是否可以不修改源代码。在

您可以使用^{}。在

请看这里:https://www.tensorflow.org/beta/guide/autograph#debugging。在

相关问题 更多 >