目录

1. Mindspore环境安装

2.概述

3.手动向量化

4.自动向量化

5.VMap的进阶用法

    5.1 高阶函数的嵌套

    5.2 cell的自动向量化

1. Mindspore环境安装

官网地址 : MindSpore官网

2.概述

自动向量化可以显着提高程序的性能,并使程序能够利用现代计算机中的向量化硬件。它是高性能计算和数据密集型应用程序中常见的优化技术之一。

3.手动向量化

首先构造一个简单的卷积函数,这种卷积函数可以扩展到高维向量和多通道的情况。

其次我们来定义一个向量化的计算逻辑,预期得到一个3*3的tensor

4.自动向量化

当编写一个循环运算时,编译器可以自动将其转换为向量操作,使得程序可以同时处理多个数据元素,而不是一个一个地处理。这样可以大大加快程序的执行速度。而且,由于向量是一种并行的数据结构,因此自动向量化还可以使程序更易于并行化,从而进一步提高其性能。

命令行运行报错,报错暂未解决

换一种执行方式,代码如下:

 

vmap()使得代码更加简洁,整体执行结果如下:

5.vmap()进阶用法

5.1高阶函数的嵌套

指高阶函数vmap内部调用另外一个高阶函数vmap,形成多层嵌套的过程。在函数式编程中,高阶函数的嵌套是非常常见的,它可以帮助我们更加灵活地处理复杂的问题。

 

5.2 cell的自动向量化

下面简单介绍下cell对象结合vmap的用法,也就是将vmap的第一个入参替换为cell实例

执行结果:

通过以上的示例展示,相信大家对Vmap自动化向量有了一个简单的了解了,更多的使用方法,请大家参考mindspore.vmap

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