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) - 输入类型为Tensor、tuple[Tensor]或list[Tensor]。如果需要指定参数的shape中一个或多个维度为动态shape,可以将shape中相应维度设置为None。如果需要生成指定参数的shape是动态rank,可以将shape设置为None。

返回:

函数,返回指定了参数动态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)