to_static

@ paddle.jit.to_static

本装饰器将函数内的动态图API转化为静态图API。此装饰器自动处理静态图模式下的Program和Executor,并将结果作为动态图Tensor返回。输出的动态图Tensor可以继续进行动态图训练、预测或其他运算。如果被装饰的函数里面调用其他动态图函数,被调用的函数也会被转化为静态图函数。

示例代码

  1. import paddle
  2. from paddle.jit import to_static
  3. @to_static
  4. def func(x):
  5. if paddle.mean(x) < 0:
  6. x_v = x - 1
  7. else:
  8. x_v = x + 1
  9. return x_v
  10. x = paddle.ones([1, 2], dtype='float32')
  11. x_v = func(x)
  12. print(x_v) # [[2. 2.]]