From c32b8b15c5899343097d46ec536db6dc94d55120 Mon Sep 17 00:00:00 2001 From: shippingwang Date: Mon, 20 Apr 2020 11:01:08 +0000 Subject: [PATCH] refine code --- configs/eval.yaml | 8 ++++---- configs/flower.yaml | 11 ++++++----- ppcls/utils/check.py | 2 +- ppcls/utils/config.py | 13 +++++++++++-- tools/eval.py | 5 +++-- tools/eval.sh | 6 ++++++ tools/program.py | 1 + tools/run.sh | 1 - tools/train.py | 4 ++-- 9 files changed, 34 insertions(+), 17 deletions(-) create mode 100644 tools/eval.sh diff --git a/configs/eval.yaml b/configs/eval.yaml index 6c5333cb..0234a9f3 100644 --- a/configs/eval.yaml +++ b/configs/eval.yaml @@ -1,8 +1,8 @@ mode: 'valid' ARCHITECTURE: - name: "" + name: "ResNet50_vd" -pretrained_model: "" +pretrained_model: "./pretrained_model/ResNet50_vd_pretrained" classes_num: 1000 total_images: 1281167 topk: 5 @@ -11,8 +11,8 @@ image_shape: [3, 224, 224] VALID: batch_size: 16 num_workers: 4 - file_list: "../dataset/ILSVRC2012/val_list.txt" - data_dir: "../dataset/ILSVRC2012/" + file_list: "./dataset/ILSVRC2012/val_list.txt" + data_dir: "./dataset/ILSVRC2012/" shuffle_seed: 0 transforms: - DecodeImage: diff --git a/configs/flower.yaml b/configs/flower.yaml index 8375adca..b517948f 100644 --- a/configs/flower.yaml +++ b/configs/flower.yaml @@ -1,5 +1,6 @@ mode: 'train' -architecture: 'ResNet50_vd' +ARCHITECTURE: + name: 'ResNet50_vd' pretrained_model: model_save_dir: "./output/" classes_num: 102 @@ -29,8 +30,8 @@ OPTIMIZER: TRAIN: batch_size: 32 num_workers: 1 - file_list: "./dataset/flower102/train_list.txt" - data_dir: "./dataset/flower102" + file_list: "./dataset/flowers102/train_list.txt" + data_dir: "./dataset/flowers102" shuffle_seed: 0 transforms: - DecodeImage: @@ -54,8 +55,8 @@ TRAIN: VALID: batch_size: 64 num_workers: 1 - file_list: "./dataset/flower102/val_list.txt" - data_dir: "./dataset/flower102/" + file_list: "./dataset/flowers102/val_list.txt" + data_dir: "./dataset/flowers102/" shuffle_seed: 0 transforms: - DecodeImage: diff --git a/ppcls/utils/check.py b/ppcls/utils/check.py index 7e0aa52d..31b42763 100644 --- a/ppcls/utils/check.py +++ b/ppcls/utils/check.py @@ -67,7 +67,7 @@ def check_architecture(architecture): similar_names = similar_architectures(architecture["name"], get_architectures()) model_list = ', '.join(similar_names) - err = "{} is not exist! Maybe you want: [{}]" \ + err = "Architecture [{}] is not exist! Maybe you want: [{}]" \ "".format(architecture["name"], model_list) try: assert architecture["name"] in similar_names diff --git a/ppcls/utils/config.py b/ppcls/utils/config.py index 3d30cab7..17f7aab3 100644 --- a/ppcls/utils/config.py +++ b/ppcls/utils/config.py @@ -63,7 +63,11 @@ def print_dict(d, delimiter=0): Recursively visualize a dict and indenting acrrording by the relationship of keys. """ + + dk = [] + dv = [] for k, v in d.items(): + if k in CONFIG_SECS: logger.info("-" * 60) @@ -75,11 +79,16 @@ def print_dict(d, delimiter=0): for value in v: print_dict(value, delimiter + 4) else: - logger.info("{}{} : {}".format(delimiter * " ", k, v)) - + dk.append(k) + dv.append(v) if k in CONFIG_SECS: logger.info("-" * 60) + for ki,vi in zip(dk,dv): + + logger.info("{}{} : {}".format(delimiter * " ", ki, vi)) + + def print_config(config): """ diff --git a/tools/eval.py b/tools/eval.py index ffae0300..ea0d8c30 100644 --- a/tools/eval.py +++ b/tools/eval.py @@ -71,8 +71,9 @@ def main(args): valid_reader = Reader(config, 'valid')() valid_dataloader.set_sample_list_generator(valid_reader, place) - compiled_valid_prog = program.compile(config, valid_prog) - + + #compiled_valid_prog = program.compile(config, valid_prog) + compiled_valid_prog = valid_prog program.run(valid_dataloader, exe, compiled_valid_prog, valid_fetchs, 0, 'valid') diff --git a/tools/eval.sh b/tools/eval.sh new file mode 100644 index 00000000..7da3ad4c --- /dev/null +++ b/tools/eval.sh @@ -0,0 +1,6 @@ +export PYTHONPATH=$PWD:$PYTHONPATH + +python -m paddle.distributed.launch \ + --selected_gpus="0" \ + tools/eval.py \ + -c ./configs/eval.yaml diff --git a/tools/program.py b/tools/program.py index b933ae10..796f09a5 100644 --- a/tools/program.py +++ b/tools/program.py @@ -389,3 +389,4 @@ def run(dataloader, exe, program, fetchs, epoch=0, mode='train'): fetchs_str = ''.join([str(m) for m in metric_list] + [str(batch_time)]) logger.info("[epoch:%3d][%s][step:%4d]%s" % (epoch, mode, idx, fetchs_str)) + logger.info("END [epoch:%3d][%s]%s"%(epoch, mode, fetchs_str)) diff --git a/tools/run.sh b/tools/run.sh index 25d6ca02..55f2918d 100755 --- a/tools/run.sh +++ b/tools/run.sh @@ -4,6 +4,5 @@ export PYTHONPATH=$PWD:$PYTHONPATH python -m paddle.distributed.launch \ --selected_gpus="0,1,2,3" \ - --log_dir=log_ResNet50 \ tools/train.py \ -c ./configs/ResNet/ResNet50.yaml diff --git a/tools/train.py b/tools/train.py index 83790a87..8c9b97d1 100644 --- a/tools/train.py +++ b/tools/train.py @@ -87,8 +87,8 @@ def main(args): if config.validate: valid_reader = Reader(config, 'valid')() valid_dataloader.set_sample_list_generator(valid_reader, place) - compiled_valid_prog = program.compile(config, valid_prog) - + #compiled_valid_prog = program.compile(config, valid_prog) + compiled_valid_prog = valid_prog compiled_train_prog = fleet.main_program for epoch_id in range(config.epochs): # 1. train with train dataset -- GitLab