[技术干货] 开启MindSpore开源之旅

开启开源领域AI深度学习
开源的大趋势目前非常明显,从15年到目前这些年的基础平台的实践,对开源包括开源生态大概有了一些了解。基于个人兴趣爱好,开源可以让自己不受从事企业业务领域的约束,通过深度参与一个开源项目,了解和熟悉开源社区、开源项目的运作思路,通过参与和领域开源项目共同成长。

选择AI领域,AI作为一种现代化应用的技术,立足解决不确定性问题领域,现如今无论社会、企业都面临着确定性、不确定性环境和问题的挑战;AI技术可以应用到各个领域中去,具有普惠的价值;当前在云计算、大数据的蓬勃发展下,AI技术应用落地逐渐成为可能,这也是个人投入时间在该领域的初衷。

为什么选择MindSpore
类似编程领域入门的思路,你得先理解和掌握一门编程语言,然后通过不断的实践来丰富积累领域经验,获得领域认知的成长。同样在AI领域我们也需要选择从一个框架角度入手,借助框架领域的理解来了解AI当下深度学习领域的知识和实践经验。

深度学习领域入手,就需要了解这个领域的技术使用情况;目前该领域多个框架和库并存,TensorFlow、Caffe、Keras、Py Torch等有的是框架,有的是相应的深度学习领域的计算库。

选择MindSpore开源框架项目原因:

全新的深度学习领域开源项目(后来者一般都需要充分吸收前面的实践经验,推出领域有特点的实践项目)

近两年才开始发展的项目,意味着有机会在早期参与开源项目,随着开源项目的成长和壮大,丰富领域的认知;

中国企业发起的AI领域开源项目,参与其中内心充满认同感,领域认知也会随着内心认同感而持续坚持下去。

MindSpore框架的初步认知
1.基本理解

想要理解MindSpore,首先从官方给出的项目介绍入手:

MindSpore是华为公司推出的新一代深度学习框架,是源于全产业的最佳实践,最佳匹配昇腾 处理器算力,支持终端、边缘、云全场景灵活部署,开创全新的AI编程范式,降低AI开发门槛。

1)首先是一款深度学习框架,立足开源社区治理方式,最佳匹配华为自有的昇腾芯片,这是关键点信息,也就是该框架以及围绕的生态体系是为新的AI芯片而生的,理解了这一点,就不难理解框架的分层设计思路。

2)其次,该框架支持终端、边缘、云全场景部署,那意味着一方面要具备异构计算芯片的兼容性,同时还要针对不同的云、边、终端环境推出一系列合适的框架版本,理解了这一点,就能理解MindSpore和Lite版本和一系列的配套工具的思路。

2.特点分析

从官方给的MindSpore的总体架构图来看,核心思想是采用一套统一表达结构的解释和执行层来屏蔽下层异构计算环境差异,向上提供统一的框架使用体验,同时还兼容一部分其它领域框架转型的使用能力。

框架的核心层是MindIR+计算图引擎,其余向下是针对异构环境提供的运行时环境,向上是提供的可操作的表示层,主要是API这几个部分构成。

如何开启MindSpore学习实践
1.搭建一套使用环境

什么都不如直接去实践来的快,针对框架的运行环境有GPU、CPU异构的环境,有条件就搭建GPU的环境、也可以考虑华为云昇腾环境,或者直接就CPU的环境(windows,linux都可以)。

习惯windows视窗操作的可以优先考虑windows环境搭建。

2.从基础例子运行加深框架的理解

在环境部署成功的基础上,没什么比运行一些实例使用框架来的更直观了,结合框架配套提供的一些经典的模型实例代码,down下来在本地环境进行运行调试,先有感官认识。

3.从使用深入内部实现,窥探和理解框架

两个方面加深理解,一个是看框架提供的API能力来深入理解框架,另一个通过一些经典的模型来理解深度学习应用的一般步骤,有助于开发一些自己感兴趣的应用,毕竟最终咱们研究框架还是要考虑框架能做什么。

4.找到合适的分层定位,开启开源贡献

参与社区工作,首先要经历前面三个步骤,一般的入门者先不要着急贡献,先把前面三个基础打牢,再去寻找在框架或者框架周围配套生态能力上去发力贡献。
————————————————
原文链接:https://blog.csdn.net/wangfengwf/article/details/113279046