提交 21b00fb7 编写于 作者: L Liu Xudong 提交者: kolinwei

Add PaddleSlim CE (#2288)

* Add PaddleSlim CE

* Add log and remove counting

* Remove environment variable LD_LIBRARY_PATH

* Reduce epoch count to save time
上级 f07c9635
#!/bin/bash
# This file is only used for continuous evaluation.
export FLAGS_eager_delete_tensor_gb=0.0
export CUDA_VISIBLE_DEVICES=3
if [ ! -d 'pretrain' ]; then
ln -s ${PRETRAINED_MODEL_PATH} ./pretrain
fi
if [ ! -d 'data' ]; then
ln -s ${ILSVRC2012_DATA_PATH} ./data
fi
if [ -d 'checkpoints' ]; then
rm -rf checkpoints
fi
sed -i "s/epoch: 200/epoch: 1/g" configs/filter_pruning_uniform.yaml
python compress.py \
--model "MobileNet" \
--pretrained_model ./pretrain/MobileNetV1_pretrained \
--compress_config ./configs/filter_pruning_uniform.yaml 2>&1 | tee run.log | python _ce.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import os
import sys
import re
sys.path.append(os.environ['ceroot'])
from kpi import AccKpi
test_acc_top1_kpi = AccKpi(
'test_acc_top1', 0.02, 0, actived=True, desc='TOP1 ACC')
test_acc_top5_kpi = AccKpi(
'test_acc_top5', 0.02, 0, actived=True, desc='TOP5 ACC')
tracking_kpis = [test_acc_top1_kpi, test_acc_top5_kpi]
def parse_log(log):
'''
parse log
'''
pattern = r"^.*Final eval result: \['acc_top1', 'acc_top5'\]=\[(?P<test_acc_top1>0\.\d+)\s+(?P<test_acc_top5>0\.\d+)\s*\]"
prog = re.compile(pattern)
for line in log.split('\n'):
result = prog.match(line)
if not result:
continue
for kpi_name, kpi_value in result.groupdict().iteritems():
yield kpi_name, float(kpi_value)
def log_to_ce(log):
"""
log to ce
"""
kpi_tracker = {}
for kpi in tracking_kpis:
kpi_tracker[kpi.name] = kpi
for(kpi_name, kpi_value) in parse_log(log):
kpi_tracker[kpi_name].add_record(kpi_value)
kpi_tracker[kpi_name].persist()
if __name__ == '__main__':
log = sys.stdin.read()
log_to_ce(log)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册