为什么参与到昇思开源社区,在这里有了答案(戳进来有惊喜)
为什么参与到昇思开源社区,在这里有了答案(戳进来有惊喜)
近年来人工智能的热度连年上涨,人工智能类专业已成为越来越多考生首选,因此不少高校学子纷纷投身到开发者的行列中。不少开发者通过各种精彩纷呈的活动参与到昇思MindSpore开源社区。而昇思MindSpore也始终聚焦开发者需求,不定期开展活动帮助高效开发中成长。2023年高考结束之际,一起来看看昇思社区开发者的成长故事,感受那些社区不断成长与创新的魅力。
与昇思的不解之缘

高中时通过信息学竞赛接触开源与AI接轨,再加上对开源非常感兴趣,在网上浏览相关信息,了解到“开源”的理念和动态,也开始留意各种开源项目的发展情况,并尝试去参与到开源项目的开发工作,在这过程中,对一些有价值的开源软件和深度学习项目进行了收集、整理和开发工作,并成为了我的大学生创新项目的有机组成部分。
在学习深度学习时,了解到AI框架昇思MindSpore,从此便和昇思结下了不解之缘。昇思MindSpore社区是一个非常有活力的社区,在各个精彩纷呈的社区活动中,大家常常对具体技术问题、未来科技发展发表独到的见解,促进技术的进步和创新。同时也在昇思MindSpore结识了各地志同道合的开发者,建立起了更多的合作和信任关系,以实际行动践行开源精神,共同构建更美好的软件世界。 之后参加了2022年的开源之夏活动中完成了基于昇思MindSpore,补齐创建Tensor的方法 10+项目,通过吸纳PyTorch的诸多优点,编写出符合规范的接口并合入社区代码。例如,张量是人工智能领域一个很重要的概念,它用于对象之间或者对象和数据之间的模型化表示。在数据处理、模型部署时,输入数据必须为一个张量。在计算机视觉中它尤其关键:渲染到显示屏上的图像都必须借助于一定的张量表示法,才能被理解深度学习框架理解。为开发者提供了丰富的张量创建接口并经行了封装,有助于开发者在网络构建等运算中轻松对张量进行操作,具有广泛的应用前景。
当然,开发项目过程中也遇到过棘手的事。比如项目涉及许多偏向于底层的代码涉及,平常对Python深度框架偏重于利用深度学习库和有关函数构建网络和训练、测试、部署应用,因此在本项目上,不少问题需要较长的研究时间,例如对于有关函数和库之间关系的相互调用操作不熟练,对UT、ST和Pytest、Pylint、Gitee代码门禁等测试功能和方法不够了解等等。为了解决这个问题,我请教了我的指导老师王东海老师和邵俊松老师,在他们的循循善诱和专业、耐心、细致的指点,最终的项目精彩地完成,助力开发者项目开发。
这些经历对我来说意味着很多。尼采曾说:“每一个不曾起舞的日子,都是对生命的辜负。”在我看来,参与开源项目是一个追光的征途,向着更优秀的人看齐,努力和他们比肩同行,同时也是不断砥砺自己的个性,成为更好的人。首先是对项目的兴趣和热情让我坚持了下去,其次就是参加项目、写博客和文章的过程中,培养了我的逻辑思维能力、沟通交流能力、团队合作精神等,也提升了我的抗压能力和心理素质,这些都将让我终身受益匪浅,并且让我更加自信地面对未来的学习和工作生活中可能出现的各种困难与挑战,也让我知道了时刻保持谦虚和终身学习的精神。一路走来,一路成长,也总结一些个人经验,希望对大家有所帮助:正确的方向+坚定的意志+不懈的努力,“保持热爱,奔赴山海”,追逐梦想,我们一起加油。( •̀ ω •́ )y!
参与开源没有那么难

