​秉承工匠精神,3步定位飞桨报错原因,你也来试试?

本文介绍了如何分析和处理飞桨(PaddlePaddle)深度学习框架中的错误信息,通过3步定位问题,帮助开发者高效解决报错,提升开发体验。同时强调了飞桨团队对报错信息优化的重视,旨在打造更易用的国产开源框架。
摘要由CSDN通过智能技术生成

点击左上方蓝字关注我们

 

【故事的开始…】

小张是一名AI算法攻城狮,听闻飞桨乃国产开源深度学习框架之光,心想炎黄子孙当自强,用自己的深度学习框架,实现中国的AI梦……

他尝试在的笔记本上使用飞桨搭建线性回归示例模型。

噼里啪啦…噼里啪啦…键盘敲的热血澎湃。跑下试试……

然而,模型的打印结果让小张满怀期待的小心情顿时哇凉哇凉的。

丹还没炼成,炉咋就坏了呢?这铺天盖地的error,要怎么分析和处理?

【故事的转折…】

同学且慢,经官方鉴定,小张大概率使用的是较早版本的飞桨,飞桨开源框架1.7及之后版本断然不会出现这么繁杂的报错信息了。

这是因为飞桨工程师们一直期望产品不但好用,而且易用,可以给开发者带来一点点工作上的愉悦。报错信息对调试分析至关重要,飞桨工程师也一直在持续地进行改进和优化。

解读最新的飞桨报错信息

飞桨报错信息总体上分为两种:一种是直接在Python层拦截报出的错误,这种问题一般比较直观,根据Python原生的报错栈即可以定位程序中的问题,和大家使用Python写程序报错分析的流程一致;一种是飞桨的C++ core中的报错,这种报错包含的信息量较大。下面我们以此类报错信息的为例,解读分析过程。

首先我们了解下目前飞桨最新版本报错信息的结构,如下图:


 

报错信息为四段式结构,由上至下依次为Python默认错误信息栈、C++错误信息栈、飞桨Python错误信息栈(仅声明式编程模式)、核心错误概要。

  • Python默认错误信息栈:执行Python程序默认记录的执行路径,对定位报错位置很有帮助。这是Python本身特性,此处不展开介绍。

  • C++错误信息栈:程序在Paddle C++ core中的错误路径,即为模块paddle.fluid.core中的程序执行路径,这部分信息对开发者帮助有限。但当开发者通过Issue向飞桨开发人员提问时,提供C++报错栈的信息将有助于开发人员快速定位问题。(目前C++错误信息栈仅支持Unix平台,Windows平台暂不支持)

  • Paddle Python错误信息栈:为什么这里还有一个Paddle Python错误信息栈呢?因为在声明式编程模式(静态图)下,模型编译和执行是分离的。执行时报错的路径由Python默认

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值