mindspore.enable_dynamic

查看源文件
mindspore.enable_dynamic(**kwargs)[源代码]

用于指定参数的shape为动态shape或动态rank。

说明

  • 需要配合jit接口使用,不使用jit装饰器则无法使能动态shape和动态rank功能。

  • set_context(mode=GRAPH_MODE)nn.Cell 同时使用的场景下,使用 enable_dynamic 将会报错。

参数:
  • **kwargs (dict[str, Union[Tensor, tuple[Tensor], list[Tensor]]]) - 参数名称到动态shape配置的映射字典。字典的键为函数参数名,字典的值可以为Tensor、tuple[Tensor]或list[Tensor]类型。如需指定参数的shape中一个或多个维度为动态shape,可将shape中相应维度设置为None。如需指定参数的shape为动态rank,可将shape设置为None。

返回:

Function,装饰器函数,用于为被装饰的函数指定参数的动态shape信息。

支持平台:

Ascend GPU CPU

样例:

>>> import numpy as np
>>> import mindspore as ms
>>> from mindspore import Tensor
>>> from mindspore import enable_dynamic
>>> from mindspore import jit
...
>>> x = Tensor(np.random.randn(2, 3), ms.float32)
>>> y = Tensor(np.random.randn(2, 3), ms.float32)
...
>>> # Specify parameter y as dynamic shape
>>> @enable_dynamic(y=Tensor(shape=None, dtype=ms.float32))
>>> @jit
>>> def func(x, y):
...     return x + 1, y + 1
...
>>> out = func(x, y)