[{"data":1,"prerenderedAt":369},["ShallowReactive",2],{"content-query-C8oWbYedLp":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"cover":11,"type":12,"body":13,"_type":363,"_id":364,"_source":365,"_file":366,"_stem":367,"_extension":368},"/news/zh/1929","zh",false,"","MindTalk | 韩晓阳：参与开源贡献，看着程序测试通过、编译成功，在框架中使用时有了满满的自豪感","本期专访是来自 MindSpore 社区的开发者韩晓阳同学，其研究方向为蜕变测试和服务计算等。","2022-10-26","https://obs-mindspore-file.obs.cn-north-4.myhuaweicloud.com/file/2022/11/01/ef7f5d2675f14969b68ec1c5e529f02a.png","news",{"type":14,"children":15,"toc":360},"root",[16,24,33,37,44,53,58,66,71,76,81,121,129,134,139,144,152,157,162,167,172,177,182,187,192,200,205,210,215,243,248,255,262,269,276,283,291,301,319,329,345],{"type":17,"tag":18,"props":19,"children":21},"element","h1",{"id":20},"mindtalk-韩晓阳参与开源贡献看着程序测试通过编译成功在框架中使用时有了满满的自豪感",[22],{"type":23,"value":8},"text",{"type":17,"tag":25,"props":26,"children":27},"p",{},[28],{"type":17,"tag":29,"props":30,"children":32},"img",{"alt":7,"src":31},"https://obs-mindspore-file.obs.cn-north-4.myhuaweicloud.com/file/2022/11/01/1e7c4845690240618d46fc694fac9053.gif",[],{"type":17,"tag":25,"props":34,"children":35},{},[36],{"type":23,"value":9},{"type":17,"tag":25,"props":38,"children":39},{},[40],{"type":17,"tag":29,"props":41,"children":43},{"alt":7,"src":42},"https://obs-mindspore-file.obs.cn-north-4.myhuaweicloud.com/file/2022/11/01/8b27dbe74a4447f6ab15574d124018fe.png",[],{"type":17,"tag":25,"props":45,"children":46},{},[47],{"type":17,"tag":48,"props":49,"children":50},"strong",{},[51],{"type":23,"value":52},"1、个人介绍",{"type":17,"tag":25,"props":54,"children":55},{},[56],{"type":23,"value":57},"我是韩晓阳，来自北京科技大学计算机科学与技术专业的大四学生。目前已经本校保研，将跟随导师进行蜕变测试和服务计算等领域的研究工作。",{"type":17,"tag":25,"props":59,"children":60},{},[61],{"type":17,"tag":48,"props":62,"children":63},{},[64],{"type":23,"value":65},"2、我的开源之旅",{"type":17,"tag":25,"props":67,"children":68},{},[69],{"type":23,"value":70},"最开始接触到开源是大二暑假时，参与学校组织的校内实习。当时参与的是一个web小项目，虽然是最简单的前端jQuery和后端java/servlet架构，但组内协作还是要求我们使用Git和Git仓库。老师向我们推荐了Gitee，并指导我们建立属于自己的开源仓库。",{"type":17,"tag":25,"props":72,"children":73},{},[74],{"type":23,"value":75},"作为专业知识与代码能力还相当有限的学生，当时接触到的开源代码与很多有开源教程的Git仓库为我们提供了很大的帮助。这之后我所有的代码工作都喜欢通过Git仓库来记录，截至目前我自己的Gitee仓库已经有累计541次Commit。",{"type":17,"tag":25,"props":77,"children":78},{},[79],{"type":23,"value":80},"我了解到开源不过两年的时间，但在这两年的时间里，我不断地感受到开源的魅力。有时是自己的一个小想法，会在某个开源仓库中看到他人的代码实现；有时是看到一个健全而庞大的开源仓库中的系统性，结构化，复杂化，模块化的代码与各种设计模式的多方面“开花”。",{"type":17,"tag":25,"props":82,"children":83},{},[84,109,111,119],{"type":17,"tag":48,"props":85,"children":86},{},[87,89,97,99,107],{"type":23,"value":88},"正如",{"type":17,"tag":48,"props":90,"children":91},{},[92],{"type":17,"tag":48,"props":93,"children":94},{},[95],{"type":23,"value":96},"Linus Torvalds",{"type":23,"value":98},"所说：“Talk is cheap. Show me the code”",{"type":17,"tag":48,"props":100,"children":101},{},[102],{"type":17,"tag":48,"props":103,"children":104},{},[105],{"type":23,"value":106},"。开源给与了所有有能力，有想法的Coder",{"type":23,"value":108},"一个“类共产主义”的理想化空间，来展示自我",{"type":23,"value":110},"**、",{"type":17,"tag":48,"props":112,"children":113},{},[114],{"type":17,"tag":48,"props":115,"children":116},{},[117],{"type":23,"value":118},"帮助",{"type":23,"value":120},"大家****共同学习。**",{"type":17,"tag":25,"props":122,"children":123},{},[124],{"type":17,"tag":48,"props":125,"children":126},{},[127],{"type":23,"value":128},"3、与MindSpore的初相识",{"type":17,"tag":25,"props":130,"children":131},{},[132],{"type":23,"value":133},"初次接触MindSpore是在我们课程中的一门专业选修课《人工智能导论》上，老师带领我们对机器学习、深度学习等领域进行了一定的探索，而在代码作业中，老师布置了昇思MindSpore作为框架让我们实现了一些简单算法。",{"type":17,"tag":25,"props":135,"children":136},{},[137],{"type":23,"value":138},"除了简单的svm、决策树、lenet网络等模型，我们还以黑白棋为背景，实现了蒙特卡洛树搜索算法。我也感受到昇思MindSpore作为人工计算框架的上手难度较小、教程文档丰富等优势。",{"type":17,"tag":25,"props":140,"children":141},{},[142],{"type":23,"value":143},"因为理论只是浅尝辄止，当时对深度学习、机器学习等领域的应用存在畏难心理，但MindSpore为我们打开了一扇窗户，能够在实践方面初探人工智能的世界。",{"type":17,"tag":25,"props":145,"children":146},{},[147],{"type":17,"tag":48,"props":148,"children":149},{},[150],{"type":23,"value":151},"4、我的社区成长经历",{"type":17,"tag":25,"props":153,"children":154},{},[155],{"type":23,"value":156},"我从今年6月份开始在易用性SIG参与MindSpore GPU版本在MSVC编译器下代码适配工作，这项工作一共有三、四位老师一起参与，由于我对MSVC的编译工作并不熟悉，作为线上实习生，开始只能提供一些帮助性的支持。",{"type":17,"tag":25,"props":158,"children":159},{},[160],{"type":23,"value":161},"向马博文老师表达担忧后，老师鼓励我“只要有投入总会有回报”。后来随着编译工作的深入，以及老师的耐心讲解与帮助，我在解决问题的同时获益匪浅。",{"type":17,"tag":25,"props":163,"children":164},{},[165],{"type":23,"value":166},"目前MindSpore官方并没有发布windows端GPU版本的正式版（但是就工作进展来看，马上就可以发布正式版了，请小伙伴们敬请期待！），已有的CPU版本还是Cmake+mingw编译的版本，我们期望将编译工具链切换为Cmake+MSVC，然后进行GPU版本的适配。",{"type":17,"tag":25,"props":168,"children":169},{},[170],{"type":23,"value":171},"这项工作的难点主要在于现有的GCC编译参数基本与MSVC编译器所需要的编译参数不同。我们需要在CMakeLists与C++代码中通过编译宏来确定不同平台的不同编译参数，并解决不兼容的库函数。我们曾遇到过的问题还有DLL中函数名注册失效，Python与C的函数绑定等。",{"type":17,"tag":25,"props":173,"children":174},{},[175],{"type":23,"value":176},"同时，我们还需要注意各个第三方库的编译适配。总之，Windows下的编译适配工作涉及的知识面很广，需要我们从多方面分析问题。",{"type":17,"tag":25,"props":178,"children":179},{},[180],{"type":23,"value":181},"当我们能编译出win+GPU的版本后，老师给予了我新的任务，利用官方的ModelZoo仓库中实现的经典网络代码对测试版本进行功能性确认测试。ModelZoo仓库为开发者提供了的许多经典网络代码及预训练模型，涉及CV、NLP、推荐算法等各个领域。",{"type":17,"tag":25,"props":183,"children":184},{},[185],{"type":23,"value":186},"各个网络涉及到许多不同的数据集与配置方式，好在，所有网络模型代码都有对应的README。虽然在运行网络时会遇到各种不同的奇怪问题，但大都可以通过仔细阅读README并查找相关资料解决。如果陷入窘境还能在ModelZoo仓库中提交问题ISSUE，会有相关工作人员及时帮助你溯源问题并提供解决方法。",{"type":17,"tag":25,"props":188,"children":189},{},[190],{"type":23,"value":191},"目前，测试通过训练模型数量在CPU模式下已达30个左右，GPU模式下测试通过50个左右。通过测试的体验，所有的网络在准备好数据集并进行预处理后，基本上只需要简单的修改配置文件或直接通过命令行传参的形式，就能运行各个不同的网络模型，为MindSpore的易用性提供的极大便利。不得不给我们的ModelZoo仓库竖个大拇指！",{"type":17,"tag":25,"props":193,"children":194},{},[195],{"type":17,"tag":48,"props":196,"children":197},{},[198],{"type":23,"value":199},"5、我的开源收获",{"type":17,"tag":25,"props":201,"children":202},{},[203],{"type":23,"value":204},"在参与开源贡献之前，我认为昇思MindSpore作为一个开源框架，没有较强的系统性代码能力很难做出自己的贡献。参与后发现只要克服了前期的畏难心理，寻找适合自己的任务，积极投入，弄能做出自己的贡献。虽然到现在我暂时还没有正式PR合入，但也通过ISSUE指出了一些仓库中的小错误，让后来者少踩坑。",{"type":17,"tag":25,"props":206,"children":207},{},[208],{"type":23,"value":209},"在参与开源贡献之前，我可能只是框架的使用者；但现在作为一个参与人，一个开发者，看着程序测试通过，编译成功，在框架中使用时也有了自豪感。",{"type":17,"tag":25,"props":211,"children":212},{},[213],{"type":23,"value":214},"我参与本次开源实习初心是对MindSpore本身感兴趣，同时希望利用系统性的代码提高自己的Code能力，感谢实习中的导师制度与良好的社区氛围，感谢我的指导老师马博文，还有其他的开发者都给与了我很大帮助，祝愿MindSpore越办越好，成为更加优秀的国产全场景AI框架。",{"type":17,"tag":25,"props":216,"children":217},{},[218],{"type":17,"tag":48,"props":219,"children":220},{},[221,223,231,233,241],{"type":23,"value":222},"多",{"type":17,"tag":48,"props":224,"children":225},{},[226],{"type":17,"tag":48,"props":227,"children":228},{},[229],{"type":23,"value":230},"YOUNG",{"type":23,"value":232},"新生之如何玩转",{"type":17,"tag":48,"props":234,"children":235},{},[236],{"type":17,"tag":48,"props":237,"children":238},{},[239],{"type":23,"value":240},"AI",{"type":23,"value":242},"开源社区？",{"type":17,"tag":25,"props":244,"children":245},{},[246],{"type":23,"value":247},"10月29日（周六）20:20，晓阳同学将线上为大家分享《ModelZoo在MindSpore-Windows版本下的使用“指北》。本次活动采用腾讯会议线上分享，扫码报名即可获取腾讯会议链接！",{"type":17,"tag":25,"props":249,"children":250},{},[251],{"type":17,"tag":29,"props":252,"children":254},{"alt":7,"src":253},"https://obs-mindspore-file.obs.cn-north-4.myhuaweicloud.com/file/2022/11/01/8fc4f8d04bf04f63afc76db5788a951d.png",[],{"type":17,"tag":25,"props":256,"children":257},{},[258],{"type":17,"tag":29,"props":259,"children":261},{"alt":7,"src":260},"https://obs-mindspore-file.obs.cn-north-4.myhuaweicloud.com/file/2022/11/01/36834216dd7c4c73b032b8140167320d.png",[],{"type":17,"tag":25,"props":263,"children":264},{},[265],{"type":17,"tag":29,"props":266,"children":268},{"alt":7,"src":267},"https://obs-mindspore-file.obs.cn-north-4.myhuaweicloud.com/file/2022/11/01/fefc2cff852d4b86ae82520ddf1cb397.png",[],{"type":17,"tag":25,"props":270,"children":271},{},[272],{"type":17,"tag":29,"props":273,"children":275},{"alt":7,"src":274},"https://obs-mindspore-file.obs.cn-north-4.myhuaweicloud.com/file/2022/11/01/47db1f9b87be431eb743e47acfa808aa.png",[],{"type":17,"tag":25,"props":277,"children":278},{},[279],{"type":17,"tag":29,"props":280,"children":282},{"alt":7,"src":281},"https://obs-mindspore-file.obs.cn-north-4.myhuaweicloud.com/file/2022/10/24/f5482b1c286f4581b7f3deb4b69c8d1a.jpg",[],{"type":17,"tag":25,"props":284,"children":285},{},[286],{"type":17,"tag":48,"props":287,"children":288},{},[289],{"type":23,"value":290},"MindSpore官方资料",{"type":17,"tag":25,"props":292,"children":293},{},[294,299],{"type":17,"tag":48,"props":295,"children":296},{},[297],{"type":23,"value":298},"官方QQ群",{"type":23,"value":300}," : 486831414",{"type":17,"tag":25,"props":302,"children":303},{},[304,309,311],{"type":17,"tag":48,"props":305,"children":306},{},[307],{"type":23,"value":308},"官网",{"type":23,"value":310},"：",{"type":17,"tag":312,"props":313,"children":317},"a",{"href":314,"rel":315},"https://www.mindspore.cn/",[316],"nofollow",[318],{"type":23,"value":314},{"type":17,"tag":25,"props":320,"children":321},{},[322,327],{"type":17,"tag":48,"props":323,"children":324},{},[325],{"type":23,"value":326},"Gitee",{"type":23,"value":328}," : https : //gitee.com/mindspore/mindspore",{"type":17,"tag":25,"props":330,"children":331},{},[332,337,339],{"type":17,"tag":48,"props":333,"children":334},{},[335],{"type":23,"value":336},"GitHub",{"type":23,"value":338}," : ",{"type":17,"tag":312,"props":340,"children":343},{"href":341,"rel":342},"https://github.com/mindspore-ai/mindspore",[316],[344],{"type":23,"value":341},{"type":17,"tag":25,"props":346,"children":347},{},[348,353,354],{"type":17,"tag":48,"props":349,"children":350},{},[351],{"type":23,"value":352},"论坛",{"type":23,"value":310},{"type":17,"tag":312,"props":355,"children":358},{"href":356,"rel":357},"https://bbs.huaweicloud.com/forum/forum-1076-1.html",[316],[359],{"type":23,"value":356},{"title":7,"searchDepth":361,"depth":361,"links":362},4,[],"markdown","content:news:zh:1929.md","content","news/zh/1929.md","news/zh/1929","md",1776506056462]