仰宗焱上海海洋大学本科
说到开源,再初中就了解开源精神,也非常认同开源人人为我、我为人人的理念,但很惭愧在本次开源项目之前我只是开源的一个使用者,而非贡献者。一方面是我认为能够给开源项目做贡献的,都是一些技术大牛,我这一个一文不名的学生何德何能去“僭越”呢?另一方面而言,对于一个初学者来说,开源社区的贡献流程是有一定的学习成本的,如果没有一个“内行”指路,初学者看着一条条步骤,很容易望而却步。
但是在我完成了开源之夏项目后,我发现参与开源 “门槛”并没那么多高,即便是我这样一个很普通的只是对相关领域感兴趣的学生,在社区的帮助下,也可以很好地对开源项目进行贡献。这也是我非常难忘的一次项目经历。
由于各种各样的原因,国内的开源氛围和国外相比还有很大的发展空间。昇思MindSpore 社区通过开展各种各样的活动去宣传推广昇思MindSpore项目的发展。我也是从活动中了解到昇思MindSpore。在我看来,维护昇思MindSpore为广大AI计算者带来便利可能都是其次。昇思MindSpore社区的可贵之处在于,它极大地促进了国内开源建设的氛围,它举办的推广活动、社区的帮助,吸引了大量优秀的开发者参与其中,而以此为契机这些优秀的开发者很可能继续为国内的开源添砖加瓦,这对国内开源的积极影响可能要远大于其本身维护的 AI 框架。
之后在项目开发基于昇思MindSpore Quantum现有的梯度计算功能,提升梯度计算的性能1倍以上。昇思MindSpore Quantum虽是Python包,但是对梯度求导这种速度敏感的模块,底层代码语言往往是运行效率更高的C++。通过使用线程池对计算模块进行加速,线程池提前创建若干线程,线程永久存在,若任务队列中有任务就执行,否则线程就阻塞,省去了创建和销毁线程的大量开销。
当然项目推进也不是一帆风顺的,为了达成对项目的底层代码编译优化,需要在源代码中进行修改再编译为安装包安装测试,而不能直接pip命令安装。而这花费了我大量的时间,我换了三台电脑都没能在Windows系统中成功编译,因为0.6版本的MindSpore Quantum的Windows编译设置存在一些问题(当然在现在的版本中已经修复了),从而出现和系统不兼容的编译问题。而在Linux操作系统的编译中,也偶尔会出现一些不稳定的问题,最终通过大量时间进行测试,我选择在Linux虚拟机中进行开发,并选定了对应的程序版本。在这其中,昇思MindSpore工程师和指导老师给了我们非常巨大的帮助,每次项目遇到瓶颈期时他们的建议都给我们指明了正确的方向,最终项目得以顺利完成。
说到开源,再初中就了解开源精神,也非常认同开源人人为我、我为人人的理念,但很惭愧在本次开源项目之前我只是开源的一个使用者,而非贡献者。一方面是我认为能够给开源项目做贡献的,都是一些技术大牛,我这一个一文不名的学生何德何能去“僭越”呢?另一方面而言,对于一个初学者来说,开源社区的贡献流程是有一定的学习成本的,如果没有一个“内行”指路,初学者看着一条条步骤,很容易望而却步。
但是在我完成了开源之夏项目后,我发现参与开源 “门槛”并没那么多高,即便是我这样一个很普通的只是对相关领域感兴趣的学生,在社区的帮助下,也可以很好地对开源项目进行贡献。这也是我非常难忘的一次项目经历。
由于各种各样的原因,国内的开源氛围和国外相比还有很大的发展空间。昇思MindSpore 社区通过开展各种各样的活动去宣传推广昇思MindSpore项目的发展。我也是从活动中了解到昇思MindSpore。在我看来,维护昇思MindSpore为广大AI计算者带来便利可能都是其次。昇思MindSpore社区的可贵之处在于,它极大地促进了国内开源建设的氛围,它举办的推广活动、社区的帮助,吸引了大量优秀的开发者参与其中,而以此为契机这些优秀的开发者很可能继续为国内的开源添砖加瓦,这对国内开源的积极影响可能要远大于其本身维护的 AI 框架。
之后在项目开发基于昇思MindSpore Quantum现有的梯度计算功能,提升梯度计算的性能1倍以上。昇思MindSpore Quantum虽是Python包,但是对梯度求导这种速度敏感的模块,底层代码语言往往是运行效率更高的C++。通过使用线程池对计算模块进行加速,线程池提前创建若干线程,线程永久存在,若任务队列中有任务就执行,否则线程就阻塞,省去了创建和销毁线程的大量开销。 当然项目推进也不是一帆风顺的,为了达成对项目的底层代码编译优化,需要在源代码中进行修改再编译为安装包安装测试,而不能直接pip命令安装。而这花费了我大量的时间,我换了三台电脑都没能在Windows系统中成功编译,因为0.6版本的MindSpore Quantum的Windows编译设置存在一些问题(当然在现在的版本中已经修复了),从而出现和系统不兼容的编译问题。而在Linux操作系统的编译中,也偶尔会出现一些不稳定的问题,最终通过大量时间进行测试,我选择在Linux虚拟机中进行开发,并选定了对应的程序版本。在这其中,昇思MindSpore工程师和指导老师给了我们非常巨大的帮助,每次项目遇到瓶颈期时他们的建议都给我们指明了正确的方向,最终项目得以顺利完成。 本次开源经历是我难忘的一次经历,我完整地经历了一次项目的开发与代码合并的流程。相比竞赛代码而言,编写工程代码需要考虑代码的耦合性、易读性、拓展性等因素,这极大锻炼了我的代码能力。同时,项目开发的过程中和社区的交流也锻炼了我的社交能力。项目开发的过程中,包括联系导师的过程中,我一直在告诉自己不要产生畏惧之情,需要困难就慢慢地去解决,调整好心态,一步步走下去,你会发现很快终点就在面前。有句话叫,雄关漫道真如铁,而今迈步从头越。在面对一个全新的领域的时候,能力为零的我们难免会迷茫,但无论什么时候,请相信自己,不要害怕自己能力不足。东隅已逝,桑榆非晚。任何时候的努力都为时不晚。
昇思专属好礼免费领
为感谢小孢子们一直以来的支持与陪伴,昇思MindSpore开源社区为大家准备了专属福利。扫码下方海报图片后台发送“助力”即可参与哦~获得奖励非常简单,邀请好友关注公众号即可完成一次助力,取消关注无效,达成一定数量的助力将获得对应的奖品,详情如下:
邀请9位好友关注公众号,即可获得超大趣味文字鼠标垫;
邀请19位好友关注公众号,即可获得藤球许愿灯;
邀请39位好友关注公众号,即可获得社区专属文化衫;
截止到6月13日晚24点,本活动解释权归昇思MindSpore开源社区所有。
