continuous_evaluation icon indicating copy to clipboard operation
continuous_evaluation copied to clipboard

CE 模型重构

Open guochaorong opened this issue 6 years ago • 3 comments

目前一个模型目录中, 所有gpu,cpu场景都配置在里面。 导致其中kpi相关配置,以及model中记录kpi的变量越来越多。 比如: 加一个4卡和8卡

需要把kpi配置, 启动脚本等,都平铺开来。 aa

https://github.com/PaddlePaddle/paddle-ce-latest-kpis/pull/37

随着我们机器型号和模型场景(Gpu单卡、多卡,cpu等)不断扩充, 维护起来比较费劲。

计划进行如下重构:

每一个模型有一个对应的base模型:

resnet50

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标杆数据。

进行的改动

  1. 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]

  2. main.xsh需要加入模型匹配跑模型(比如在 aws agent上只跑 '-p40-'的 模型) ./main.xsh --task_pre -p40-

  3. bug fix: delete 模型目录,会计入changed tasks中, 在模型入库时,pr check会失败。需要刨去delete的模型目录(如从 resnet50 改为__resnet50)

guochaorong avatar Jun 12 '18 13:06 guochaorong

后续有两个问题 1 base模型的名字__xxx ,等所有模型改造完成后,统一改为 base_xxx之类,该类模型不跑 2. 一个模型各类数据对比, 后续从web层面出数据做。

guochaorong avatar Jun 12 '18 14:06 guochaorong

可以把传 flag 改成环境变量,会更灵活可读

Superjomn avatar Jun 13 '18 02:06 Superjomn

恩恩, 可读性更好一点~

guochaorong avatar Jun 13 '18 03:06 guochaorong