• 【mindspore】【模式】PYNATIVE_MODE模式和GRAPH模式的区别


    问题如下:

    1、两个模式下不同算子或者不同模型实现精度和速度会有不同的影响吗?

    2、不同的算子会不会存在通兼容的情况?

    3、两个模型分别在什么情况下使用比较好?各有什么优势?

    4、两种模式在不同硬件资源上的实现会有差别吗?(ascend、gpu和cpu)

    5、两种模式实质性的区别,简单说一下PYNATIVE_MODE模式下可以执行什么操作方便调试,而在GRAPH模式下则无法进行。

    已学习下面链接:

    运行管理 — MindSpore master documentation

    mindspore.context — MindSpore r1.1 documentation

    大致概括一下:

    1. 精度是一样的,但执行速度不同;图模式速度高于pynative模式,在某些模型下,可能会相差10倍甚至更多

    2. 第二个问题没看明白

    3. pynative通常编写模型、开始调试的时候使用;图模式在编写好模型后部署运行的时候使用

    4. 底层的实现肯定是有差别的;就图模式来说,是会先将construct里面的代码编译成计算图,然后执行,并不是python解析器来执行的,编译的时候也会对代码做各种判断检测;但是表现出来的逻辑和功能应该是相同的;如果你发现某个算子在两种模式下的功能逻辑有明显的不同,且影响你正常使用了,那应该算作是框架的bug,可以提issue;还有,cpu版本,目前不支持pynative模式

    5. 区别在于,pynative模式方便调试,支持python语法,比如在construct可以使用numpy代替某些功能等等,可以使用print语句打印你想要的信息,这样也就方便调试了,但该模式运行速度较慢;图模式速度快,但只支持部分python语法,目前无法使用三方库,图模式支持的python语法可以从官网的“静态图语法支持”条目中查看

  • 相关阅读:
    odoo javascript参考(五)
    C/C++ 11/14/17 有栈式协同程式的基础框架类库【关于】
    linux c语言密码验证
    【无标题】
    Java面试题1
    nginx之keepalive详解与其配置
    Mybatis
    算法刷题2(C++)链表遍历算法
    PHP 使用 PhpSpreadsheet
    搜索引擎ElasticSearch详解
  • 原文地址:https://blog.csdn.net/weixin_45666880/article/details/125871432