MindSpore中的算子使用

 时间:2024-10-24 19:29:25

1、MindSpore支持多种类型的算子,用户可根据算子支持列表查询。如果已有的算子不满足实际需求,用户也可以开发自定义算子。在提供深度学习主要网络的算子的同时,MindSpore自带的张量引擎(Tensor Engine)支持用户使用Python DSL(Domain Specific Language)自定义算子,并且提供算子级的自动微分接口。通过使用 Python DSL,用户可以在Python中像写数学式子那样自定义算子。同时,如同数学中的微分符号一样简洁直观,张量引擎的算子自动微分接口也可以直接对DSL定义的算子进行微分。

2、正如下面的代码片所示,前项算子是用户用DSL自定义的算子。张量引擎(Tensor Engine)提供反向接口去推导出反向算子。对于多输入的算子,反向算子接口可以指定一个或者多个前项算子的输入,从而对输入进行自动微分计算。

MindSpore中的算子使用

3、MindSpore中三种算子:正向算子反向算子自定义算子接下来我们介绍一下自定义算子:

4、MindSpore支持如下自定义算子:自定义Ascend(昇腾)算子AI Core算子AI CPU算子自定义GPU算子自定义CPU算子AI Core算子是昇腾 AI 处理器计算核心的主要构成,负责执行向量和张量相关的计算密集型算子。AI CPU算子是AI CPU负责执行昇腾处理器中海思 SoC 的CPU类算子(包括控制算子、标量和向量等通用计算)。MindSpore中同一个算子可能会同时拥有 AI Core 算子和AI CPU算子,框架会优先选择 AI Core 算子,没有 AI Core 算子或者不满足选择的场景下,会调用AI CPU算子。

5、自定义算子用于自动微分实例 def sigmoid(x) #前项算子的DSL实现 fr泠贾高框om te.lang.cce import vrec,vadds,vexp,vmuls res=vrec(vadds(vexp(vmuls(x,-1.0),1.0)) return res def sigmoid _ad(dout,x) import te #前项算子引用 out= sigmoid(x) #前项算子自动微分后生成的反向算子 [dx]=te.differentiate(out,[x],dout) return dx

  • 永恒纪元英雄系统怎么玩
  • 考研数学二120分是什么难度,普通人能行吗
  • 足球颠球详解
  • keep怎样设置语音包
  • 汇编语言程序设计:[10]字符图形显示
  • 热门搜索
    新学期手抄报图片大全 教师节手抄报简单好看 我和祖国共成长手抄报 初中数学手抄报 春节风俗手抄报 关于春节手抄报 读书节手抄报内容 开学第一课手抄报小学 诗海拾贝手抄报 小学生科技手抄报