This repository was archived by the owner on Jan 24, 2024. It is now read-only.

Description
目前一个模型目录中, 所有gpu,cpu场景都配置在里面。
导致其中kpi相关配置,以及model中记录kpi的变量越来越多。
比如: 加一个4卡和8卡
需要把kpi配置, 启动脚本等,都平铺开来。

PaddlePaddle/paddle-ce-latest-kpis#37
随着我们机器型号和模型场景(Gpu单卡、多卡,cpu等)不断扩充, 维护起来比较费劲。
计划进行如下重构:
每一个模型有一个对应的base模型:
base模型里存放的内容有:
model.py(模型脚本), continuous_evaluation.py (kpi 变量), 所有模型共用。
可以在此基础上定义各种场景模型
resnet50-p40-card8
resnet50-p40-card4
resnet50-p40-card1
resnet50-v100-card4
resnet50-v100-card1
每个模型里面的内容是一个启动脚本run.xsh, 一个latest_kpis目录,里面对应的是这个场景的kpi标杆数据。
进行的改动
-
main.xsh 和 eva.xsh
1.1 base 模型不跑(base模型中不含run.xsh)
1.2 import kpi配置,改为from tasks.%s.continuous_evaluation import tracking_kpis'
% task_name.split('-')[0]
-
main.xsh需要加入模型匹配跑模型(比如在 aws agent上只跑 '-p40-'的 模型)
./main.xsh --task_pre -p40-
-
bug fix: delete 模型目录,会计入changed tasks中, 在模型入库时,pr check会失败。需要刨去delete的模型目录(如从 resnet50 改为__resnet50)