[{"data":1,"prerenderedAt":356},["ShallowReactive",2],{"content-query-q0G4Je2g02":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"cover":11,"type":12,"state":13,"body":14,"_type":350,"_id":351,"_source":352,"_file":353,"_stem":354,"_extension":355},"/activities/zh/194","zh",false,"","MindSpore 图引擎分析回顾，第三场源码分析今晚直播！","4 月 26 日，机器之心联合华为昇腾学院开设的线上公开课《轻松上手开源框架 MindSpore》第二课完成","2020-04-28","https://obs-mindspore-file.obs.cn-north-4.myhuaweicloud.com/file/2020/09/21/0bf0b4934319446db5413d2164a6e6d0.png","activities",1,{"type":15,"children":16,"toc":343},"root",[17,25,42,47,53,61,66,77,82,87,92,97,132,139,144,149,156,161,166,171,179,184,192,197,205,210,218,223,231,236,244,249,257,262,270,275,283,288,296,301,306,331,336],{"type":18,"tag":19,"props":20,"children":22},"element","h1",{"id":21},"mindspore-图引擎分析回顾第三场源码分析今晚直播",[23],{"type":24,"value":8},"text",{"type":18,"tag":26,"props":27,"children":28},"p",{},[29,31,40],{"type":24,"value":30},"4 月 26 日，机器之心联合华为昇腾学院开设的线上公开课",{"type":18,"tag":32,"props":33,"children":37},"a",{"href":34,"rel":35},"https://www.bilibili.com/video/BV1Vf4y1m77D?from=search&seid=8411768413250197610&spm_id_from=333.337.0.0",[36],"nofollow",[38],{"type":24,"value":39},"《轻松上手开源框架 MindSpore》",{"type":24,"value":41},"第二课完成，GraphEngine 高级工程师王俊为大家带来了主题分享《MindSpore 中 GraphEngine 浅析》，第二课回顾视频如下：",{"type":18,"tag":26,"props":43,"children":44},{},[45],{"type":24,"value":46},"第二课精选问答与 PPT 详见文末。",{"type":18,"tag":48,"props":49,"children":51},"h3",{"id":50},"公开课第3讲",[52],{"type":24,"value":50},{"type":18,"tag":26,"props":54,"children":55},{},[56],{"type":18,"tag":57,"props":58,"children":60},"img",{"alt":7,"src":59},"https://obs-mindspore-file.obs.cn-north-4.myhuaweicloud.com/file/2020/05/07/a71599526393474a873ae7157b32c1f4.png",[],{"type":18,"tag":26,"props":62,"children":63},{},[64],{"type":24,"value":65},"课程主题：MindSpore 代码流程分析",{"type":18,"tag":26,"props":67,"children":68},{},[69,71],{"type":24,"value":70},"**课程时间：**",{"type":18,"tag":72,"props":73,"children":74},"strong",{},[75],{"type":24,"value":76},"4 月 28 日（周二）20:00",{"type":18,"tag":26,"props":78,"children":79},{},[80],{"type":24,"value":81},"**课程讲师：**王辉",{"type":18,"tag":26,"props":83,"children":84},{},[85],{"type":24,"value":86},"讲师简介：华为云与计算 BG 计算开源生态部工程师，专注于新领域探索（AI、计算、云等）和开源技术研究。目前在负责 MindSpore 社区的生态推广工作，同时也曾参与 OPNFV、OpenSDS 和 Open Service Broker API 等开源社区进行贡献。",{"type":18,"tag":26,"props":88,"children":89},{},[90],{"type":24,"value":91},"课程摘要：本次课程将带领大家从源码的角度来剖析 MindSpore 端到端的调用流程，同时以 CPU 算子开发为例向大家展示 MindSpore 的算子开发流程。",{"type":18,"tag":26,"props":93,"children":94},{},[95],{"type":24,"value":96},"课后作业：为了帮助大家熟悉 MindSpore 中 CPU 算子的端到端调用流程，进一步加深对 MindSpore 架构的理解，我们将在本次直播后设置一次课后作业：",{"type":18,"tag":98,"props":99,"children":100},"ul",{},[101,107,112,117,122,127],{"type":18,"tag":102,"props":103,"children":104},"li",{},[105],{"type":24,"value":106},"作业题目：MindSpore CPU 算子开发调试",{"type":18,"tag":102,"props":108,"children":109},{},[110],{"type":24,"value":111},"作业内容：",{"type":18,"tag":102,"props":113,"children":114},{},[115],{"type":24,"value":116},"普通档：从当前CPU算子支持列表中任选三个算子执行，并反馈算子执行结果",{"type":18,"tag":102,"props":118,"children":119},{},[120],{"type":24,"value":121},"挑战档：开发新的CPU算子，完成该算子的调试操作，并反馈算子执行结果（可选)",{"type":18,"tag":102,"props":123,"children":124},{},[125],{"type":24,"value":126},"作业奖励：作业完成优秀的同学将获得赠书《深度学习与MindSpore实践》。",{"type":18,"tag":102,"props":128,"children":129},{},[130],{"type":24,"value":131},"更多作业详情与实践项目加入下方学习交流群即可获取。",{"type":18,"tag":26,"props":133,"children":134},{},[135],{"type":18,"tag":57,"props":136,"children":138},{"alt":7,"src":137},"https://obs-mindspore-file.obs.cn-north-4.myhuaweicloud.com/file/2020/05/07/23e545c752a442d0b6132187e71b39e5.jpg",[],{"type":18,"tag":48,"props":140,"children":142},{"id":141},"如何加入",[143],{"type":24,"value":141},{"type":18,"tag":26,"props":145,"children":146},{},[147],{"type":24,"value":148},"《轻松上手开源框架 MindSpore》系列课程全程免费，识别下方二维码，即可加入学习交流群，一起看直播学理论、做作业动手实践。",{"type":18,"tag":26,"props":150,"children":151},{},[152],{"type":18,"tag":57,"props":153,"children":155},{"alt":7,"src":154},"https://obs-mindspore-file.obs.cn-north-4.myhuaweicloud.com/file/2020/05/07/d4a5d4a1e93a48b194dc47a302a3d6ac.jpg",[],{"type":18,"tag":26,"props":157,"children":158},{},[159],{"type":24,"value":160},"注：若群人数达到限制，无法直接扫码加入，请识别上方海报二维码，添加机器之心小助手（syncedai6），备注「开源」，小助手将邀请进群。",{"type":18,"tag":48,"props":162,"children":164},{"id":163},"第二课精选问答",[165],{"type":24,"value":163},{"type":18,"tag":26,"props":167,"children":168},{},[169],{"type":24,"value":170},"在第二课的 QA 环节中，有一些问题被大家广泛提到，王俊讲师再次做了精选与编辑，供大家参考。",{"type":18,"tag":26,"props":172,"children":173},{},[174],{"type":18,"tag":72,"props":175,"children":176},{},[177],{"type":24,"value":178},"Q1：循环下沉是什么？",{"type":18,"tag":26,"props":180,"children":181},{},[182],{"type":24,"value":183},"循环下沉是在 on-device 执行的基础上更进一步的一个技巧，意图进一步建校 host 侧和 device 侧之间的交互次数。一般情况下，我们习惯于每个 step 都返回一个结果，循环下沉是控制每隔多少个 step 返回一次结果，缺省的配置是一个 epoch 返回一次结果，这样每个 epoch 里，host 侧和 device 侧只需要进行一次数据交互即可。",{"type":18,"tag":26,"props":185,"children":186},{},[187],{"type":18,"tag":72,"props":188,"children":189},{},[190],{"type":24,"value":191},"Q2：FusionOP是定义在device上么？",{"type":18,"tag":26,"props":193,"children":194},{},[195],{"type":24,"value":196},"FusionOP 对应的具体算子是有其算子实现的，存储在算子信息库中，融合出 fusionOP 的过程是在 host 侧的 CPU 上完成，运行此 FusionOP 是在 device 上。",{"type":18,"tag":26,"props":198,"children":199},{},[200],{"type":18,"tag":72,"props":201,"children":202},{},[203],{"type":24,"value":204},"Q3：profiling只能在昇腾上用吗？",{"type":18,"tag":26,"props":206,"children":207},{},[208],{"type":24,"value":209},"只能在昇腾上使用。",{"type":18,"tag":26,"props":211,"children":212},{},[213],{"type":18,"tag":72,"props":214,"children":215},{},[216],{"type":24,"value":217},"Q4：profiling有op的开始时间吗？",{"type":18,"tag":26,"props":219,"children":220},{},[221],{"type":24,"value":222},"profiling 是记录下 op 开始和结束的时间，以此计算算子耗时。",{"type":18,"tag":26,"props":224,"children":225},{},[226],{"type":18,"tag":72,"props":227,"children":228},{},[229],{"type":24,"value":230},"Q5：数据dump是能dump出来什么数据？",{"type":18,"tag":26,"props":232,"children":233},{},[234],{"type":24,"value":235},"通过配置可以 dump 出任何存在在网络中的数据，每一个算子的输入输出，每一个 parameter 的值和梯度都可以被 dump 下来。",{"type":18,"tag":26,"props":237,"children":238},{},[239],{"type":18,"tag":72,"props":240,"children":241},{},[242],{"type":24,"value":243},"Q6：910 支持推理吗？支持多少op呢？",{"type":18,"tag":26,"props":245,"children":246},{},[247],{"type":24,"value":248},"910 支持训练及推理，310 只支持推理。目前我们的算子信息库已经相对完善，常用的 op 基本都已支持，如果有自定义算子的需求，我们提供了 TBE 工具来支持用户自定义算子的开发。",{"type":18,"tag":26,"props":250,"children":251},{},[252],{"type":18,"tag":72,"props":253,"children":254},{},[255],{"type":24,"value":256},"Q7：算子在不同的加速器上的调度策略什么？",{"type":18,"tag":26,"props":258,"children":259},{},[260],{"type":24,"value":261},"在图准备阶段会根据代价函数进行算子引擎分配，在流分配阶段也会充分考虑不同算子之间的并行计算可能，具体指定每个算子的执行引擎。",{"type":18,"tag":26,"props":263,"children":264},{},[265],{"type":18,"tag":72,"props":266,"children":267},{},[268],{"type":24,"value":269},"Q8：GE是mindspore中和硬件交互的？",{"type":18,"tag":26,"props":271,"children":272},{},[273],{"type":24,"value":274},"是的，GE 专门负责和 Ascend 芯片交互。",{"type":18,"tag":26,"props":276,"children":277},{},[278],{"type":18,"tag":72,"props":279,"children":280},{},[281],{"type":24,"value":282},"Q9：310不能做训练么？",{"type":18,"tag":26,"props":284,"children":285},{},[286],{"type":24,"value":287},"310 只能做推理，MindSpore 训练好后的模型，将其固化为 pb 格式后，可以部署到 310 芯片上进行推理。",{"type":18,"tag":26,"props":289,"children":290},{},[291],{"type":18,"tag":72,"props":292,"children":293},{},[294],{"type":24,"value":295},"Q10：如何自定义昇腾芯片支持的op呢？",{"type":18,"tag":26,"props":297,"children":298},{},[299],{"type":24,"value":300},"提供了 Tensor Boost Engine 这个工具来支持自定义 op。Ascend 芯片的算子需要用一种 cce 格式的代码编写，需要显式指定内存搬运操作，极为复杂，使用 tbe 工具，只需调用其 python 接口完成算子逻辑定义，即可生成可运行在 Ascend 上的自定义算子。",{"type":18,"tag":26,"props":302,"children":303},{},[304],{"type":24,"value":305},"大家后续如有更多问题，欢迎关注 MindSpore 的gitee和github，随时提 issue，官方人员将及时为大家解答：",{"type":18,"tag":98,"props":307,"children":308},{},[309,320],{"type":18,"tag":102,"props":310,"children":311},{},[312,314],{"type":24,"value":313},"Gitee：",{"type":18,"tag":32,"props":315,"children":318},{"href":316,"rel":317},"https://gitee.com/mindspore",[36],[319],{"type":24,"value":316},{"type":18,"tag":102,"props":321,"children":322},{},[323,325],{"type":24,"value":324},"GitHub：",{"type":18,"tag":32,"props":326,"children":329},{"href":327,"rel":328},"https://github.com/mindspore-ai",[36],[330],{"type":24,"value":327},{"type":18,"tag":26,"props":332,"children":333},{},[334],{"type":24,"value":335},"**PPT下载方式：**后台回复关键词「GE」，即可下载。",{"type":18,"tag":26,"props":337,"children":338},{},[339],{"type":18,"tag":57,"props":340,"children":342},{"alt":7,"src":341},"https://obs-mindspore-file.obs.cn-north-4.myhuaweicloud.com/file/2020/05/07/20fd143ec41949c594642668280a067e.jpg",[],{"title":7,"searchDepth":344,"depth":344,"links":345},4,[346,348,349],{"id":50,"depth":347,"text":50},3,{"id":141,"depth":347,"text":141},{"id":163,"depth":347,"text":163},"markdown","content:activities:zh:194.md","content","activities/zh/194.md","activities/zh/194","md",1776506011172]