diff --git a/configs/eval.yaml b/configs/eval.yaml index 6c5333cb0c4a7ff596d6a652be421e46d6c3fbcf..0234a9f381739c26e4b797d1913de31ce4bc594c 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 8375adca1ae8c929970533fb5d6f3384c80fe068..b517948f02c250db85b605e436036a777126938f 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 7e0aa52d3ad282cf2203d15c8e539ef5f3dd5cd4..31b4276329138fbdf864010ef87b0fac4b6b0cc2 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 3d30cab706319c1c8f85318d028cf35ba282e12e..17f7aab30a71b80cd05cabbcb55dcba54d5a8041 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 ffae0300802818cc6a635ccc582e8ac05da2a89d..ea0d8c309a9c657aecff95960a52748b4f5f34e3 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 0000000000000000000000000000000000000000..7da3ad4c9411a532966d3544558f87e027050492 --- /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 b933ae10e38f75e109d31bf0857d47133f5a4fb0..796f09a5e8fb9b75dbbc00d2ff8bb2c8f45f3802 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 25d6ca0239003e351b55e0d2b65d2251135c83af..55f2918d91387a88227027656e9ac5e00320d358 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 83790a87e399b954d82c4e1d0061f602118192b9..8c9b97d14611f3f70dbf0683b5956371e5d59c15 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