[tensorflow]关于静态图debug问题

  • Post author:
  • Post category:其他




1.原理

在tensorflow中,是通过在网络前向传播,计算梯度,反向传播的函数中,添加一个修饰器:@tf.function

tf.funciton通过一个装饰器来对函数进行编译,转化为tensorflow的静态计算图进行计算。让开发者在eager

mode下调试代码,然后通过装饰器@tf.function,非常方便的把调试好的代码一键转换为TensorFlow静态图,从而获得执行的高性能。

作者:LabVIEW_Python

链接:https://www.jianshu.com/p/c06bc70693f8

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。



2.函数被静态图修饰之后无法debug

如果在函数上加了修饰,例如 train()

 @tf.function(experimental_relax_shapes=True)
 def train()
 	...

那么我们在debug的时候是无法进入train()内部的.此时如果想要调试代码,需要把

@tf.function(experimental_relax_shapes=True)

注释调.就可以愉快的debug了.



版权声明:本文为condom10010原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。