-
Notifications
You must be signed in to change notification settings - Fork 5.6k
PR CI Model benchmark Manual
当您提交一个PR(Pull_Request),您的PR需要经过一些CI(Continuous Integration)。其中PR-CI-Model-benchmark负责检查PR中的修改是否会造成模型性能下降或者运行错误。
该CI使用Dockerfile.cuda10_cudnn7_gcc8_ubuntu16镜像环境,依赖PaddlePaddle/benchmark提供的测试框架实现。
模型性能测试CI任务流程图如下所示:
1)跳过判断:检查代码修改,跳过inference,tests,tools,cmake文件夹下修改文件的PR_CI_Model_Benchmark运行,如果是op文件的修改,检查修改的op文件是否在模型对应的op列表中,如果没有则不再运行PR_CI_Model_Benchmark。
2)由于效率云机子虚拟化的问题,个别机子上会出现运行性能差很多的情况。为避免误判,在出现性能下降问题后会在同一台机子上再运行次develop分支的结果,并作为标准值重新核验PR的性能结果。如果仍旧有性能问题,再返回失败。
以下是几种失败的清形,如果无法确定失败原因或解决方案可以在PR评论处@xiegegege描述详细情况获取帮助。
1.模型运行失败
【问题描述】日志中会有运行失败的提示,并且日志往前翻有详细的报错。
【解决方案】根据报错信息修改PR代码
2.性能下降问题
【问题描述】PR修改导致模型性能下降超过了阈值
【解决方案】修改PR代码,避免模型性能下降
3.性能提升
【问题描述】PR修改导致模型性能提升超过了阈值
【解决方案】需要在PR评论处@xiegegege或者@hysunflower在确认提升符合预期后,修改原有标准值
4.其余的编译,代码clone等相关报错与模型性能测试CI无关,建议先rerun