Created by: liym27
PR types
Others
PR changes
Others
Describe
之前的问题:
动转静部分场景下报错异常;
- 因为之前动转静接口更新的一些改动,接口ProgramTranslator().get_output() 未使用动转静报错模块(仍用了Paddle框架报错)
- 当动转静过程中(反向添加、AST转化)报错时,有bug,无法正常报错。
- 这部分报错应该用Paddle框架报错,不应该走动转静报错模块。
- 这部分内容可能是动转静流程中有bug,需要提示用户将异常信息反馈给Paddle
本PR修改后:
修复了现存bug,整合了动转静报错场景,修改后:
- 仅2个接口使用时需要用到动转静报错模块:ProgramTranslator().get_output,StaticLayer._call
- 动转静流程中的报错来自4个阶段:静态图编译期前向、反向组网、运行期,其他环节(如AST转化、添加反向等)
阶段 | 可以用动转静报错模块 | 仅用Python原生报错 |
---|---|---|
静态图编译期前向 | 是 | 需要设置环境变量 TRANSLATOR_DISABLE_NEW_ERROR=1 |
反向组网 | 是 | 需要设置环境变量 TRANSLATOR_DISABLE_NEW_ERROR=1 |
运行期 | 否 | 是,同时报warn提醒用户反馈给Paddle |
其他环节 | 否 | 是,同时报warn提醒用户反馈给Paddle |
- 增加2个Flag,控制报错信息栈,方便debug
- TRANSLATOR_DISABLE_NEW_ERROR: 默认为0。为1时可关闭动转静报错模块,仅使用Python原生报错
- TRANSLATOR_SIMPLIFY_NEW_ERROR: 默认为1。为0时,可看到未被简化的报错。
TODO:
- 2个flag的使用信息,更新到官网文档。