小孢子的神奇之旅-如何阅读MindSpore报错信息(3)
从两种模式的原理可见,Graph模式可以着眼全局,能在执行前进行深度优化这样而带来更好的执行性能,而为着眼全局的代价就是必须遵从一些规则要求(例如:静态图语法),且有较长的编译过程,这些代价也就带来的网络的编写与调试困难。静态图模式,先进行将网络编译成图,然后按照图结构完成执行。这样就可以通过堆栈的报错信息来判断是哪种执行模式,以上篇分享的报错信息为例,我们可以看到调用了函数self.compile_and_run(*args),此函数为图模式下执行的函数,由此可判断这个报错是图模式下执行的报错。