-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Enable Eager Mode in Paddle CI
pangyoki edited this page May 11, 2022
·
14 revisions
概要:
- 第1节,背景
- 第2节,PR-CI-Py3流水线单测失败的复现方法
- 第3节,跳过失败单测方法
为了监控新动态图模式下CPU单测的正确性,防止开发的PR导致新动态图功能错误,需要让CI流水线执行在新动态图eager模式下进行监控。
目前,已将PR-CI-Py3流水线切换至新动态图eager模式下执行(其他流水线暂时仍然执行在老动态图模式下)。
在PR-CI-Py3流水线中,已设置export FLAGS_enable_eager_mode=1
,启用新动态图模式进行编译、执行单测。
由于PR-CI-Py3流水线已执行在新动态图模式下,在本地复现PR-CI-Py3流水线的单测问题时,需要开启FLAGS_enable_eager_mode=1
环境变量来执行单测,让本地单测也执行在新动态图模式下:
FLAGS_enable_eager_mode=1 python test_xxx.py
复现问题后需要修复单测,直至新动态图模式下该单测通过。
如果有特殊原因,需要跳过新动态图模式下对该单测的检查,可以尝试让该单测只执行在老动态图模式下。方法如下:
- 在新动态图模式下报错的单测文件中,调用
_enable_legacy_dygraph()
方法,让该单测切换到老动态图模式下执行。
注:
- 需要注释说明该单测无法执行在新动态图模式下的原因,并且需要特殊人员审核,否则PR-CI-approval无法通过。
- 在单测文件中,设置环境变量FLAGS_enable_eager_mode=0,无法让单测切换到老动态图执行。