未验证 提交 d103a9f8 编写于 作者: G Guanghua Yu 提交者: GitHub

fix quant train prog (#509)

上级 c1b42028
...@@ -67,6 +67,8 @@ python slim/quantization/train.py --not_quant_pattern yolo_output \ ...@@ -67,6 +67,8 @@ python slim/quantization/train.py --not_quant_pattern yolo_output \
pretrain_weights=https://paddlemodels.bj.bcebos.com/object_detection/yolov3_mobilenet_v1.tar pretrain_weights=https://paddlemodels.bj.bcebos.com/object_detection/yolov3_mobilenet_v1.tar
``` ```
**注意:** 目前量化训练中只支持边训练边评估,所以训练时必需携带`--eval`参数,否则无法训练与保存模型。这个量化中的问题未来会持续改进。
>通过命令行覆设置max_iters选项,因为量化的训练轮次比正常训练小很多,所以需要修改此选项。 >通过命令行覆设置max_iters选项,因为量化的训练轮次比正常训练小很多,所以需要修改此选项。
如果要调整训练卡数,可根据需要调整配置文件`yolov3_mobilenet_v1_voc.yml`中的以下参数: 如果要调整训练卡数,可根据需要调整配置文件`yolov3_mobilenet_v1_voc.yml`中的以下参数:
......
...@@ -59,6 +59,10 @@ def load_global_step(exe, prog, path): ...@@ -59,6 +59,10 @@ def load_global_step(exe, prog, path):
def main(): def main():
if FLAGS.eval is False:
raise ValueError(
"Currently only supports `--eval==True` while training in `quantization`."
)
env = os.environ env = os.environ
FLAGS.dist = 'PADDLE_TRAINER_ID' in env and 'PADDLE_TRAINERS_NUM' in env FLAGS.dist = 'PADDLE_TRAINER_ID' in env and 'PADDLE_TRAINERS_NUM' in env
if FLAGS.dist: if FLAGS.dist:
...@@ -202,7 +206,6 @@ def main(): ...@@ -202,7 +206,6 @@ def main():
if FLAGS.eval: if FLAGS.eval:
# insert quantize op in eval_prog # insert quantize op in eval_prog
eval_prog = quant_aware(eval_prog, place, config, for_test=True) eval_prog = quant_aware(eval_prog, place, config, for_test=True)
compiled_eval_prog = fluid.compiler.CompiledProgram(eval_prog) compiled_eval_prog = fluid.compiler.CompiledProgram(eval_prog)
start_iter = 0 start_iter = 0
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册