not_to_static

@ paddle.jit. not_to_static [源代码]

被本装饰器装饰的函数在动转静过程不会进行动转静代码转写,但会保持原生的 Python code 执行,其内在的飞桨计算类算子会正常地被记录到 Program 中。

参数

  • function (callable):装饰的函数。

返回

callable,一个在动转静过程不会进行代码转写的函数。

示例代码

>>> import paddle

>>> @paddle.jit.not_to_static
... def func_not_to_static(x):
...     res = x - 1
...     return res

>>> @paddle.jit.to_static
... def func(x):
...     if paddle.mean(x) < 0:
...         out = func_not_to_static(x)
...     else:
...         out = x + 1
...     return out
...
>>> x = paddle.ones([1, 2], dtype='float32')
>>> out = func(x)
>>> print(out)
Tensor(shape=[1, 2], dtype=float32, place=Place(cpu), stop_gradient=True,
[[2., 2.]])