mindspore.ms_function ===================== .. image:: https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.3.q1/resource/_static/logo_source.svg :target: https://gitee.com/mindspore/mindspore/blob/r2.3.q1/docs/api/api_python/mindspore/mindspore.ms_function.rst :alt: 查看源文件 .. py:function:: mindspore.ms_function(fn=None, input_signature=None, hash_args=None, jit_config=None) 将Python函数编译为一张可调用的MindSpore图。 MindSpore可以在运行时对图进行优化。 .. note:: - `ms_function` 将在未来版本中弃用和移除,请改用 :func:`mindspore.jit`。 - 如果指定了 `input_signature` ,则 `fn` 的每个输入都必须是Tensor,并且 `fn` 的输入参数将不会接受 `**kwargs` 参数。 参数: - **fn** (Function) - 要编译成图的Python函数。默认值: ``None`` 。 - **input_signature** (Tensor) - 用于表示输入参数的Tensor。Tensor的shape和dtype将作为函数的输入shape和dtype。 `fn` 实际输入的shape和dtype应与 `input_signature` 相同,否则会出现TypeError。默认值: ``None``。 - **hash_args** (Union[Object, List or Tuple of Objects]) - `fn` 里面用到的自由变量,比如外部函数或类对象,再次调用时若 `hash_args` 出现变化会触发重新编译。默认值: ``None`` 。 - **jit_config** (JitConfig) - 编译时所使用的JitConfig配置项。默认值: ``None`` 。 返回: 函数,如果 `fn` 不是None,则返回一个已经将输入 `fn` 编译成图的可执行函数;如果 `fn` 为None,则返回一个装饰器。当这个装饰器使用单个 `fn` 参数进行调用时,等价于 `fn` 不是None的场景。