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 版权协议,转载请附上原文出处链接和本声明。