From b4e8eae63a0de045d2ae2813ea0c124f77aacd7e Mon Sep 17 00:00:00 2001 From: D-X-Y <280835372@qq.com> Date: Thu, 20 May 2021 10:53:57 +0800 Subject: [PATCH] Fix path errors in TAS due to lib->xautodl --- CHANGE-LOG.md | 2 +- exps/LFNA/lfna.py | 4 ++++ exps/{ => NATS-Bench}/show-dataset.py | 11 +++-------- exps/{ => TAS}/search-shape.py | 0 exps/{ => TAS}/search-transformable.py | 26 ++++++++++++++++---------- exps/{ => basic}/KD-main.py | 22 ++++++++++++---------- exps/{ => basic}/basic-eval.py | 20 +++++++------------- exps/{ => basic}/basic-main.py | 0 scripts-search/search-depth-cifar.sh | 6 +++--- scripts-search/search-shape-cifar.sh | 6 +++--- scripts-search/search-width-cifar.sh | 6 +++--- scripts/base-train.sh | 2 +- scripts/nas-infer-train.sh | 2 +- scripts/retrain-searched-net.sh | 2 +- scripts/tas-infer-train.sh | 4 ++-- 15 files changed, 57 insertions(+), 56 deletions(-) rename exps/{ => NATS-Bench}/show-dataset.py (88%) rename exps/{ => TAS}/search-shape.py (100%) rename exps/{ => TAS}/search-transformable.py (96%) rename exps/{ => basic}/KD-main.py (94%) rename exps/{ => basic}/basic-eval.py (88%) rename exps/{ => basic}/basic-main.py (100%) diff --git a/CHANGE-LOG.md b/CHANGE-LOG.md index ae2476d..c031b72 100644 --- a/CHANGE-LOG.md +++ b/CHANGE-LOG.md @@ -9,4 +9,4 @@ - [2020.10.15] [446262a](https://github.com/D-X-Y/AutoDL-Projects/tree/446262a) Update NATS-BENCH to version 1.0 - [2020.12.20] [dae387a](https://github.com/D-X-Y/AutoDL-Projects/tree/dae387a) Update NATS-BENCH to version 1.1 - [2021.05.18] [98fadf8](https://github.com/D-X-Y/AutoDL-Projects/tree/98fadf8) Before moving to `xautodl` -- [2021.05.19] [129c9e5](https://github.com/D-X-Y/AutoDL-Projects/tree/129c9e5) `xautodl` is close to ready +- [2021.05.19] [b50ad2a](https://github.com/D-X-Y/AutoDL-Projects/tree/b50ad2a) `xautodl` is close to ready diff --git a/exps/LFNA/lfna.py b/exps/LFNA/lfna.py index 593d133..2ab32cb 100644 --- a/exps/LFNA/lfna.py +++ b/exps/LFNA/lfna.py @@ -10,6 +10,10 @@ from tqdm import tqdm from copy import deepcopy from pathlib import Path +lib_dir = (Path(__file__).parent / "..").resolve() +if str(lib_dir) not in sys.path: + sys.path.insert(0, str(lib_dir)) + from xautodl.procedures import ( prepare_seed, prepare_logger, diff --git a/exps/show-dataset.py b/exps/NATS-Bench/show-dataset.py similarity index 88% rename from exps/show-dataset.py rename to exps/NATS-Bench/show-dataset.py index ee76831..f4419b3 100644 --- a/exps/show-dataset.py +++ b/exps/NATS-Bench/show-dataset.py @@ -3,21 +3,16 @@ ############################################################################## # Copyright (c) Xuanyi Dong [GitHub D-X-Y], 2020.07 # ############################################################################## -# python ./exps/NATS-Bench/main-tss.py --mode meta # +# python ./exps/NATS-Bench/show-dataset.py # ############################################################################## import os, sys, time, torch, random, argparse from typing import List, Text, Dict, Any from PIL import ImageFile - ImageFile.LOAD_TRUNCATED_IMAGES = True from copy import deepcopy -from pathlib import Path -lib_dir = (Path(__file__).parent / ".." / "lib").resolve() -if str(lib_dir) not in sys.path: - sys.path.insert(0, str(lib_dir)) -from config_utils import dict2config, load_config -from datasets import get_datasets +from xautodl.config_utils import dict2config, load_config +from xautodl.datasets import get_datasets from nats_bench import create diff --git a/exps/search-shape.py b/exps/TAS/search-shape.py similarity index 100% rename from exps/search-shape.py rename to exps/TAS/search-shape.py diff --git a/exps/search-transformable.py b/exps/TAS/search-transformable.py similarity index 96% rename from exps/search-transformable.py rename to exps/TAS/search-transformable.py index f22f346..279371c 100644 --- a/exps/search-transformable.py +++ b/exps/TAS/search-transformable.py @@ -12,16 +12,22 @@ import numpy as np from copy import deepcopy from pathlib import Path -lib_dir = (Path(__file__).parent / ".." / "lib").resolve() -if str(lib_dir) not in sys.path: - sys.path.insert(0, str(lib_dir)) -from config_utils import load_config, configure2str, obtain_search_args as obtain_args -from procedures import prepare_seed, prepare_logger, save_checkpoint, copy_checkpoint -from procedures import get_optim_scheduler, get_procedures -from datasets import get_datasets, SearchDataset -from models import obtain_search_model, obtain_model, change_key -from utils import get_model_infos -from log_utils import AverageMeter, time_string, convert_secs2time +from xautodl.config_utils import ( + load_config, + configure2str, + obtain_search_args as obtain_args, +) +from xautodl.procedures import ( + prepare_seed, + prepare_logger, + save_checkpoint, + copy_checkpoint, +) +from xautodl.procedures import get_optim_scheduler, get_procedures +from xautodl.datasets import get_datasets, SearchDataset +from xautodl.models import obtain_search_model, obtain_model, change_key +from xautodl.utils import get_model_infos +from xautodl.log_utils import AverageMeter, time_string, convert_secs2time def main(args): diff --git a/exps/KD-main.py b/exps/basic/KD-main.py similarity index 94% rename from exps/KD-main.py rename to exps/basic/KD-main.py index f414f44..99a9b67 100644 --- a/exps/KD-main.py +++ b/exps/basic/KD-main.py @@ -8,16 +8,18 @@ ImageFile.LOAD_TRUNCATED_IMAGES = True from copy import deepcopy from pathlib import Path -lib_dir = (Path(__file__).parent / ".." / "lib").resolve() -if str(lib_dir) not in sys.path: - sys.path.insert(0, str(lib_dir)) -from config_utils import load_config, obtain_cls_kd_args as obtain_args -from procedures import prepare_seed, prepare_logger, save_checkpoint, copy_checkpoint -from procedures import get_optim_scheduler, get_procedures -from datasets import get_datasets -from models import obtain_model, load_net_from_checkpoint -from utils import get_model_infos -from log_utils import AverageMeter, time_string, convert_secs2time +from xautodl.config_utils import load_config, obtain_cls_kd_args as obtain_args +from xautodl.procedures import ( + prepare_seed, + prepare_logger, + save_checkpoint, + copy_checkpoint, +) +from xautodl.procedures import get_optim_scheduler, get_procedures +from xautodl.datasets import get_datasets +from xautodl.models import obtain_model, load_net_from_checkpoint +from xautodl.utils import get_model_infos +from xautodl.log_utils import AverageMeter, time_string, convert_secs2time def main(args): diff --git a/exps/basic-eval.py b/exps/basic/basic-eval.py similarity index 88% rename from exps/basic-eval.py rename to exps/basic/basic-eval.py index fdac9d1..a9d173d 100644 --- a/exps/basic-eval.py +++ b/exps/basic/basic-eval.py @@ -6,20 +6,13 @@ from PIL import ImageFile ImageFile.LOAD_TRUNCATED_IMAGES = True from copy import deepcopy -from pathlib import Path -lib_dir = (Path(__file__).parent / ".." / "lib").resolve() -if str(lib_dir) not in sys.path: - sys.path.insert(0, str(lib_dir)) -from config_utils import load_config, dict2config -from procedures import get_procedures, get_optim_scheduler -from datasets import get_datasets -from models import obtain_model -from utils import get_model_infos -from log_utils import PrintLogger, time_string - - -assert torch.cuda.is_available(), "torch.cuda is not available" +from xautodl.config_utils import load_config, dict2config +from xautodl.procedures import get_procedures, get_optim_scheduler +from xautodl.datasets import get_datasets +from xautodl.models import obtain_model +from xautodl.utils import get_model_infos +from xautodl.log_utils import PrintLogger, time_string def main(args): @@ -118,4 +111,5 @@ if __name__ == "__main__": "--checkpoint", type=str, help="Choose between Cifar10/100 and ImageNet." ) args = parser.parse_args() + assert torch.cuda.is_available(), "torch.cuda is not available" main(args) diff --git a/exps/basic-main.py b/exps/basic/basic-main.py similarity index 100% rename from exps/basic-main.py rename to exps/basic/basic-main.py diff --git a/scripts-search/search-depth-cifar.sh b/scripts-search/search-depth-cifar.sh index 74e9dff..c84ba9d 100644 --- a/scripts-search/search-depth-cifar.sh +++ b/scripts-search/search-depth-cifar.sh @@ -32,7 +32,7 @@ save_dir=${SAVE_ROOT}/search-depth/${dataset}-${model}-${optim}-Gumbel_${gumbel_ python --version -OMP_NUM_THREADS=4 python ./exps/search-shape.py --dataset ${dataset} \ +OMP_NUM_THREADS=4 python ./exps/TAS/search-shape.py --dataset ${dataset} \ --data_path $TORCH_HOME/cifar.python \ --model_config ./configs/archs/CIFAR-${model}.config \ --split_path ./.latent-data/splits/${dataset}-0.5.pth \ @@ -53,7 +53,7 @@ if [ "$rseed" = "-1" ]; then else # normal training xsave_dir=${save_dir}/seed-${rseed}-NMT - OMP_NUM_THREADS=4 python ./exps/basic-main.py --dataset ${dataset} \ + OMP_NUM_THREADS=4 python ./exps/basic/basic-main.py --dataset ${dataset} \ --data_path $TORCH_HOME/cifar.python \ --model_config ${save_dir}/seed-${rseed}-last.config \ --optim_config ./configs/opts/CIFAR-E300-W5-L1-COS.config \ @@ -64,7 +64,7 @@ else --eval_frequency 1 --print_freq 100 --print_freq_eval 200 # KD training xsave_dir=${save_dir}/seed-${rseed}-KDT - OMP_NUM_THREADS=4 python ./exps/KD-main.py --dataset ${dataset} \ + OMP_NUM_THREADS=4 python ./exps/basic/KD-main.py --dataset ${dataset} \ --data_path $TORCH_HOME/cifar.python \ --model_config ${save_dir}/seed-${rseed}-last.config \ --optim_config ./configs/opts/CIFAR-E300-W5-L1-COS.config \ diff --git a/scripts-search/search-shape-cifar.sh b/scripts-search/search-shape-cifar.sh index cc22932..45b223f 100644 --- a/scripts-search/search-shape-cifar.sh +++ b/scripts-search/search-shape-cifar.sh @@ -28,7 +28,7 @@ save_dir=./output/search-shape/${dataset}-${model}-${optim}-Gumbel_${gumbel_min} python --version -OMP_NUM_THREADS=4 python ./exps/search-transformable.py --dataset ${dataset} \ +OMP_NUM_THREADS=4 python ./exps/TAS/search-transformable.py --dataset ${dataset} \ --data_path $TORCH_HOME/cifar.python \ --model_config ./configs/archs/CIFAR-${model}.config \ --split_path ./.latent-data/splits/${dataset}-0.5.pth \ @@ -48,7 +48,7 @@ if [ "$rseed" = "-1" ]; then else # normal training xsave_dir=${save_dir}/seed-${rseed}-NMT - OMP_NUM_THREADS=4 python ./exps/basic-main.py --dataset ${dataset} \ + OMP_NUM_THREADS=4 python ./exps/basic/basic-main.py --dataset ${dataset} \ --data_path $TORCH_HOME/cifar.python \ --model_config ${save_dir}/seed-${rseed}-last.config \ --optim_config ./configs/opts/CIFAR-E300-W5-L1-COS.config \ @@ -59,7 +59,7 @@ else --eval_frequency 1 --print_freq 100 --print_freq_eval 200 # KD training xsave_dir=${save_dir}/seed-${rseed}-KDT - OMP_NUM_THREADS=4 python ./exps/KD-main.py --dataset ${dataset} \ + OMP_NUM_THREADS=4 python ./exps/basic/KD-main.py --dataset ${dataset} \ --data_path $TORCH_HOME/cifar.python \ --model_config ${save_dir}/seed-${rseed}-last.config \ --optim_config ./configs/opts/CIFAR-E300-W5-L1-COS.config \ diff --git a/scripts-search/search-width-cifar.sh b/scripts-search/search-width-cifar.sh index 480d384..4919b79 100644 --- a/scripts-search/search-width-cifar.sh +++ b/scripts-search/search-width-cifar.sh @@ -32,7 +32,7 @@ save_dir=${SAVE_ROOT}/search-width/${dataset}-${model}-${optim}-Gumbel_${gumbel_ python --version -OMP_NUM_THREADS=4 python ./exps/search-shape.py --dataset ${dataset} \ +OMP_NUM_THREADS=4 python ./exps/TAS/search-shape.py --dataset ${dataset} \ --data_path $TORCH_HOME/cifar.python \ --model_config ./configs/archs/CIFAR-${model}.config \ --split_path ./.latent-data/splits/${dataset}-0.5.pth \ @@ -53,7 +53,7 @@ if [ "$rseed" = "-1" ]; then else # normal training xsave_dir=${save_dir}/seed-${rseed}-NMT - OMP_NUM_THREADS=4 python ./exps/basic-main.py --dataset ${dataset} \ + OMP_NUM_THREADS=4 python ./exps/basic/basic-main.py --dataset ${dataset} \ --data_path $TORCH_HOME/cifar.python \ --model_config ${save_dir}/seed-${rseed}-last.config \ --optim_config ./configs/opts/CIFAR-E300-W5-L1-COS.config \ @@ -64,7 +64,7 @@ else --eval_frequency 1 --print_freq 100 --print_freq_eval 200 # KD training xsave_dir=${save_dir}/seed-${rseed}-KDT - OMP_NUM_THREADS=4 python ./exps/KD-main.py --dataset ${dataset} \ + OMP_NUM_THREADS=4 python ./exps/basic/KD-main.py --dataset ${dataset} \ --data_path $TORCH_HOME/cifar.python \ --model_config ${save_dir}/seed-${rseed}-last.config \ --optim_config ./configs/opts/CIFAR-E300-W5-L1-COS.config \ diff --git a/scripts/base-train.sh b/scripts/base-train.sh index bc8e90c..cd80903 100644 --- a/scripts/base-train.sh +++ b/scripts/base-train.sh @@ -26,7 +26,7 @@ save_dir=./output/basic/${dataset}/${model}-${epoch}-${LR}-${batch} python --version -OMP_NUM_THREADS=4 python ./exps/basic-main.py --dataset ${dataset} \ +OMP_NUM_THREADS=4 python ./exps/basic/basic-main.py --dataset ${dataset} \ --data_path $TORCH_HOME/cifar.python \ --model_config ./configs/archs/CIFAR-${model}.config \ --optim_config ./configs/opts/CIFAR-${epoch}-W5-${LR}-COS.config \ diff --git a/scripts/nas-infer-train.sh b/scripts/nas-infer-train.sh index 8b2eea2..b111720 100644 --- a/scripts/nas-infer-train.sh +++ b/scripts/nas-infer-train.sh @@ -40,7 +40,7 @@ save_dir=${SAVE_ROOT}/nas-infer/${dataset}-${model}-${batch} python --version -python ./exps/basic-main.py --dataset ${dataset} \ +python ./exps/basic/basic-main.py --dataset ${dataset} \ --data_path ${xpath} --model_source nas \ --model_config ./configs/archs/NAS-${base}-${model}.config \ --optim_config ./configs/opts/NAS-${base}.config \ diff --git a/scripts/retrain-searched-net.sh b/scripts/retrain-searched-net.sh index b4f207d..c437c7f 100644 --- a/scripts/retrain-searched-net.sh +++ b/scripts/retrain-searched-net.sh @@ -41,7 +41,7 @@ save_dir=${SAVE_ROOT}/nas-infer/${dataset}-BS${batch}-${save_name} python --version -python ./exps/basic-main.py --dataset ${dataset} \ +python ./exps/basic/basic-main.py --dataset ${dataset} \ --data_path ${xpath} --model_source autodl-searched \ --model_config ./configs/archs/NAS-${base}-none.config \ --optim_config ./configs/opts/NAS-${base}.config \ diff --git a/scripts/tas-infer-train.sh b/scripts/tas-infer-train.sh index f6f6adc..433d5b3 100644 --- a/scripts/tas-infer-train.sh +++ b/scripts/tas-infer-train.sh @@ -40,7 +40,7 @@ python --version # normal training xsave_dir=${save_dir}-NMT -OMP_NUM_THREADS=4 python ./exps/basic-main.py --dataset ${dataset} \ +OMP_NUM_THREADS=4 python ./exps/basic/basic-main.py --dataset ${dataset} \ --data_path ${xpath} \ --model_config ./configs/NeurIPS-2019/${model}.config \ --optim_config ${opt_config} \ @@ -52,7 +52,7 @@ OMP_NUM_THREADS=4 python ./exps/basic-main.py --dataset ${dataset} \ # KD training xsave_dir=${save_dir}-KDT -OMP_NUM_THREADS=4 python ./exps/KD-main.py --dataset ${dataset} \ +OMP_NUM_THREADS=4 python ./exps/basic/KD-main.py --dataset ${dataset} \ --data_path ${xpath} \ --model_config ./configs/NeurIPS-2019/${model}.config \ --optim_config ${opt_config} \