MindSpore ms_function动静结合

ms_function在MindSpore的PyNative模式下用于提升执行性能,通过静态编译方式运行被修饰的函数或Cell成员函数,实现动静结合。本文档详细介绍了其使用方法和工作原理,包括修饰独立函数和Cell成员函数的示例,以及ms_function的实现原理和注意事项。
摘要由CSDN通过智能技术生成

概述

ms_function的作用是在PyNative模式下提升执行性能。在MindSpore框架中,PyNative模式(即动态图模式)下,用户可以使用完整的Python语法,更加简单方便地使用MindSpore进行网络调优。与此同时,PyNative模式也会导致一部分性能的损失。

ms_function支持在PyNative模式下,让被ms_function修饰的程序以静态图的方式来运行。ms_function会将修饰的程序通过静态编译的方式来生成可执行图,整体下发执行,从而提升该修饰部分的执行性能。

本文档主要介绍ms_function的使用方法和工作原理,以便您可以更有效地使用ms_function功能。

修饰独立函数

使用ms_function装饰器时,可以对独立定义的函数进行修饰。

代码如下:


import numpy as np
import mindspore.ops as ops
from mindspore import context, Tensor, dtype, ms_function

@ms_function
def add_func(x, y):
    return ops.add(x, y)


context.set_context(mode=context.PYNATIVE_MODE)
x = Tensor(np.ones([3, 3], dtype=np.float32))
y = Tensor(np.ones([3, 3], dtype=np.float32))
out = add_func(x, y)
print(out)

代码输出结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值