├── AIR_Distiller ├── utils │ ├── __init__.py │ ├── rank_cylib │ │ ├── Makefile │ │ ├── rank_cy.cpython-39-x86_64-linux-gnu.so │ │ ├── roc_cy.cpython-310-x86_64-linux-gnu.so │ │ ├── roc_cy.cpython-311-x86_64-linux-gnu.so │ │ ├── roc_cy.cpython-39-x86_64-linux-gnu.so │ │ ├── rank_cy.cpython-310-x86_64-linux-gnu.so │ │ ├── rank_cy.cpython-311-x86_64-linux-gnu.so │ │ ├── __init__.py │ │ └── setup.py │ ├── global_variable.py │ ├── meter.py │ ├── logger.py │ └── iotools.py ├── dataloader │ ├── __init__.py │ └── datasets │ │ └── __init__.py ├── models │ ├── utils │ │ └── __init__.py │ └── __init__.py ├── .github │ ├── UGD_framework.png │ ├── D3still_framework.png │ └── D3still_ablation_study.png ├── config │ └── __init__.py ├── solver │ ├── __init__.py │ └── make_optimizer.py ├── processor │ └── __init__.py └── distillers │ ├── __init__.py │ └── FitNet.py ├── requirements.txt └── Training_Configs ├── InShop ├── Vanilla │ ├── Vanilla_ResNet18_64x64.yaml │ ├── Vanilla_ResNet101_IBN_a_256x256.yaml │ └── Vanilla_ResNet101_256x256.yaml ├── ResNet101_256x256_ResNet18_64x64 │ ├── RKD.yaml │ ├── CC.yaml │ ├── PKT.yaml │ ├── FitNet.yaml │ ├── RAML.yaml │ ├── VanillaKD.yaml │ ├── ROP.yaml │ ├── UGD.yaml │ ├── D3.yaml │ └── CSD.yaml ├── ResNet101_384x384_ResNet18_64x64 │ ├── CC.yaml │ ├── RKD.yaml │ ├── PKT.yaml │ ├── FitNet.yaml │ ├── RAML.yaml │ ├── VanillaKD.yaml │ ├── ROP.yaml │ ├── UGD.yaml │ ├── D3.yaml │ └── CSD.yaml ├── ResNet101_256x256_MobileNetV3_64x64 │ ├── CC.yaml │ ├── PKT.yaml │ ├── RKD.yaml │ ├── FitNet.yaml │ ├── VanillaKD.yaml │ ├── RAML.yaml │ ├── ROP.yaml │ ├── UGD.yaml │ └── D3.yaml └── Swin_Transformer_V2_Small_256x256_ResNet18_64x64 │ ├── CC.yaml │ ├── PKT.yaml │ ├── RKD.yaml │ └── FitNet.yaml ├── MSMT17 ├── Vanilla │ ├── Vanilla_ResNet18_160x80.yaml │ ├── Vanilla_ResNet101_320x160.yaml │ └── Vanilla_ResNet101_IBN_a_320x160.yaml ├── ResNet101_320x160_ResNet18_160x80 │ ├── CC.yaml │ ├── RKD.yaml │ ├── PKT.yaml │ ├── FitNet.yaml │ ├── RAML.yaml │ ├── VanillaKD.yaml │ ├── D3.yaml │ ├── ROP.yaml │ ├── UGD.yaml │ └── CSD.yaml ├── ResNet101_480x240_ResNet18_160x80 │ ├── CC.yaml │ ├── RKD.yaml │ ├── PKT.yaml │ ├── FitNet.yaml │ ├── RAML.yaml │ ├── VanillaKD.yaml │ ├── D3.yaml │ ├── ROP.yaml │ └── UGD.yaml ├── ResNet101_IBN_320x160_ResNet18_160x80 │ ├── CC.yaml │ ├── RKD.yaml │ ├── PKT.yaml │ ├── FitNet.yaml │ ├── RAML.yaml │ ├── VanillaKD.yaml │ ├── ROP.yaml │ └── UGD.yaml └── ResNet101_320x160_MobileNetV3_160x80 │ ├── CC.yaml │ ├── PKT.yaml │ ├── RKD.yaml │ ├── FitNet.yaml │ ├── RAML.yaml │ ├── UGD.yaml │ └── VanillaKD.yaml ├── SOP ├── Vanilla │ ├── Vanilla_ResNet18_64x64.yaml │ ├── Vanilla_ResNet101_256x256.yaml │ ├── Vanilla_ResNet101_IBN_a_256x256.yaml │ └── Vanilla_Swin_Transformer_Small_256x256.yaml ├── ResNet101_256x256_ResNet18_64x64 │ ├── CC.yaml │ ├── PKT.yaml │ ├── RKD.yaml │ ├── FitNet.yaml │ ├── RAML.yaml │ ├── D3.yaml │ ├── VanillaKD.yaml │ ├── ROP.yaml │ ├── UGD.yaml │ └── CSD.yaml ├── ResNet101_384x384_ResNet18_64x64 │ ├── CC.yaml │ ├── RKD.yaml │ ├── FitNet.yaml │ ├── PKT.yaml │ ├── RAML.yaml │ ├── VanillaKD.yaml │ ├── D3.yaml │ ├── ROP.yaml │ ├── UGD.yaml │ └── CSD.yaml ├── ResNet101_256x256_MobileNetV3_64x64 │ ├── CC.yaml │ ├── RKD.yaml │ ├── PKT.yaml │ ├── FitNet.yaml │ ├── RAML.yaml │ ├── VanillaKD.yaml │ ├── D3.yaml │ ├── ROP.yaml │ └── UGD.yaml └── Swin_Transformer_V2_Small_256x256_ResNet18_64x64 │ ├── CC.yaml │ ├── PKT.yaml │ ├── RKD.yaml │ └── FitNet.yaml └── CUB200 ├── Vanilla ├── Vanilla_ResNet18_64x64.yaml ├── Vanilla_ResNet101_256x256.yaml ├── Vanilla_ResNet101_IBN_a_256x256.yaml └── Vanilla_ResNet18_128x128.yaml ├── ResNet101_256x256_ResNet18_128x128 ├── CC.yaml ├── PKT.yaml ├── RKD.yaml ├── FitNet.yaml ├── VanillaKD.yaml ├── ROP.yaml ├── RAML.yaml ├── D3.yaml ├── UGD.yaml └── CSD.yaml ├── ResNet101_384x384_ResNet18_128x128 ├── CC.yaml ├── RKD.yaml ├── PKT.yaml ├── FitNet.yaml ├── RAML.yaml ├── VanillaKD.yaml ├── UGD.yaml ├── ROP.yaml └── CSD.yaml ├── ResNet101_256x256_MobileNetV3_128x128 ├── CC.yaml ├── PKT.yaml ├── RKD.yaml ├── FitNet.yaml ├── RAML.yaml ├── ROP.yaml ├── VanillaKD.yaml └── UGD.yaml └── Swin_Transformer_V2_Small_256x256_ResNet18_128x128 ├── CC.yaml ├── RKD.yaml ├── PKT.yaml └── FitNet.yaml /AIR_Distiller/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /AIR_Distiller/dataloader/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /AIR_Distiller/models/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | torch==2.4.1 2 | torchvision==0.19.1 3 | yacs 4 | ptflops 5 | timm 6 | -------------------------------------------------------------------------------- /AIR_Distiller/.github/UGD_framework.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SCY-X/D3still/HEAD/AIR_Distiller/.github/UGD_framework.png -------------------------------------------------------------------------------- /AIR_Distiller/.github/D3still_framework.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SCY-X/D3still/HEAD/AIR_Distiller/.github/D3still_framework.png -------------------------------------------------------------------------------- /AIR_Distiller/config/__init__.py: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | 3 | 4 | from .defaults import _C as cfg 5 | from .defaults import _C as cfg_test 6 | -------------------------------------------------------------------------------- /AIR_Distiller/.github/D3still_ablation_study.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SCY-X/D3still/HEAD/AIR_Distiller/.github/D3still_ablation_study.png -------------------------------------------------------------------------------- /AIR_Distiller/solver/__init__.py: -------------------------------------------------------------------------------- 1 | from .lr_scheduler import WarmupMultiStepLR, WarmupCosineAnnealingLR 2 | from .make_optimizer import make_optimizer -------------------------------------------------------------------------------- /AIR_Distiller/utils/rank_cylib/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | python3 setup.py build_ext --inplace 3 | rm -rf build 4 | clean: 5 | rm -rf build 6 | rm -f rank_cy.c *.so 7 | -------------------------------------------------------------------------------- /AIR_Distiller/processor/__init__.py: -------------------------------------------------------------------------------- 1 | from .trainer import BaseTrainer, KDTrainer #, CRDTrainer, 2 | 3 | trainer_dict = { 4 | "vanilla": BaseTrainer, 5 | "kd": KDTrainer 6 | } 7 | -------------------------------------------------------------------------------- /AIR_Distiller/utils/rank_cylib/rank_cy.cpython-39-x86_64-linux-gnu.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SCY-X/D3still/HEAD/AIR_Distiller/utils/rank_cylib/rank_cy.cpython-39-x86_64-linux-gnu.so -------------------------------------------------------------------------------- /AIR_Distiller/utils/rank_cylib/roc_cy.cpython-310-x86_64-linux-gnu.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SCY-X/D3still/HEAD/AIR_Distiller/utils/rank_cylib/roc_cy.cpython-310-x86_64-linux-gnu.so -------------------------------------------------------------------------------- /AIR_Distiller/utils/rank_cylib/roc_cy.cpython-311-x86_64-linux-gnu.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SCY-X/D3still/HEAD/AIR_Distiller/utils/rank_cylib/roc_cy.cpython-311-x86_64-linux-gnu.so -------------------------------------------------------------------------------- /AIR_Distiller/utils/rank_cylib/roc_cy.cpython-39-x86_64-linux-gnu.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SCY-X/D3still/HEAD/AIR_Distiller/utils/rank_cylib/roc_cy.cpython-39-x86_64-linux-gnu.so -------------------------------------------------------------------------------- /AIR_Distiller/utils/rank_cylib/rank_cy.cpython-310-x86_64-linux-gnu.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SCY-X/D3still/HEAD/AIR_Distiller/utils/rank_cylib/rank_cy.cpython-310-x86_64-linux-gnu.so -------------------------------------------------------------------------------- /AIR_Distiller/utils/rank_cylib/rank_cy.cpython-311-x86_64-linux-gnu.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SCY-X/D3still/HEAD/AIR_Distiller/utils/rank_cylib/rank_cy.cpython-311-x86_64-linux-gnu.so -------------------------------------------------------------------------------- /AIR_Distiller/dataloader/datasets/__init__.py: -------------------------------------------------------------------------------- 1 | from .CUB200_2011 import CUB200 2 | from .InShop import InShop 3 | from .Stanford_Online_Products import SOP 4 | from .MSMT17 import MSMT17 5 | 6 | -------------------------------------------------------------------------------- /AIR_Distiller/utils/global_variable.py: -------------------------------------------------------------------------------- 1 | from config import cfg 2 | 3 | 4 | 5 | class global_varible(): 6 | def __init__(self, block_type, deploy_flag): 7 | assert block_type in ['base', 'DBB', 'WB'] 8 | self.CONV_BN_TYPE = block_type 9 | self.DEPLOY_FLAG = deploy_flag 10 | 11 | def block_type(self): 12 | return self.CONV_BN_TYPE 13 | def deploy_flag(self): 14 | return self.DEPLOY_FLAG 15 | -------------------------------------------------------------------------------- /AIR_Distiller/utils/meter.py: -------------------------------------------------------------------------------- 1 | class AverageMeter(object): 2 | """Computes and stores the average and current value""" 3 | 4 | def __init__(self): 5 | self.val = 0 6 | self.avg = 0 7 | self.sum = 0 8 | self.count = 0 9 | 10 | def reset(self): 11 | self.val = 0 12 | self.avg = 0 13 | self.sum = 0 14 | self.count = 0 15 | 16 | def update(self, val, n=1): 17 | self.val = val 18 | self.sum += val * n 19 | self.count += n 20 | self.avg = self.sum / self.count -------------------------------------------------------------------------------- /AIR_Distiller/utils/rank_cylib/__init__.py: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | """ 3 | @author: liaoxingyu 4 | @contact: sherlockliao01@gmail.com 5 | """ 6 | 7 | 8 | def compile_helper(): 9 | """Compile helper function at runtime. Make sure this 10 | is invoked on a single process.""" 11 | import os 12 | import subprocess 13 | 14 | path = os.path.abspath(os.path.dirname(__file__)) 15 | ret = subprocess.run(["make", "-C", path]) 16 | if ret.returncode != 0: 17 | print("Making cython reid evaluation module failed, exiting.") 18 | import sys 19 | 20 | sys.exit(1) 21 | -------------------------------------------------------------------------------- /AIR_Distiller/distillers/__init__.py: -------------------------------------------------------------------------------- 1 | from ._base import Vanilla 2 | from .KD import VanillaKD 3 | from .FitNet import FitNet 4 | from .CC import CC 5 | from .RKD import RKD 6 | from .PKT import PKT 7 | from .CSD import CSD 8 | from .ROP import ROP 9 | from .RAML import RAML 10 | from .D3 import D3 11 | from .UGD import UGD 12 | 13 | distiller_dict = { 14 | "NONE": Vanilla, 15 | "VanillaKD": VanillaKD, 16 | "FitNet": FitNet, 17 | "CC": CC, 18 | "RKD": RKD, 19 | "PKT": PKT, 20 | "CSD": CSD, 21 | "ROP": ROP, 22 | "RAML": RAML, 23 | "D3": D3, 24 | "UGD": UGD 25 | } 26 | -------------------------------------------------------------------------------- /AIR_Distiller/utils/rank_cylib/setup.py: -------------------------------------------------------------------------------- 1 | from distutils.core import setup 2 | from distutils.extension import Extension 3 | 4 | import numpy as np 5 | from Cython.Build import cythonize 6 | 7 | 8 | def numpy_include(): 9 | try: 10 | numpy_include = np.get_include() 11 | except AttributeError: 12 | numpy_include = np.get_numpy_include() 13 | return numpy_include 14 | 15 | 16 | ext_modules = [ 17 | Extension( 18 | 'rank_cy', 19 | ['rank_cy.pyx'], 20 | include_dirs=[numpy_include()], 21 | ), 22 | Extension( 23 | 'roc_cy', 24 | ['roc_cy.pyx'], 25 | include_dirs=[numpy_include()], 26 | ) 27 | ] 28 | 29 | setup( 30 | name='Cython-based reid evaluation code', 31 | ext_modules=cythonize(ext_modules) 32 | ) 33 | -------------------------------------------------------------------------------- /AIR_Distiller/models/__init__.py: -------------------------------------------------------------------------------- 1 | from .resnet import resnet18, resnet34, resnet50, resnet101, resnet152 2 | from .resnet_ibn import resnet18_ibn_a, resnet34_ibn_a, resnet50_ibn_a, resnet101_ibn_a 3 | from .swin_transformer_v2 import swin_transformer_v2_base, swin_transformer_v2_small, swin_transformer_v2_tiny 4 | from .mobilenetv3 import mobilenetv3_small 5 | 6 | 7 | model_dict = { 8 | "ResNet18": resnet18, 9 | "ResNet34": resnet34, 10 | "ResNet50": resnet50, 11 | "ResNet101": resnet101, 12 | "ResNet18_ibn_a": resnet18_ibn_a, 13 | "ResNet34_ibn_a": resnet34_ibn_a, 14 | "ResNet50_ibn_a": resnet50_ibn_a, 15 | "ResNet101_ibn_a": resnet101_ibn_a, 16 | "MobileNetV3_Small": mobilenetv3_small, 17 | "Swin_Transformer_V2_Base": swin_transformer_v2_base, 18 | "Swin_Transformer_V2_Small": swin_transformer_v2_small, 19 | "Swin_Transformer_V2_Tiny": swin_transformer_v2_tiny 20 | } 21 | -------------------------------------------------------------------------------- /AIR_Distiller/utils/logger.py: -------------------------------------------------------------------------------- 1 | import logging 2 | import os 3 | import sys 4 | import os.path as osp 5 | def setup_logger(name, save_dir, if_train): 6 | logger = logging.getLogger(name) 7 | logger.setLevel(logging.DEBUG) 8 | 9 | ch = logging.StreamHandler(stream=sys.stdout) 10 | ch.setLevel(logging.DEBUG) 11 | formatter = logging.Formatter("%(asctime)s %(name)s %(levelname)s: %(message)s") 12 | ch.setFormatter(formatter) 13 | logger.addHandler(ch) 14 | 15 | if save_dir: 16 | if not osp.exists(save_dir): 17 | os.makedirs(save_dir) 18 | if if_train: 19 | fh = logging.FileHandler(os.path.join(save_dir, "train_log.txt"), mode='w') 20 | else: 21 | fh = logging.FileHandler(os.path.join(save_dir, "test_log.txt"), mode='w') 22 | fh.setLevel(logging.DEBUG) 23 | fh.setFormatter(formatter) 24 | logger.addHandler(fh) 25 | 26 | return logger -------------------------------------------------------------------------------- /AIR_Distiller/utils/iotools.py: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | """ 3 | @author: sherlock 4 | @contact: sherlockliao01@gmail.com 5 | """ 6 | 7 | import errno 8 | import json 9 | import os 10 | 11 | import os.path as osp 12 | 13 | 14 | def mkdir_if_missing(directory): 15 | if not osp.exists(directory): 16 | try: 17 | os.makedirs(directory) 18 | except OSError as e: 19 | if e.errno != errno.EEXIST: 20 | raise 21 | 22 | 23 | def check_isfile(path): 24 | isfile = osp.isfile(path) 25 | if not isfile: 26 | print("=> Warning: no file found at '{}' (ignored)".format(path)) 27 | return isfile 28 | 29 | 30 | def read_json(fpath): 31 | with open(fpath, 'r') as f: 32 | obj = json.load(f) 33 | return obj 34 | 35 | 36 | def write_json(obj, fpath): 37 | mkdir_if_missing(osp.dirname(fpath)) 38 | with open(fpath, 'w') as f: 39 | json.dump(obj, f, indent=4, separators=(',', ': ')) 40 | -------------------------------------------------------------------------------- /Training_Configs/InShop/Vanilla/Vanilla_ResNet18_64x64.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log" 7 | EXPERIMENT_NAME: "InShop_ResNet18_64x64" 8 | 9 | 10 | 11 | DATASETS: 12 | NAMES: "InShop" 13 | ROOT_DIR: "" 14 | 15 | 16 | DISTILLER: 17 | TYPE: "NONE" 18 | STUDENT_NAME: "ResNet18" 19 | STUDENT_PRETRAIN_PATH: '' 20 | 21 | INPUT: 22 | STUDENT_SIZE_TRAIN: [64, 64] 23 | STUDENT_SIZE_TEST: [64, 64] 24 | STUDENT_PADDING: 2 25 | RE_PROB: 0.5 26 | 27 | DATALOADER: 28 | NUM_WORKERS: 8 29 | NUM_INSTANCE: 6 30 | 31 | SOLVER: 32 | TRAINER: "vanilla" 33 | IMS_PER_BATCH: 96 34 | MAX_EPOCHS: 120 35 | BASE_LR: 0.01 36 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 37 | LR_WARMUP_EPOCHS: 10 38 | LR_WARMUP_FACTOR: 0.1 39 | LR_DECAY_STEPS: [40] #[30, 60, 90] 40 | OPTIMIZER_NAME: "SGD" 41 | 42 | CHECKPOINT_PERIOD: 120 43 | 44 | 45 | TEST: 46 | IMS_PER_BATCH: 512 47 | WEIGHT: 120 -------------------------------------------------------------------------------- /Training_Configs/MSMT17/Vanilla/Vanilla_ResNet18_160x80.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/Vanilla" 7 | EXPERIMENT_NAME: "MSMT17_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "NONE" 17 | STUDENT_NAME: "ResNet18" 18 | STUDENT_PRETRAIN_PATH: '' 19 | 20 | INPUT: 21 | STUDENT_SIZE_TRAIN: [160, 80] 22 | STUDENT_SIZE_TEST: [160, 80] 23 | STUDENT_PADDING: 4 24 | RE_PROB: 0.5 25 | 26 | DATALOADER: 27 | NUM_WORKERS: 8 28 | NUM_INSTANCE: 6 29 | 30 | SOLVER: 31 | TRAINER: "vanilla" 32 | IMS_PER_BATCH: 96 33 | MAX_EPOCHS: 120 34 | BASE_LR: 0.01 35 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 36 | LR_WARMUP_EPOCHS: 10 37 | LR_WARMUP_FACTOR: 0.1 38 | LR_DECAY_STEPS: [40] #[30, 60, 90] 39 | OPTIMIZER_NAME: "SGD" 40 | 41 | CHECKPOINT_PERIOD: 120 42 | 43 | 44 | TEST: 45 | IMS_PER_BATCH: 512 46 | WEIGHT: 120 -------------------------------------------------------------------------------- /Training_Configs/SOP/Vanilla/Vanilla_ResNet18_64x64.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log" 7 | EXPERIMENT_NAME: "SOP_ResNet18_64x64" 8 | 9 | 10 | 11 | DATASETS: 12 | NAMES: "SOP" 13 | ROOT_DIR: "" 14 | 15 | 16 | DISTILLER: 17 | TYPE: "NONE" 18 | STUDENT_NAME: "ResNet18" 19 | STUDENT_PRETRAIN_PATH: '' 20 | 21 | INPUT: 22 | STUDENT_SIZE_TRAIN: [64, 64] 23 | STUDENT_SIZE_TEST: [64, 64] 24 | STUDENT_PADDING: 2 25 | RE_PROB: 0.5 26 | 27 | DATALOADER: 28 | NUM_WORKERS: 8 29 | NUM_INSTANCE: 6 30 | 31 | SOLVER: 32 | TRAINER: "vanilla" 33 | IMS_PER_BATCH: 96 34 | MAX_EPOCHS: 120 35 | BASE_LR: 0.01 36 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 37 | LR_WARMUP_EPOCHS: 10 38 | LR_WARMUP_FACTOR: 0.1 39 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 40 | OPTIMIZER_NAME: "SGD" 41 | 42 | CHECKPOINT_PERIOD: 120 43 | 44 | 45 | TEST: 46 | IMS_PER_BATCH: 512 47 | WEIGHT: 120 -------------------------------------------------------------------------------- /Training_Configs/CUB200/Vanilla/Vanilla_ResNet18_64x64.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log" 7 | EXPERIMENT_NAME: "CUB200_ResNet18_64x64" 8 | 9 | 10 | 11 | DATASETS: 12 | NAMES: "CUB200" 13 | ROOT_DIR: "" 14 | 15 | 16 | DISTILLER: 17 | TYPE: "NONE" 18 | STUDENT_NAME: "ResNet18" 19 | STUDENT_PRETRAIN_PATH: '' 20 | 21 | INPUT: 22 | STUDENT_SIZE_TRAIN: [64, 64] 23 | STUDENT_SIZE_TEST: [64, 64] 24 | STUDENT_PADDING: 2 25 | RE_PROB: 0.0 26 | 27 | DATALOADER: 28 | NUM_WORKERS: 8 29 | NUM_INSTANCE: 6 30 | 31 | SOLVER: 32 | TRAINER: "vanilla" 33 | IMS_PER_BATCH: 96 34 | MAX_EPOCHS: 120 35 | BASE_LR: 0.01 36 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 37 | LR_WARMUP_EPOCHS: 10 38 | LR_WARMUP_FACTOR: 0.1 39 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 40 | OPTIMIZER_NAME: "SGD" 41 | 42 | CHECKPOINT_PERIOD: 120 43 | 44 | 45 | TEST: 46 | IMS_PER_BATCH: 512 47 | WEIGHT: 120 -------------------------------------------------------------------------------- /Training_Configs/MSMT17/Vanilla/Vanilla_ResNet101_320x160.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/Vanilla" 7 | EXPERIMENT_NAME: "MSMT17_ResNet101_320x160" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "NONE" 17 | STUDENT_NAME: "ResNet101" 18 | STUDENT_PRETRAIN_PATH: '' 19 | 20 | INPUT: 21 | STUDENT_SIZE_TRAIN: [320, 160] 22 | STUDENT_SIZE_TEST: [320, 160] 23 | STUDENT_PADDING: 8 24 | RE_PROB: 0.5 25 | 26 | DATALOADER: 27 | NUM_WORKERS: 8 28 | NUM_INSTANCE: 6 29 | 30 | SOLVER: 31 | TRAINER: "vanilla" 32 | IMS_PER_BATCH: 96 33 | MAX_EPOCHS: 120 34 | BASE_LR: 0.01 35 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 36 | LR_WARMUP_EPOCHS: 10 37 | LR_WARMUP_FACTOR: 0.1 38 | LR_DECAY_STEPS: [40] #[30, 60, 90] 39 | OPTIMIZER_NAME: "SGD" 40 | 41 | CHECKPOINT_PERIOD: 120 42 | 43 | 44 | TEST: 45 | IMS_PER_BATCH: 512 46 | WEIGHT: 120 -------------------------------------------------------------------------------- /Training_Configs/CUB200/Vanilla/Vanilla_ResNet101_256x256.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log" 7 | EXPERIMENT_NAME: "CUB200_ResNet101_256x256" 8 | 9 | 10 | 11 | DATASETS: 12 | NAMES: "CUB200" 13 | ROOT_DIR: "" 14 | 15 | 16 | DISTILLER: 17 | TYPE: "NONE" 18 | STUDENT_NAME: "ResNet101" 19 | STUDENT_PRETRAIN_PATH: '' 20 | 21 | INPUT: 22 | STUDENT_SIZE_TRAIN: [256, 256] 23 | STUDENT_SIZE_TEST: [256, 256] 24 | STUDENT_PADDING: 8 25 | RE_PROB: 0.0 26 | 27 | DATALOADER: 28 | NUM_WORKERS: 8 29 | NUM_INSTANCE: 6 30 | 31 | SOLVER: 32 | TRAINER: "vanilla" 33 | IMS_PER_BATCH: 96 34 | MAX_EPOCHS: 120 35 | BASE_LR: 0.01 36 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 37 | LR_WARMUP_EPOCHS: 10 38 | LR_WARMUP_FACTOR: 0.1 39 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 40 | OPTIMIZER_NAME: "SGD" 41 | 42 | CHECKPOINT_PERIOD: 120 43 | 44 | 45 | TEST: 46 | IMS_PER_BATCH: 512 47 | WEIGHT: 120 -------------------------------------------------------------------------------- /Training_Configs/CUB200/Vanilla/Vanilla_ResNet101_IBN_a_256x256.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log" 7 | EXPERIMENT_NAME: "CUB200_ResNet101_256x256" 8 | 9 | 10 | 11 | DATASETS: 12 | NAMES: "CUB200" 13 | ROOT_DIR: "" 14 | 15 | 16 | DISTILLER: 17 | TYPE: "NONE" 18 | STUDENT_NAME: "ResNet101_ibn_a" 19 | STUDENT_PRETRAIN_PATH: '' 20 | 21 | INPUT: 22 | STUDENT_SIZE_TRAIN: [256, 256] 23 | STUDENT_SIZE_TEST: [256, 256] 24 | STUDENT_PADDING: 8 25 | RE_PROB: 0.0 26 | 27 | DATALOADER: 28 | NUM_WORKERS: 8 29 | NUM_INSTANCE: 6 30 | 31 | SOLVER: 32 | TRAINER: "vanilla" 33 | IMS_PER_BATCH: 96 34 | MAX_EPOCHS: 120 35 | BASE_LR: 0.01 36 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 37 | LR_WARMUP_EPOCHS: 10 38 | LR_WARMUP_FACTOR: 0.1 39 | LR_DECAY_STEPS: [40] #[30, 60, 90] 40 | OPTIMIZER_NAME: "SGD" 41 | 42 | CHECKPOINT_PERIOD: 120 43 | 44 | 45 | TEST: 46 | IMS_PER_BATCH: 512 47 | WEIGHT: 120 -------------------------------------------------------------------------------- /Training_Configs/SOP/Vanilla/Vanilla_ResNet101_256x256.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'1'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/Vanilla" 7 | EXPERIMENT_NAME: "SOP_ResNet101_256x256" 8 | 9 | 10 | 11 | DATASETS: 12 | NAMES: "SOP" 13 | ROOT_DIR: "" 14 | 15 | 16 | DISTILLER: 17 | TYPE: "NONE" 18 | STUDENT_NAME: "ResNet101" 19 | STUDENT_PRETRAIN_PATH: '' 20 | 21 | INPUT: 22 | STUDENT_SIZE_TRAIN: [256, 256] 23 | STUDENT_SIZE_TEST: [256, 256] 24 | STUDENT_PADDING: 8 25 | RE_PROB: 0.5 26 | 27 | DATALOADER: 28 | NUM_WORKERS: 8 29 | NUM_INSTANCE: 6 30 | 31 | SOLVER: 32 | TRAINER: "vanilla" 33 | IMS_PER_BATCH: 96 34 | MAX_EPOCHS: 120 35 | BASE_LR: 0.01 36 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 37 | LR_WARMUP_EPOCHS: 10 38 | LR_WARMUP_FACTOR: 0.1 39 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 40 | OPTIMIZER_NAME: "SGD" 41 | 42 | CHECKPOINT_PERIOD: 120 43 | 44 | 45 | TEST: 46 | IMS_PER_BATCH: 512 47 | WEIGHT: 120 -------------------------------------------------------------------------------- /Training_Configs/CUB200/Vanilla/Vanilla_ResNet18_128x128.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/Vanilla" 7 | EXPERIMENT_NAME: "CUB200_ResNet18_128x128" 8 | 9 | 10 | 11 | DATASETS: 12 | NAMES: "CUB200" 13 | ROOT_DIR: "" 14 | 15 | 16 | DISTILLER: 17 | TYPE: "NONE" 18 | STUDENT_NAME: "ResNet18" 19 | STUDENT_PRETRAIN_PATH: '' 20 | 21 | INPUT: 22 | STUDENT_SIZE_TRAIN: [128, 128] 23 | STUDENT_SIZE_TEST: [128, 128] 24 | STUDENT_PADDING: 4 25 | RE_PROB: 0.0 26 | 27 | DATALOADER: 28 | NUM_WORKERS: 8 29 | NUM_INSTANCE: 6 30 | 31 | SOLVER: 32 | TRAINER: "vanilla" 33 | IMS_PER_BATCH: 96 34 | MAX_EPOCHS: 120 35 | BASE_LR: 0.01 36 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 37 | LR_WARMUP_EPOCHS: 10 38 | LR_WARMUP_FACTOR: 0.1 39 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 40 | OPTIMIZER_NAME: "SGD" 41 | 42 | CHECKPOINT_PERIOD: 120 43 | 44 | 45 | TEST: 46 | IMS_PER_BATCH: 512 47 | WEIGHT: 120 -------------------------------------------------------------------------------- /Training_Configs/InShop/Vanilla/Vanilla_ResNet101_IBN_a_256x256.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log" 7 | EXPERIMENT_NAME: "InShop_ResNet101_IBN_a_256x256" 8 | 9 | 10 | 11 | DATASETS: 12 | NAMES: "InShop" 13 | ROOT_DIR: "" 14 | 15 | 16 | DISTILLER: 17 | TYPE: "NONE" 18 | STUDENT_NAME: "ResNet101_ibn_a" 19 | STUDENT_PRETRAIN_PATH: '' 20 | 21 | INPUT: 22 | STUDENT_SIZE_TRAIN: [256, 256] 23 | STUDENT_SIZE_TEST: [256, 256] 24 | STUDENT_PADDING: 8 25 | RE_PROB: 0.5 26 | 27 | DATALOADER: 28 | NUM_WORKERS: 8 29 | NUM_INSTANCE: 6 30 | 31 | SOLVER: 32 | TRAINER: "vanilla" 33 | IMS_PER_BATCH: 96 34 | MAX_EPOCHS: 120 35 | BASE_LR: 0.01 36 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 37 | LR_WARMUP_EPOCHS: 10 38 | LR_WARMUP_FACTOR: 0.1 39 | LR_DECAY_STEPS: [40] #[30, 60, 90] 40 | OPTIMIZER_NAME: "SGD" 41 | 42 | CHECKPOINT_PERIOD: 120 43 | 44 | 45 | TEST: 46 | IMS_PER_BATCH: 512 47 | WEIGHT: 120 -------------------------------------------------------------------------------- /Training_Configs/InShop/Vanilla/Vanilla_ResNet101_256x256.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log" 7 | EXPERIMENT_NAME: "InShop_ResNet101_256x256" 8 | 9 | 10 | 11 | DATASETS: 12 | NAMES: "InShop" 13 | ROOT_DIR: "/home/data1/xieyi/data" 14 | 15 | 16 | DISTILLER: 17 | TYPE: "NONE" 18 | STUDENT_NAME: "ResNet101" 19 | STUDENT_PRETRAIN_PATH: '' 20 | 21 | INPUT: 22 | STUDENT_SIZE_TRAIN: [256, 256] 23 | STUDENT_SIZE_TEST: [256, 256] 24 | STUDENT_PADDING: 8 25 | RE_PROB: 0.5 26 | 27 | DATALOADER: 28 | NUM_WORKERS: 8 29 | NUM_INSTANCE: 6 30 | 31 | SOLVER: 32 | TRAINER: "vanilla" 33 | IMS_PER_BATCH: 96 34 | MAX_EPOCHS: 120 35 | BASE_LR: 0.01 36 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 37 | LR_WARMUP_EPOCHS: 10 38 | LR_WARMUP_FACTOR: 0.1 39 | LR_DECAY_STEPS: [40] #[30, 60, 90] 40 | OPTIMIZER_NAME: "SGD" 41 | 42 | CHECKPOINT_PERIOD: 120 43 | 44 | 45 | TEST: 46 | IMS_PER_BATCH: 512 47 | WEIGHT: 120 -------------------------------------------------------------------------------- /Training_Configs/SOP/Vanilla/Vanilla_ResNet101_IBN_a_256x256.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log" 7 | EXPERIMENT_NAME: "SOP_ResNet101_IBN_a_256x256" 8 | 9 | 10 | 11 | DATASETS: 12 | NAMES: "SOP" 13 | ROOT_DIR: "" 14 | 15 | 16 | DISTILLER: 17 | TYPE: "NONE" 18 | STUDENT_NAME: "ResNet101_ibn_a" 19 | STUDENT_PRETRAIN_PATH: '' 20 | 21 | INPUT: 22 | STUDENT_SIZE_TRAIN: [256, 256] 23 | STUDENT_SIZE_TEST: [256, 256] 24 | STUDENT_PADDING: 8 25 | RE_PROB: 0.5 26 | 27 | DATALOADER: 28 | NUM_WORKERS: 8 29 | NUM_INSTANCE: 6 30 | 31 | SOLVER: 32 | TRAINER: "vanilla" 33 | IMS_PER_BATCH: 96 34 | MAX_EPOCHS: 120 35 | BASE_LR: 0.01 36 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 37 | LR_WARMUP_EPOCHS: 10 38 | LR_WARMUP_FACTOR: 0.1 39 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 40 | OPTIMIZER_NAME: "SGD" 41 | 42 | CHECKPOINT_PERIOD: 120 43 | 44 | 45 | TEST: 46 | IMS_PER_BATCH: 512 47 | WEIGHT: 120 -------------------------------------------------------------------------------- /Training_Configs/MSMT17/Vanilla/Vanilla_ResNet101_IBN_a_320x160.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/Vanilla" 7 | EXPERIMENT_NAME: "MSMT17_ResNet101_ibn_a_320x160" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "/home/data2/xieyi/data" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "NONE" 17 | STUDENT_NAME: "ResNet101_ibn_a" 18 | STUDENT_PRETRAIN_PATH: '' 19 | 20 | INPUT: 21 | STUDENT_SIZE_TRAIN: [320, 160] 22 | STUDENT_SIZE_TEST: [320, 160] 23 | STUDENT_PADDING: 8 24 | RE_PROB: 0.5 25 | 26 | DATALOADER: 27 | NUM_WORKERS: 8 28 | NUM_INSTANCE: 6 29 | 30 | SOLVER: 31 | TRAINER: "vanilla" 32 | IMS_PER_BATCH: 96 33 | MAX_EPOCHS: 120 34 | BASE_LR: 0.01 35 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 36 | LR_WARMUP_EPOCHS: 10 37 | LR_WARMUP_FACTOR: 0.1 38 | LR_DECAY_STEPS: [40] #[30, 60, 90] 39 | OPTIMIZER_NAME: "SGD" 40 | 41 | CHECKPOINT_PERIOD: 120 42 | 43 | 44 | TEST: 45 | IMS_PER_BATCH: 512 46 | WEIGHT: 120 -------------------------------------------------------------------------------- /Training_Configs/SOP/Vanilla/Vanilla_Swin_Transformer_Small_256x256.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log" 7 | EXPERIMENT_NAME: "SOP_Swin_Transformer_V2_Small_256x256" 8 | 9 | 10 | 11 | DATASETS: 12 | NAMES: "SOP" 13 | ROOT_DIR: "" 14 | 15 | 16 | DISTILLER: 17 | TYPE: "NONE" 18 | STUDENT_NAME: "Swin_Transformer_V2_Small" 19 | STUDENT_PRETRAIN_PATH: '' 20 | 21 | INPUT: 22 | STUDENT_SIZE_TRAIN: [256, 256] 23 | STUDENT_SIZE_TEST: [256, 256] 24 | STUDENT_PADDING: 8 25 | RE_PROB: 0.5 26 | 27 | DATALOADER: 28 | NUM_WORKERS: 8 29 | NUM_INSTANCE: 6 30 | 31 | SOLVER: 32 | TRAINER: "vanilla" 33 | IMS_PER_BATCH: 96 34 | MAX_EPOCHS: 120 35 | BASE_LR: 0.0001 36 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 37 | LR_WARMUP_EPOCHS: 10 38 | LR_WARMUP_FACTOR: 0.1 39 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 40 | OPTIMIZER_NAME: "AdamW" 41 | 42 | CHECKPOINT_PERIOD: 120 43 | 44 | 45 | TEST: 46 | IMS_PER_BATCH: 512 47 | WEIGHT: 120 -------------------------------------------------------------------------------- /AIR_Distiller/distillers/FitNet.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import torch.nn as nn 3 | import torch.nn.functional as F 4 | from ._base import Distiller 5 | 6 | 7 | class FitNet(Distiller): 8 | """FitNets: Hints for Thin Deep Nets""" 9 | 10 | def __init__(self, student, teacher, cfg): 11 | super(FitNet, self).__init__(student, teacher, cfg) 12 | 13 | self.kd_loss = nn.MSELoss() 14 | self.kd_loss_weight = cfg.FITNET.KD_WEIGHT 15 | 16 | 17 | def forward_train(self, image, kd_student_image, kd_teacher_image, target, kd_target, **kwargs): 18 | 19 | logits_student, feature_student = self.student(image) 20 | ce_loss = self.ce_loss_weight * self.ce_loss(logits_student, target) 21 | triplet_loss = self.tri_loss_weight * self.triplet_loss(feature_student["pooled_feat"], target) 22 | 23 | _, kd_feature_student = self.student(kd_student_image) 24 | _, kd_feature_teacher = self.teacher(kd_teacher_image) 25 | 26 | kd_loss = self.kd_loss_weight * self.kd_loss(kd_feature_student["retrieval_feat"], kd_feature_teacher["retrieval_feat"]) 27 | 28 | losses_dict = { 29 | "loss_ce": ce_loss, 30 | "loss_triplet": triplet_loss, 31 | "loss_kd": kd_loss, 32 | } 33 | return logits_student, losses_dict -------------------------------------------------------------------------------- /AIR_Distiller/solver/make_optimizer.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import logging 3 | 4 | 5 | def make_optimizer(cfg, distiller): 6 | logger = logging.getLogger("Asymmetric_Image_Retrieval.train") 7 | params = [] 8 | 9 | parameter_source = distiller.module if torch.cuda.device_count() > 1 else distiller 10 | for key, value in parameter_source.get_learnable_parameters(): 11 | if not value.requires_grad: 12 | continue 13 | lr = cfg.SOLVER.BASE_LR 14 | weight_decay = cfg.SOLVER.WEIGHT_DECAY 15 | if "bias" in key: 16 | lr = cfg.SOLVER.BASE_LR * cfg.SOLVER.BIAS_LR_FACTOR 17 | weight_decay = cfg.SOLVER.WEIGHT_DECAY_BIAS 18 | if cfg.SOLVER.LARGE_FC_LR: 19 | if "classifier" in key: 20 | lr = cfg.SOLVER.BASE_LR * cfg.SOLVER.FC_LR_TIMES 21 | logger.info('Using {} times learning rate for fc'.format(cfg.SOLVER.FC_LR_TIMES)) 22 | 23 | params += [{"params": [value], "lr": lr, "weight_decay": weight_decay}] 24 | 25 | if cfg.SOLVER.OPTIMIZER_NAME == 'SGD': 26 | optimizer = getattr(torch.optim, cfg.SOLVER.OPTIMIZER_NAME)(params, momentum=cfg.SOLVER.MOMENTUM) 27 | else: 28 | optimizer = getattr(torch.optim, cfg.SOLVER.OPTIMIZER_NAME)(params) 29 | 30 | return optimizer 31 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_256x256_ResNet18_64x64/CC.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/CC" 7 | EXPERIMENT_NAME: "SOP_CC_ResNet101_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "CC" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_256x256_72.42_87.13.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | CC: 23 | KD_WEIGHT: 5.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [64, 64] 27 | STUDENT_SIZE_TEST: [64, 64] 28 | STUDENT_PADDING: 2 29 | 30 | TEACHER_SIZE_TRAIN: [256, 256] 31 | TEACHER_SIZE_TEST: [256, 256] 32 | 33 | TEACHER_PADDING: 8 34 | RE_PROB: 0.5 35 | 36 | DATALOADER: 37 | NUM_WORKERS: 8 38 | NUM_INSTANCE: 6 39 | 40 | SOLVER: 41 | TRAINER: "kd" 42 | IMS_PER_BATCH: 96 43 | IMS_DISTILLATION_PER_BATCH: 256 44 | MAX_EPOCHS: 120 45 | BASE_LR: 0.01 46 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 47 | LR_WARMUP_EPOCHS: 10 48 | LR_WARMUP_FACTOR: 0.1 49 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 50 | OPTIMIZER_NAME: "SGD" 51 | 52 | CHECKPOINT_PERIOD: 120 53 | 54 | 55 | TEST: 56 | IMS_PER_BATCH: 512 57 | WEIGHT: 120 58 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_256x256_ResNet18_64x64/PKT.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/PKT" 7 | EXPERIMENT_NAME: "SOP_PKT_ResNet101_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "PKT" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_256x256_72.42_87.13.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | PKT: 23 | KD_WEIGHT: 30000.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [64, 64] 28 | STUDENT_SIZE_TEST: [64, 64] 29 | STUDENT_PADDING: 2 30 | 31 | TEACHER_SIZE_TRAIN: [256, 256] 32 | TEACHER_SIZE_TEST: [256, 256] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.5 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_384x384_ResNet18_64x64/CC.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/CC" 7 | EXPERIMENT_NAME: "SOP_CC_ResNet101_384x284_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "CC" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_384x384_74.48_88.17.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | CC: 23 | KD_WEIGHT: 5.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [64, 64] 27 | STUDENT_SIZE_TEST: [64, 64] 28 | STUDENT_PADDING: 2 29 | 30 | TEACHER_SIZE_TRAIN: [384, 384] 31 | TEACHER_SIZE_TEST: [384, 384] 32 | 33 | TEACHER_PADDING: 12 34 | RE_PROB: 0.5 35 | 36 | DATALOADER: 37 | NUM_WORKERS: 8 38 | NUM_INSTANCE: 6 39 | 40 | SOLVER: 41 | TRAINER: "kd" 42 | IMS_PER_BATCH: 96 43 | IMS_DISTILLATION_PER_BATCH: 256 44 | MAX_EPOCHS: 120 45 | BASE_LR: 0.01 46 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 47 | LR_WARMUP_EPOCHS: 10 48 | LR_WARMUP_FACTOR: 0.1 49 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 50 | OPTIMIZER_NAME: "SGD" 51 | 52 | CHECKPOINT_PERIOD: 120 53 | 54 | 55 | TEST: 56 | IMS_PER_BATCH: 512 57 | WEIGHT: 120 58 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_256x256_ResNet18_64x64/RKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'1'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RKD" 7 | EXPERIMENT_NAME: "InShop_RKD_ResNet101_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_256x256_81.80_95.25.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RKD: 23 | KD_WEIGHT: 1.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [64, 64] 27 | STUDENT_SIZE_TEST: [64, 64] 28 | STUDENT_PADDING: 2 29 | 30 | TEACHER_SIZE_TRAIN: [256, 256] 31 | TEACHER_SIZE_TEST: [256, 256] 32 | 33 | TEACHER_PADDING: 8 34 | RE_PROB: 0.5 35 | 36 | DATALOADER: 37 | NUM_WORKERS: 8 38 | NUM_INSTANCE: 6 39 | 40 | SOLVER: 41 | TRAINER: "kd" 42 | IMS_PER_BATCH: 96 43 | IMS_DISTILLATION_PER_BATCH: 256 44 | MAX_EPOCHS: 120 45 | BASE_LR: 0.01 46 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 47 | LR_WARMUP_EPOCHS: 10 48 | LR_WARMUP_FACTOR: 0.1 49 | LR_DECAY_STEPS: [40] #[30, 60, 90] 50 | OPTIMIZER_NAME: "SGD" 51 | 52 | CHECKPOINT_PERIOD: 120 53 | 54 | 55 | TEST: 56 | IMS_PER_BATCH: 512 57 | WEIGHT: 120 58 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_320x160_ResNet18_160x80/CC.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/CC" 7 | EXPERIMENT_NAME: "MSMT17_CC_ResNet101_320x160_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "CC" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_320x160_59.26_82.09.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | CC: 23 | KD_WEIGHT: 5.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [160, 80] 27 | STUDENT_SIZE_TEST: [160, 80] 28 | STUDENT_PADDING: 4 29 | 30 | TEACHER_SIZE_TRAIN: [320, 160] 31 | TEACHER_SIZE_TEST: [320, 160] 32 | 33 | TEACHER_PADDING: 8 34 | RE_PROB: 0.5 35 | 36 | DATALOADER: 37 | NUM_WORKERS: 8 38 | NUM_INSTANCE: 6 39 | 40 | SOLVER: 41 | TRAINER: "kd" 42 | IMS_PER_BATCH: 96 43 | IMS_DISTILLATION_PER_BATCH: 256 44 | MAX_EPOCHS: 120 45 | BASE_LR: 0.01 46 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 47 | LR_WARMUP_EPOCHS: 10 48 | LR_WARMUP_FACTOR: 0.1 49 | LR_DECAY_STEPS: [40] #[30, 60, 90] 50 | OPTIMIZER_NAME: "SGD" 51 | 52 | CHECKPOINT_PERIOD: 120 53 | 54 | 55 | TEST: 56 | IMS_PER_BATCH: 512 57 | WEIGHT: 120 58 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_256x256_ResNet18_64x64/CC.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/CC" 7 | EXPERIMENT_NAME: "InShop_CC_ResNet101_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "CC" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_256x256_81.80_95.25.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | CC: 23 | KD_WEIGHT: 5.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [64, 64] 27 | STUDENT_SIZE_TEST: [64, 64] 28 | STUDENT_PADDING: 2 29 | 30 | TEACHER_SIZE_TRAIN: [256, 256] 31 | TEACHER_SIZE_TEST: [256, 256] 32 | 33 | TEACHER_PADDING: 8 34 | RE_PROB: 0.5 35 | 36 | DATALOADER: 37 | NUM_WORKERS: 8 38 | NUM_INSTANCE: 6 39 | 40 | SOLVER: 41 | TRAINER: "kd" 42 | IMS_PER_BATCH: 96 43 | IMS_DISTILLATION_PER_BATCH: 256 44 | MAX_EPOCHS: 120 45 | BASE_LR: 0.01 46 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 47 | LR_WARMUP_EPOCHS: 10 48 | LR_WARMUP_FACTOR: 0.1 49 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 50 | OPTIMIZER_NAME: "SGD" 51 | 52 | CHECKPOINT_PERIOD: 120 53 | 54 | 55 | TEST: 56 | IMS_PER_BATCH: 512 57 | WEIGHT: 120 58 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_256x256_ResNet18_64x64/RKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RKD" 7 | EXPERIMENT_NAME: "SOP_RKD_ResNet101_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_256x256_72.42_87.13.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RKD: 23 | KD_WEIGHT: 1.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [64, 64] 28 | STUDENT_SIZE_TEST: [64, 64] 29 | STUDENT_PADDING: 2 30 | 31 | TEACHER_SIZE_TRAIN: [256, 256] 32 | TEACHER_SIZE_TEST: [256, 256] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.5 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_384x384_ResNet18_64x64/CC.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/CC" 7 | EXPERIMENT_NAME: "InShop_CC_ResNet101_384x284_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "CC" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_384x384_83.00_95.74.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | CC: 23 | KD_WEIGHT: 5.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [64, 64] 27 | STUDENT_SIZE_TEST: [64, 64] 28 | STUDENT_PADDING: 2 29 | 30 | TEACHER_SIZE_TRAIN: [384, 384] 31 | TEACHER_SIZE_TEST: [384, 384] 32 | 33 | TEACHER_PADDING: 12 34 | RE_PROB: 0.5 35 | 36 | DATALOADER: 37 | NUM_WORKERS: 8 38 | NUM_INSTANCE: 6 39 | 40 | SOLVER: 41 | TRAINER: "kd" 42 | IMS_PER_BATCH: 96 43 | IMS_DISTILLATION_PER_BATCH: 256 44 | MAX_EPOCHS: 120 45 | BASE_LR: 0.01 46 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 47 | LR_WARMUP_EPOCHS: 10 48 | LR_WARMUP_FACTOR: 0.1 49 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 50 | OPTIMIZER_NAME: "SGD" 51 | 52 | CHECKPOINT_PERIOD: 120 53 | 54 | 55 | TEST: 56 | IMS_PER_BATCH: 512 57 | WEIGHT: 120 58 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_256x256_ResNet18_64x64/FitNet.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/FitNet" 7 | EXPERIMENT_NAME: "SOP_FitNet_ResNet101_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "FitNet" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_256x256_72.42_87.13.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | FITNET: 23 | KD_WEIGHT: 2.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [64, 64] 27 | STUDENT_SIZE_TEST: [64, 64] 28 | STUDENT_PADDING: 2 29 | 30 | TEACHER_SIZE_TRAIN: [256, 256] 31 | TEACHER_SIZE_TEST: [256, 256] 32 | 33 | TEACHER_PADDING: 8 34 | RE_PROB: 0.5 35 | 36 | DATALOADER: 37 | NUM_WORKERS: 8 38 | NUM_INSTANCE: 6 39 | 40 | SOLVER: 41 | TRAINER: "kd" 42 | IMS_PER_BATCH: 96 43 | IMS_DISTILLATION_PER_BATCH: 256 44 | MAX_EPOCHS: 120 45 | BASE_LR: 0.01 46 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 47 | LR_WARMUP_EPOCHS: 10 48 | LR_WARMUP_FACTOR: 0.1 49 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 50 | OPTIMIZER_NAME: "SGD" 51 | 52 | CHECKPOINT_PERIOD: 120 53 | 54 | 55 | TEST: 56 | IMS_PER_BATCH: 512 57 | WEIGHT: 120 58 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_384x384_ResNet18_64x64/RKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RKD" 7 | EXPERIMENT_NAME: "SOP_RKD_ResNet101_384x284_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_384x384_74.48_88.17.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | 23 | RKD: 24 | KD_WEIGHT: 1.0 25 | 26 | 27 | INPUT: 28 | STUDENT_SIZE_TRAIN: [64, 64] 29 | STUDENT_SIZE_TEST: [64, 64] 30 | STUDENT_PADDING: 2 31 | 32 | TEACHER_SIZE_TRAIN: [384, 384] 33 | TEACHER_SIZE_TEST: [384, 384] 34 | 35 | TEACHER_PADDING: 12 36 | RE_PROB: 0.5 37 | 38 | DATALOADER: 39 | NUM_WORKERS: 8 40 | NUM_INSTANCE: 6 41 | 42 | SOLVER: 43 | TRAINER: "kd" 44 | IMS_PER_BATCH: 96 45 | IMS_DISTILLATION_PER_BATCH: 256 46 | MAX_EPOCHS: 120 47 | BASE_LR: 0.01 48 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 49 | LR_WARMUP_EPOCHS: 10 50 | LR_WARMUP_FACTOR: 0.1 51 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 52 | OPTIMIZER_NAME: "SGD" 53 | 54 | CHECKPOINT_PERIOD: 120 55 | 56 | 57 | TEST: 58 | IMS_PER_BATCH: 512 59 | WEIGHT: 120 60 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_256x256_ResNet18_64x64/PKT.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'1'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/PKT" 7 | EXPERIMENT_NAME: "InShop_PKT_ResNet101_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "PKT" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_256x256_81.80_95.25.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | PKT: 23 | KD_WEIGHT: 30000.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [64, 64] 27 | STUDENT_SIZE_TEST: [64, 64] 28 | STUDENT_PADDING: 2 29 | 30 | TEACHER_SIZE_TRAIN: [256, 256] 31 | TEACHER_SIZE_TEST: [256, 256] 32 | 33 | TEACHER_PADDING: 8 34 | RE_PROB: 0.5 35 | 36 | DATALOADER: 37 | NUM_WORKERS: 8 38 | NUM_INSTANCE: 6 39 | 40 | SOLVER: 41 | TRAINER: "kd" 42 | IMS_PER_BATCH: 96 43 | IMS_DISTILLATION_PER_BATCH: 256 44 | MAX_EPOCHS: 120 45 | BASE_LR: 0.01 46 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 47 | LR_WARMUP_EPOCHS: 10 48 | LR_WARMUP_FACTOR: 0.1 49 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 50 | OPTIMIZER_NAME: "SGD" 51 | 52 | CHECKPOINT_PERIOD: 120 53 | 54 | 55 | TEST: 56 | IMS_PER_BATCH: 512 57 | WEIGHT: 120 58 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_384x384_ResNet18_64x64/RKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RKD" 7 | EXPERIMENT_NAME: "InShop_RKD_ResNet101_384x284_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_384x384_83.00_95.74.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RKD: 23 | KD_WEIGHT: 1.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [64, 64] 27 | STUDENT_SIZE_TEST: [64, 64] 28 | STUDENT_PADDING: 2 29 | 30 | TEACHER_SIZE_TRAIN: [384, 384] 31 | TEACHER_SIZE_TEST: [384, 384] 32 | 33 | TEACHER_PADDING: 12 34 | RE_PROB: 0.5 35 | 36 | DATALOADER: 37 | NUM_WORKERS: 8 38 | NUM_INSTANCE: 6 39 | 40 | SOLVER: 41 | TRAINER: "kd" 42 | IMS_PER_BATCH: 96 43 | IMS_DISTILLATION_PER_BATCH: 256 44 | MAX_EPOCHS: 120 45 | BASE_LR: 0.01 46 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 47 | LR_WARMUP_EPOCHS: 10 48 | LR_WARMUP_FACTOR: 0.1 49 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 50 | OPTIMIZER_NAME: "SGD" 51 | 52 | CHECKPOINT_PERIOD: 120 53 | 54 | 55 | TEST: 56 | IMS_PER_BATCH: 512 57 | WEIGHT: 120 58 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_480x240_ResNet18_160x80/CC.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/CC" 7 | EXPERIMENT_NAME: "MSMT17_CC_ResNet101_480x240_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "CC" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_480x240_62.52_83.88.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | CC: 23 | KD_WEIGHT: 2.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [160, 80] 28 | STUDENT_SIZE_TEST: [160, 80] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [480, 240] 32 | TEACHER_SIZE_TEST: [480, 240] 33 | 34 | TEACHER_PADDING: 12 35 | RE_PROB: 0.5 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_256x256_MobileNetV3_64x64/CC.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/CC" 7 | EXPERIMENT_NAME: "SOP_CC_ResNet101_256x256_MobileNetV3_Small_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "CC" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_256x256_72.42_87.13.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | CC: 23 | KD_WEIGHT: 10.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [64, 64] 27 | STUDENT_SIZE_TEST: [64, 64] 28 | STUDENT_PADDING: 2 29 | 30 | TEACHER_SIZE_TRAIN: [256, 256] 31 | TEACHER_SIZE_TEST: [256, 256] 32 | 33 | TEACHER_PADDING: 8 34 | RE_PROB: 0.5 35 | 36 | DATALOADER: 37 | NUM_WORKERS: 8 38 | NUM_INSTANCE: 6 39 | 40 | SOLVER: 41 | TRAINER: "kd" 42 | IMS_PER_BATCH: 96 43 | IMS_DISTILLATION_PER_BATCH: 256 44 | MAX_EPOCHS: 120 45 | BASE_LR: 0.01 46 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 47 | LR_WARMUP_EPOCHS: 10 48 | LR_WARMUP_FACTOR: 0.1 49 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 50 | OPTIMIZER_NAME: "SGD" 51 | 52 | CHECKPOINT_PERIOD: 120 53 | 54 | 55 | TEST: 56 | IMS_PER_BATCH: 512 57 | WEIGHT: 120 58 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_384x384_ResNet18_64x64/FitNet.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/FitNet" 7 | EXPERIMENT_NAME: "SOP_FitNet_ResNet101_384x284_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "FitNet" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_384x384_74.48_88.17.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | FITNET: 23 | KD_WEIGHT: 2.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [64, 64] 27 | STUDENT_SIZE_TEST: [64, 64] 28 | STUDENT_PADDING: 2 29 | 30 | TEACHER_SIZE_TRAIN: [384, 384] 31 | TEACHER_SIZE_TEST: [384, 384] 32 | 33 | TEACHER_PADDING: 12 34 | RE_PROB: 0.5 35 | 36 | DATALOADER: 37 | NUM_WORKERS: 8 38 | NUM_INSTANCE: 6 39 | 40 | SOLVER: 41 | TRAINER: "kd" 42 | IMS_PER_BATCH: 96 43 | IMS_DISTILLATION_PER_BATCH: 256 44 | MAX_EPOCHS: 120 45 | BASE_LR: 0.01 46 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 47 | LR_WARMUP_EPOCHS: 10 48 | LR_WARMUP_FACTOR: 0.1 49 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 50 | OPTIMIZER_NAME: "SGD" 51 | 52 | CHECKPOINT_PERIOD: 120 53 | 54 | 55 | TEST: 56 | IMS_PER_BATCH: 512 57 | WEIGHT: 120 58 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_384x384_ResNet18_64x64/PKT.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/PKT" 7 | EXPERIMENT_NAME: "SOP_PKT_ResNet101_384x284_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "PKT" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_384x384_74.48_88.17.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | 23 | PKT: 24 | KD_WEIGHT: 30000.0 25 | 26 | 27 | INPUT: 28 | STUDENT_SIZE_TRAIN: [64, 64] 29 | STUDENT_SIZE_TEST: [64, 64] 30 | STUDENT_PADDING: 2 31 | 32 | TEACHER_SIZE_TRAIN: [384, 384] 33 | TEACHER_SIZE_TEST: [384, 384] 34 | 35 | TEACHER_PADDING: 12 36 | RE_PROB: 0.5 37 | 38 | DATALOADER: 39 | NUM_WORKERS: 8 40 | NUM_INSTANCE: 6 41 | 42 | SOLVER: 43 | TRAINER: "kd" 44 | IMS_PER_BATCH: 96 45 | IMS_DISTILLATION_PER_BATCH: 256 46 | MAX_EPOCHS: 120 47 | BASE_LR: 0.01 48 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 49 | LR_WARMUP_EPOCHS: 10 50 | LR_WARMUP_FACTOR: 0.1 51 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 52 | OPTIMIZER_NAME: "SGD" 53 | 54 | CHECKPOINT_PERIOD: 120 55 | 56 | 57 | TEST: 58 | IMS_PER_BATCH: 512 59 | WEIGHT: 120 60 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_256x256_ResNet18_128x128/CC.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/CC" 7 | EXPERIMENT_NAME: "CUB200_CC_ResNet101_256x256_ResNet18_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "CC" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_256x256_71.30_81.57.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | CC: 23 | KD_WEIGHT: 5.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [128, 128] 28 | STUDENT_SIZE_TEST: [128, 128] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [256, 256] 32 | TEACHER_SIZE_TEST: [256, 256] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.0 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_384x384_ResNet18_128x128/CC.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/CC" 7 | EXPERIMENT_NAME: "CUB200_CC_ResNet101_384x284_ResNet18_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "CC" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_384x384_76.53_85.05.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | CC: 23 | KD_WEIGHT: 5.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [128, 128] 28 | STUDENT_SIZE_TEST: [128, 128] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [384, 384] 32 | TEACHER_SIZE_TEST: [384, 384] 33 | 34 | TEACHER_PADDING: 12 35 | RE_PROB: 0.0 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_320x160_ResNet18_160x80/RKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'1'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RKD" 7 | EXPERIMENT_NAME: "MSMT17_RKD_ResNet101_320x160_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_320x160_59.26_82.09.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RKD: 23 | KD_WEIGHT: 1.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [160, 80] 28 | STUDENT_SIZE_TEST: [160, 80] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [320, 160] 32 | TEACHER_SIZE_TEST: [320, 160] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.5 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_480x240_ResNet18_160x80/RKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RKD" 7 | EXPERIMENT_NAME: "MSMT17_RKD_ResNet101_480x240_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_480x240_62.52_83.88.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RKD: 23 | KD_WEIGHT: 1.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [160, 80] 28 | STUDENT_SIZE_TEST: [160, 80] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [480, 240] 32 | TEACHER_SIZE_TEST: [480, 240] 33 | 34 | TEACHER_PADDING: 12 35 | RE_PROB: 0.5 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_384x384_ResNet18_128x128/RKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RKD" 7 | EXPERIMENT_NAME: "CUB200_RKD_ResNet101_384x284_ResNet18_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_384x384_76.53_85.05.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RKD: 23 | KD_WEIGHT: 1.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [64, 64] 28 | STUDENT_SIZE_TEST: [64, 64] 29 | STUDENT_PADDING: 2 30 | 31 | TEACHER_SIZE_TRAIN: [384, 384] 32 | TEACHER_SIZE_TEST: [384, 384] 33 | 34 | TEACHER_PADDING: 12 35 | RE_PROB: 0.0 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_256x256_ResNet18_64x64/FitNet.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/FitNet" 7 | EXPERIMENT_NAME: "InShop_FitNet_ResNet101_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "FitNet" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_256x256_81.80_95.25.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | FITNET: 23 | KD_WEIGHT: 2.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [64, 64] 27 | STUDENT_SIZE_TEST: [64, 64] 28 | STUDENT_PADDING: 2 29 | 30 | TEACHER_SIZE_TRAIN: [256, 256] 31 | TEACHER_SIZE_TEST: [256, 256] 32 | 33 | TEACHER_PADDING: 8 34 | RE_PROB: 0.5 35 | 36 | DATALOADER: 37 | NUM_WORKERS: 8 38 | NUM_INSTANCE: 6 39 | 40 | SOLVER: 41 | TRAINER: "kd" 42 | IMS_PER_BATCH: 96 43 | IMS_DISTILLATION_PER_BATCH: 256 44 | MAX_EPOCHS: 120 45 | BASE_LR: 0.01 46 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 47 | LR_WARMUP_EPOCHS: 10 48 | LR_WARMUP_FACTOR: 0.1 49 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 50 | OPTIMIZER_NAME: "SGD" 51 | 52 | CHECKPOINT_PERIOD: 120 53 | 54 | 55 | TEST: 56 | IMS_PER_BATCH: 512 57 | WEIGHT: 120 58 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_320x160_ResNet18_160x80/PKT.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/PKT" 7 | EXPERIMENT_NAME: "MSMT17_PKT_ResNet101_320x160_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "PKT" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_320x160_59.26_82.09.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | PKT: 23 | KD_WEIGHT: 30000.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [160, 80] 28 | STUDENT_SIZE_TEST: [160, 80] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [320, 160] 32 | TEACHER_SIZE_TEST: [320, 160] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.5 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_480x240_ResNet18_160x80/PKT.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/PKT" 7 | EXPERIMENT_NAME: "MSMT17_PKT_ResNet101_480x240_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "PKT" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_480x240_62.52_83.88.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | PKT: 23 | KD_WEIGHT: 30000.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [160, 80] 28 | STUDENT_SIZE_TEST: [160, 80] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [480, 240] 32 | TEACHER_SIZE_TEST: [480, 240] 33 | 34 | TEACHER_PADDING: 12 35 | RE_PROB: 0.5 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_256x256_MobileNetV3_64x64/RKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RKD" 7 | EXPERIMENT_NAME: "SOP_RKD_ResNet101_256x256_MobileNetV3_Small_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_256x256_72.42_87.13.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RKD: 23 | KD_WEIGHT: 1.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [64, 64] 28 | STUDENT_SIZE_TEST: [64, 64] 29 | STUDENT_PADDING: 2 30 | 31 | TEACHER_SIZE_TRAIN: [256, 256] 32 | TEACHER_SIZE_TEST: [256, 256] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.5 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_256x256_ResNet18_128x128/PKT.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/PKT" 7 | EXPERIMENT_NAME: "CUB200_PKT_ResNet101_256x256_ResNet18_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "PKT" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_256x256_71.30_81.57.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | PKT: 23 | KD_WEIGHT: 30000.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [128, 128] 28 | STUDENT_SIZE_TEST: [128, 128] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [256, 256] 32 | TEACHER_SIZE_TEST: [256, 256] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.0 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_384x384_ResNet18_128x128/PKT.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/PKT" 7 | EXPERIMENT_NAME: "CUB200_PKT_ResNet101_384x284_ResNet18_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "PKT" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_384x384_76.53_85.05.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | PKT: 23 | KD_WEIGHT: 30000.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [128, 128] 28 | STUDENT_SIZE_TEST: [128, 128] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [384, 384] 32 | TEACHER_SIZE_TEST: [384, 384] 33 | 34 | TEACHER_PADDING: 12 35 | RE_PROB: 0.0 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_256x256_MobileNetV3_64x64/CC.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/CC" 7 | EXPERIMENT_NAME: "InShop_CC_ResNet101_256x256_MobileNetV3_Small_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "CC" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_256x256_81.80_95.25.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | CC: 23 | KD_WEIGHT: 10.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [64, 64] 27 | STUDENT_SIZE_TEST: [64, 64] 28 | STUDENT_PADDING: 2 29 | 30 | TEACHER_SIZE_TRAIN: [256, 256] 31 | TEACHER_SIZE_TEST: [256, 256] 32 | 33 | TEACHER_PADDING: 8 34 | RE_PROB: 0.5 35 | 36 | DATALOADER: 37 | NUM_WORKERS: 8 38 | NUM_INSTANCE: 6 39 | 40 | SOLVER: 41 | TRAINER: "kd" 42 | IMS_PER_BATCH: 96 43 | IMS_DISTILLATION_PER_BATCH: 256 44 | MAX_EPOCHS: 120 45 | BASE_LR: 0.01 46 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 47 | LR_WARMUP_EPOCHS: 10 48 | LR_WARMUP_FACTOR: 0.1 49 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 50 | OPTIMIZER_NAME: "SGD" 51 | 52 | CHECKPOINT_PERIOD: 120 53 | 54 | 55 | TEST: 56 | IMS_PER_BATCH: 512 57 | WEIGHT: 120 58 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_256x256_MobileNetV3_64x64/PKT.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/PKT" 7 | EXPERIMENT_NAME: "SOP_PKT_ResNet101_256x256_MobileNetV3_Small_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "PKT" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_256x256_72.42_87.13.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | PKT: 23 | KD_WEIGHT: 30000.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [64, 64] 28 | STUDENT_SIZE_TEST: [64, 64] 29 | STUDENT_PADDING: 2 30 | 31 | TEACHER_SIZE_TRAIN: [256, 256] 32 | TEACHER_SIZE_TEST: [256, 256] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.5 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_256x256_ResNet18_128x128/RKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RKD" 7 | EXPERIMENT_NAME: "CUB200_RKD_ResNet101_256x256_ResNet18_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "/home/data2/xieyi/data" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_256x256_71.30_81.57.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RKD: 23 | KD_WEIGHT: 1.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [128, 128] 28 | STUDENT_SIZE_TEST: [128, 128] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [256, 256] 32 | TEACHER_SIZE_TEST: [256, 256] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.0 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_256x256_MobileNetV3_64x64/PKT.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/PKT" 7 | EXPERIMENT_NAME: "InShop_PKT_ResNet101_256x256_MobileNetV3_Small_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "PKT" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_256x256_81.80_95.25.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | PKT: 23 | KD_WEIGHT: 30000.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [64, 64] 27 | STUDENT_SIZE_TEST: [64, 64] 28 | STUDENT_PADDING: 2 29 | 30 | TEACHER_SIZE_TRAIN: [256, 256] 31 | TEACHER_SIZE_TEST: [256, 256] 32 | 33 | TEACHER_PADDING: 8 34 | RE_PROB: 0.5 35 | 36 | DATALOADER: 37 | NUM_WORKERS: 8 38 | NUM_INSTANCE: 6 39 | 40 | SOLVER: 41 | TRAINER: "kd" 42 | IMS_PER_BATCH: 96 43 | IMS_DISTILLATION_PER_BATCH: 256 44 | MAX_EPOCHS: 120 45 | BASE_LR: 0.01 46 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 47 | LR_WARMUP_EPOCHS: 10 48 | LR_WARMUP_FACTOR: 0.1 49 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 50 | OPTIMIZER_NAME: "SGD" 51 | 52 | CHECKPOINT_PERIOD: 120 53 | 54 | 55 | TEST: 56 | IMS_PER_BATCH: 512 57 | WEIGHT: 120 58 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_256x256_MobileNetV3_64x64/RKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RKD" 7 | EXPERIMENT_NAME: "InShop_RKD_ResNet101_256x256_MobileNetV3_Small_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_256x256_81.80_95.25.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RKD: 23 | KD_WEIGHT: 1.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [64, 64] 27 | STUDENT_SIZE_TEST: [64, 64] 28 | STUDENT_PADDING: 2 29 | 30 | TEACHER_SIZE_TRAIN: [256, 256] 31 | TEACHER_SIZE_TEST: [256, 256] 32 | 33 | TEACHER_PADDING: 8 34 | RE_PROB: 0.5 35 | 36 | DATALOADER: 37 | NUM_WORKERS: 8 38 | NUM_INSTANCE: 6 39 | 40 | SOLVER: 41 | TRAINER: "kd" 42 | IMS_PER_BATCH: 96 43 | IMS_DISTILLATION_PER_BATCH: 256 44 | MAX_EPOCHS: 120 45 | BASE_LR: 0.01 46 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 47 | LR_WARMUP_EPOCHS: 10 48 | LR_WARMUP_FACTOR: 0.1 49 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 50 | OPTIMIZER_NAME: "SGD" 51 | 52 | CHECKPOINT_PERIOD: 120 53 | 54 | 55 | TEST: 56 | IMS_PER_BATCH: 512 57 | WEIGHT: 120 58 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_480x240_ResNet18_160x80/FitNet.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/FitNet" 7 | EXPERIMENT_NAME: "MSMT17_FitNet_ResNet101_480x240_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "FitNet" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_480x240_62.52_83.88.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | FITNET: 23 | KD_WEIGHT: 2.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [160, 80] 28 | STUDENT_SIZE_TEST: [160, 80] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [480, 240] 32 | TEACHER_SIZE_TEST: [480, 240] 33 | 34 | TEACHER_PADDING: 12 35 | RE_PROB: 0.5 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_256x256_MobileNetV3_64x64/FitNet.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/FitNet" 7 | EXPERIMENT_NAME: "SOP_FitNet_ResNet101_256x256_MobileNetV3_Small_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "FitNet" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_256x256_72.42_87.13.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | FITNET: 23 | KD_WEIGHT: 5.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [64, 64] 27 | STUDENT_SIZE_TEST: [64, 64] 28 | STUDENT_PADDING: 2 29 | 30 | TEACHER_SIZE_TRAIN: [256, 256] 31 | TEACHER_SIZE_TEST: [256, 256] 32 | 33 | TEACHER_PADDING: 8 34 | RE_PROB: 0.5 35 | 36 | DATALOADER: 37 | NUM_WORKERS: 8 38 | NUM_INSTANCE: 6 39 | 40 | SOLVER: 41 | TRAINER: "kd" 42 | IMS_PER_BATCH: 96 43 | IMS_DISTILLATION_PER_BATCH: 256 44 | MAX_EPOCHS: 120 45 | BASE_LR: 0.01 46 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 47 | LR_WARMUP_EPOCHS: 10 48 | LR_WARMUP_FACTOR: 0.1 49 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 50 | OPTIMIZER_NAME: "SGD" 51 | 52 | CHECKPOINT_PERIOD: 120 53 | 54 | 55 | TEST: 56 | IMS_PER_BATCH: 512 57 | WEIGHT: 120 58 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_256x256_ResNet18_64x64/RAML.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RAML" 7 | EXPERIMENT_NAME: "SOP_RAML_ResNet101_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RAML" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_256x256_72.42_87.13.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RAML: 23 | LAMBDA1: 0.7482 24 | LAMBDA2: 0.6778 25 | KD_WEIGHT: 10.0 26 | 27 | INPUT: 28 | STUDENT_SIZE_TRAIN: [64, 64] 29 | STUDENT_SIZE_TEST: [64, 64] 30 | STUDENT_PADDING: 2 31 | 32 | TEACHER_SIZE_TRAIN: [256, 256] 33 | TEACHER_SIZE_TEST: [256, 256] 34 | 35 | TEACHER_PADDING: 8 36 | RE_PROB: 0.5 37 | 38 | DATALOADER: 39 | NUM_WORKERS: 8 40 | NUM_INSTANCE: 6 41 | 42 | SOLVER: 43 | TRAINER: "kd" 44 | IMS_PER_BATCH: 96 45 | IMS_DISTILLATION_PER_BATCH: 256 46 | MAX_EPOCHS: 120 47 | BASE_LR: 0.01 48 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 49 | LR_WARMUP_EPOCHS: 10 50 | LR_WARMUP_FACTOR: 0.1 51 | LR_DECAY_STEPS: [40] #[30, 60, 90] 52 | OPTIMIZER_NAME: "SGD" 53 | 54 | CHECKPOINT_PERIOD: 120 55 | 56 | 57 | TEST: 58 | IMS_PER_BATCH: 512 59 | WEIGHT: 120 60 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_256x256_ResNet18_128x128/FitNet.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/FitNet" 7 | EXPERIMENT_NAME: "CUB200_FitNet_ResNet101_256x256_ResNet18_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "FitNet" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_256x256_71.30_81.57.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | FITNET: 23 | KD_WEIGHT: 2.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [128, 128] 28 | STUDENT_SIZE_TEST: [128, 128] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [256, 256] 32 | TEACHER_SIZE_TEST: [256, 256] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.0 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_384x384_ResNet18_128x128/FitNet.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/FitNet" 7 | EXPERIMENT_NAME: "CUB200_FitNet_ResNet101_384x284_ResNet18_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "FitNet" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_384x384_76.53_85.05.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | FITNET: 23 | KD_WEIGHT: 2.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [128, 128] 28 | STUDENT_SIZE_TEST: [128, 128] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [384, 384] 32 | TEACHER_SIZE_TEST: [384, 384] 33 | 34 | TEACHER_PADDING: 12 35 | RE_PROB: 0.0 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_384x384_ResNet18_64x64/PKT.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/PKT" 7 | EXPERIMENT_NAME: "InShop_PKT_ResNet101_384x284_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "/root/autodl-tmp/data" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "PKT" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_384x384_83.00_95.74.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | PKT: 23 | KD_WEIGHT: 30000.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [64, 64] 27 | STUDENT_SIZE_TEST: [64, 64] 28 | STUDENT_PADDING: 2 29 | 30 | TEACHER_SIZE_TRAIN: [384, 384] 31 | TEACHER_SIZE_TEST: [384, 384] 32 | 33 | TEACHER_PADDING: 12 34 | RE_PROB: 0.5 35 | 36 | DATALOADER: 37 | NUM_WORKERS: 8 38 | NUM_INSTANCE: 6 39 | 40 | SOLVER: 41 | TRAINER: "kd" 42 | IMS_PER_BATCH: 96 43 | IMS_DISTILLATION_PER_BATCH: 256 44 | MAX_EPOCHS: 120 45 | BASE_LR: 0.01 46 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 47 | LR_WARMUP_EPOCHS: 10 48 | LR_WARMUP_FACTOR: 0.1 49 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 50 | OPTIMIZER_NAME: "SGD" 51 | 52 | CHECKPOINT_PERIOD: 120 53 | 54 | 55 | TEST: 56 | IMS_PER_BATCH: 512 57 | WEIGHT: 120 58 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_IBN_320x160_ResNet18_160x80/CC.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/CC" 7 | EXPERIMENT_NAME: "MSMT17_CC_ResNet101_IBN_320x160_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "CC" 17 | TEACHER_NAME: "ResNet101_ibn_a" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_IBN_320x160_64.13_84.49.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | CC: 23 | KD_WEIGHT: 5.0 24 | 25 | 26 | 27 | INPUT: 28 | STUDENT_SIZE_TRAIN: [160, 80] 29 | STUDENT_SIZE_TEST: [160, 80] 30 | STUDENT_PADDING: 4 31 | 32 | TEACHER_SIZE_TRAIN: [320, 160] 33 | TEACHER_SIZE_TEST: [320, 160] 34 | 35 | TEACHER_PADDING: 8 36 | RE_PROB: 0.5 37 | 38 | DATALOADER: 39 | NUM_WORKERS: 8 40 | NUM_INSTANCE: 6 41 | 42 | SOLVER: 43 | TRAINER: "kd" 44 | IMS_PER_BATCH: 96 45 | IMS_DISTILLATION_PER_BATCH: 256 46 | MAX_EPOCHS: 120 47 | BASE_LR: 0.01 48 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 49 | LR_WARMUP_EPOCHS: 10 50 | LR_WARMUP_FACTOR: 0.1 51 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 52 | OPTIMIZER_NAME: "SGD" 53 | 54 | CHECKPOINT_PERIOD: 120 55 | 56 | 57 | TEST: 58 | IMS_PER_BATCH: 512 59 | WEIGHT: 120 60 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_IBN_320x160_ResNet18_160x80/RKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RKD" 7 | EXPERIMENT_NAME: "MSMT17_RKD_ResNet101_IBN_320x160_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RKD" 17 | TEACHER_NAME: "ResNet101_ibn_a" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_IBN_320x160_64.13_84.49.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RKD: 23 | KD_WEIGHT: 1.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [160, 80] 28 | STUDENT_SIZE_TEST: [160, 80] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [320, 160] 32 | TEACHER_SIZE_TEST: [320, 160] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.5 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_256x256_MobileNetV3_128x128/CC.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/CC" 7 | EXPERIMENT_NAME: "CUB200_CC_ResNet101_256x256_MobileNetV3_Small_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "CC" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_256x256_71.30_81.57.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | CC: 23 | KD_WEIGHT: 10.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [128, 128] 28 | STUDENT_SIZE_TEST: [128, 128] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [256, 256] 32 | TEACHER_SIZE_TEST: [256, 256] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.0 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_320x160_MobileNetV3_160x80/CC.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/CC" 7 | EXPERIMENT_NAME: "MSMT17_CC_ResNet101_320x160_MobileNetV3_Small_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "CC" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_320x160_59.26_82.09.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | CC: 23 | KD_WEIGHT: 5.0 24 | 25 | 26 | 27 | INPUT: 28 | STUDENT_SIZE_TRAIN: [160, 80] 29 | STUDENT_SIZE_TEST: [160, 80] 30 | STUDENT_PADDING: 4 31 | 32 | TEACHER_SIZE_TRAIN: [320, 160] 33 | TEACHER_SIZE_TEST: [320, 160] 34 | 35 | TEACHER_PADDING: 8 36 | RE_PROB: 0.5 37 | 38 | DATALOADER: 39 | NUM_WORKERS: 8 40 | NUM_INSTANCE: 6 41 | 42 | SOLVER: 43 | TRAINER: "kd" 44 | IMS_PER_BATCH: 96 45 | IMS_DISTILLATION_PER_BATCH: 256 46 | MAX_EPOCHS: 120 47 | BASE_LR: 0.01 48 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 49 | LR_WARMUP_EPOCHS: 10 50 | LR_WARMUP_FACTOR: 0.1 51 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 52 | OPTIMIZER_NAME: "SGD" 53 | 54 | CHECKPOINT_PERIOD: 120 55 | 56 | 57 | TEST: 58 | IMS_PER_BATCH: 512 59 | WEIGHT: 120 60 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_320x160_MobileNetV3_160x80/PKT.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/PKT" 7 | EXPERIMENT_NAME: "MSMT17_PKT_ResNet101_320x160_MobileNetV3_Small_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "PKT" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_320x160_59.26_82.09.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | PKT: 23 | KD_WEIGHT: 30000.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [160, 80] 28 | STUDENT_SIZE_TEST: [160, 80] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [320, 160] 32 | TEACHER_SIZE_TEST: [320, 160] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.5 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_320x160_MobileNetV3_160x80/RKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RKD" 7 | EXPERIMENT_NAME: "MSMT17_RKD_ResNet101_320x160_MobileNetV3_Small_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_320x160_59.26_82.09.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RKD: 23 | KD_WEIGHT: 1.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [160, 80] 28 | STUDENT_SIZE_TEST: [160, 80] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [320, 160] 32 | TEACHER_SIZE_TEST: [320, 160] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.5 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_320x160_ResNet18_160x80/FitNet.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/FitNet" 7 | EXPERIMENT_NAME: "MSMT17_FitNet_ResNet101_320x160_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "FitNet" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_320x160_59.26_82.09.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | FITNET: 23 | KD_WEIGHT: 2.0 24 | 25 | 26 | 27 | INPUT: 28 | STUDENT_SIZE_TRAIN: [160, 80] 29 | STUDENT_SIZE_TEST: [160, 80] 30 | STUDENT_PADDING: 4 31 | 32 | TEACHER_SIZE_TRAIN: [320, 160] 33 | TEACHER_SIZE_TEST: [320, 160] 34 | 35 | TEACHER_PADDING: 8 36 | RE_PROB: 0.5 37 | 38 | DATALOADER: 39 | NUM_WORKERS: 8 40 | NUM_INSTANCE: 6 41 | 42 | SOLVER: 43 | TRAINER: "kd" 44 | IMS_PER_BATCH: 96 45 | IMS_DISTILLATION_PER_BATCH: 256 46 | MAX_EPOCHS: 120 47 | BASE_LR: 0.01 48 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 49 | LR_WARMUP_EPOCHS: 10 50 | LR_WARMUP_FACTOR: 0.1 51 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 52 | OPTIMIZER_NAME: "SGD" 53 | 54 | CHECKPOINT_PERIOD: 120 55 | 56 | 57 | TEST: 58 | IMS_PER_BATCH: 512 59 | WEIGHT: 120 60 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_IBN_320x160_ResNet18_160x80/PKT.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/PKT" 7 | EXPERIMENT_NAME: "MSMT17_PKT_ResNet101_IBN_320x160_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "PKT" 17 | TEACHER_NAME: "ResNet101_ibn_a" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_IBN_320x160_64.13_84.49.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | PKT: 23 | KD_WEIGHT: 30000.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [160, 80] 28 | STUDENT_SIZE_TEST: [160, 80] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [320, 160] 32 | TEACHER_SIZE_TEST: [320, 160] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.5 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_256x256_MobileNetV3_64x64/FitNet.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/FitNet" 7 | EXPERIMENT_NAME: "InShop_FitNet_ResNet101_256x256_MobileNetV3_Small_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "FitNet" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_256x256_81.80_95.25.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | FITNET: 23 | KD_WEIGHT: 5.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [64, 64] 27 | STUDENT_SIZE_TEST: [64, 64] 28 | STUDENT_PADDING: 2 29 | 30 | TEACHER_SIZE_TRAIN: [256, 256] 31 | TEACHER_SIZE_TEST: [256, 256] 32 | 33 | TEACHER_PADDING: 8 34 | RE_PROB: 0.5 35 | 36 | DATALOADER: 37 | NUM_WORKERS: 8 38 | NUM_INSTANCE: 6 39 | 40 | SOLVER: 41 | TRAINER: "kd" 42 | IMS_PER_BATCH: 96 43 | IMS_DISTILLATION_PER_BATCH: 256 44 | MAX_EPOCHS: 120 45 | BASE_LR: 0.01 46 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 47 | LR_WARMUP_EPOCHS: 10 48 | LR_WARMUP_FACTOR: 0.1 49 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 50 | OPTIMIZER_NAME: "SGD" 51 | 52 | CHECKPOINT_PERIOD: 120 53 | 54 | 55 | TEST: 56 | IMS_PER_BATCH: 512 57 | WEIGHT: 120 58 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_384x384_ResNet18_64x64/FitNet.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/FitNet" 7 | EXPERIMENT_NAME: "InShop_FitNet_ResNet101_384x284_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "/root/autodl-tmp/data" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "FitNet" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_384x384_83.00_95.74.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | FITNET: 23 | KD_WEIGHT: 2.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [64, 64] 27 | STUDENT_SIZE_TEST: [64, 64] 28 | STUDENT_PADDING: 2 29 | 30 | TEACHER_SIZE_TRAIN: [384, 384] 31 | TEACHER_SIZE_TEST: [384, 384] 32 | 33 | TEACHER_PADDING: 12 34 | RE_PROB: 0.5 35 | 36 | DATALOADER: 37 | NUM_WORKERS: 8 38 | NUM_INSTANCE: 6 39 | 40 | SOLVER: 41 | TRAINER: "kd" 42 | IMS_PER_BATCH: 96 43 | IMS_DISTILLATION_PER_BATCH: 256 44 | MAX_EPOCHS: 120 45 | BASE_LR: 0.01 46 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 47 | LR_WARMUP_EPOCHS: 10 48 | LR_WARMUP_FACTOR: 0.1 49 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 50 | OPTIMIZER_NAME: "SGD" 51 | 52 | CHECKPOINT_PERIOD: 120 53 | 54 | 55 | TEST: 56 | IMS_PER_BATCH: 512 57 | WEIGHT: 120 58 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_256x256_ResNet18_64x64/D3.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/D3" 7 | EXPERIMENT_NAME: "SOP_D3_ResNet101_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "D3" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_256x256_72.42_87.13.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | D3: 23 | TOPK: 10 24 | ALPHA: 100.0 25 | BETA: 5.0 26 | GAMMA: 1.0 27 | KD_WEIGHT: 1.0 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [64, 64] 31 | STUDENT_SIZE_TEST: [64, 64] 32 | STUDENT_PADDING: 2 33 | 34 | TEACHER_SIZE_TRAIN: [256, 256] 35 | TEACHER_SIZE_TEST: [256, 256] 36 | 37 | TEACHER_PADDING: 8 38 | RE_PROB: 0.5 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 256 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_384x384_ResNet18_64x64/RAML.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'1'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RAML" 7 | EXPERIMENT_NAME: "SOP_RAML_ResNet101_384x284_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RAML" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_384x384_74.48_88.17.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RAML: 23 | LAMBDA1: 0.7482 24 | LAMBDA2: 0.6778 25 | KD_WEIGHT: 10.0 26 | 27 | INPUT: 28 | STUDENT_SIZE_TRAIN: [64, 64] 29 | STUDENT_SIZE_TEST: [64, 64] 30 | STUDENT_PADDING: 2 31 | 32 | TEACHER_SIZE_TRAIN: [384, 384] 33 | TEACHER_SIZE_TEST: [384, 384] 34 | 35 | TEACHER_PADDING: 12 36 | RE_PROB: 0.5 37 | 38 | DATALOADER: 39 | NUM_WORKERS: 8 40 | NUM_INSTANCE: 6 41 | 42 | SOLVER: 43 | TRAINER: "kd" 44 | IMS_PER_BATCH: 96 45 | IMS_DISTILLATION_PER_BATCH: 256 46 | MAX_EPOCHS: 120 47 | BASE_LR: 0.01 48 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 49 | LR_WARMUP_EPOCHS: 10 50 | LR_WARMUP_FACTOR: 0.1 51 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 52 | OPTIMIZER_NAME: "SGD" 53 | 54 | CHECKPOINT_PERIOD: 120 55 | 56 | 57 | TEST: 58 | IMS_PER_BATCH: 512 59 | WEIGHT: 120 60 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_256x256_MobileNetV3_128x128/PKT.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/PKT" 7 | EXPERIMENT_NAME: "CUB200_PKT_ResNet101_256x256_MobileNetV3_Small_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "PKT" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_256x256_71.30_81.57.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | 23 | PKT: 24 | KD_WEIGHT: 30000.0 25 | 26 | 27 | INPUT: 28 | STUDENT_SIZE_TRAIN: [128, 128] 29 | STUDENT_SIZE_TEST: [128, 128] 30 | STUDENT_PADDING: 4 31 | 32 | TEACHER_SIZE_TRAIN: [256, 256] 33 | TEACHER_SIZE_TEST: [256, 256] 34 | 35 | TEACHER_PADDING: 8 36 | RE_PROB: 0.0 37 | 38 | DATALOADER: 39 | NUM_WORKERS: 8 40 | NUM_INSTANCE: 6 41 | 42 | SOLVER: 43 | TRAINER: "kd" 44 | IMS_PER_BATCH: 96 45 | IMS_DISTILLATION_PER_BATCH: 256 46 | MAX_EPOCHS: 120 47 | BASE_LR: 0.01 48 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 49 | LR_WARMUP_EPOCHS: 10 50 | LR_WARMUP_FACTOR: 0.1 51 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 52 | OPTIMIZER_NAME: "SGD" 53 | 54 | CHECKPOINT_PERIOD: 120 55 | 56 | 57 | TEST: 58 | IMS_PER_BATCH: 512 59 | WEIGHT: 120 60 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_256x256_MobileNetV3_128x128/RKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RKD" 7 | EXPERIMENT_NAME: "CUB200_RKD_ResNet101_256x256_MobileNetV3_Small_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_256x256_71.30_81.57.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | 23 | RKD: 24 | KD_WEIGHT: 1.0 25 | 26 | 27 | INPUT: 28 | STUDENT_SIZE_TRAIN: [128, 128] 29 | STUDENT_SIZE_TEST: [128, 128] 30 | STUDENT_PADDING: 4 31 | 32 | TEACHER_SIZE_TRAIN: [256, 256] 33 | TEACHER_SIZE_TEST: [256, 256] 34 | 35 | TEACHER_PADDING: 8 36 | RE_PROB: 0.0 37 | 38 | DATALOADER: 39 | NUM_WORKERS: 8 40 | NUM_INSTANCE: 6 41 | 42 | SOLVER: 43 | TRAINER: "kd" 44 | IMS_PER_BATCH: 96 45 | IMS_DISTILLATION_PER_BATCH: 256 46 | MAX_EPOCHS: 120 47 | BASE_LR: 0.01 48 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 49 | LR_WARMUP_EPOCHS: 10 50 | LR_WARMUP_FACTOR: 0.1 51 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 52 | OPTIMIZER_NAME: "SGD" 53 | 54 | CHECKPOINT_PERIOD: 120 55 | 56 | 57 | TEST: 58 | IMS_PER_BATCH: 512 59 | WEIGHT: 120 60 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_256x256_ResNet18_64x64/RAML.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RAML" 7 | EXPERIMENT_NAME: "InShop_RAML_ResNet101_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RAML" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_256x256_81.80_95.25.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RAML: 23 | LAMBDA1: 0.7482 24 | LAMBDA2: 0.6778 25 | KD_WEIGHT: 10.0 26 | 27 | 28 | INPUT: 29 | STUDENT_SIZE_TRAIN: [64, 64] 30 | STUDENT_SIZE_TEST: [64, 64] 31 | STUDENT_PADDING: 2 32 | 33 | TEACHER_SIZE_TRAIN: [256, 256] 34 | TEACHER_SIZE_TEST: [256, 256] 35 | 36 | TEACHER_PADDING: 8 37 | RE_PROB: 0.5 38 | 39 | DATALOADER: 40 | NUM_WORKERS: 8 41 | NUM_INSTANCE: 6 42 | 43 | SOLVER: 44 | TRAINER: "kd" 45 | IMS_PER_BATCH: 96 46 | IMS_DISTILLATION_PER_BATCH: 256 47 | MAX_EPOCHS: 120 48 | BASE_LR: 0.01 49 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 50 | LR_WARMUP_EPOCHS: 10 51 | LR_WARMUP_FACTOR: 0.1 52 | LR_DECAY_STEPS: [40] #[30, 60, 90] 53 | OPTIMIZER_NAME: "SGD" 54 | 55 | CHECKPOINT_PERIOD: 120 56 | 57 | 58 | TEST: 59 | IMS_PER_BATCH: 512 60 | WEIGHT: 120 61 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_256x256_ResNet18_64x64/VanillaKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/VanillaKD" 7 | EXPERIMENT_NAME: "InShop_VanillaKD_ResNet101_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "VanillaKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_256x256_81.80_95.25.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | VanillaKD: 23 | KD_WEIGHT: 1.0 24 | TEMPERATURE: 2.0 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [64, 64] 28 | STUDENT_SIZE_TEST: [64, 64] 29 | STUDENT_PADDING: 2 30 | 31 | TEACHER_SIZE_TRAIN: [256, 256] 32 | TEACHER_SIZE_TEST: [256, 256] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.5 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_IBN_320x160_ResNet18_160x80/FitNet.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/FitNet" 7 | EXPERIMENT_NAME: "MSMT17_FitNet_ResNet101_IBN_320x160_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "FitNet" 17 | TEACHER_NAME: "ResNet101_ibn_a" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_IBN_320x160_64.13_84.49.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | FITNET: 23 | KD_WEIGHT: 2.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [160, 80] 28 | STUDENT_SIZE_TEST: [160, 80] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [320, 160] 32 | TEACHER_SIZE_TEST: [320, 160] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.5 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_256x256_ResNet18_64x64/VanillaKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/VanillaKD" 7 | EXPERIMENT_NAME: "SOP_VanillaKD_ResNet101_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "VanillaKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_256x256_72.42_87.13.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | VanillaKD: 23 | KD_WEIGHT: 1.0 24 | TEMPERATURE: 2.0 25 | 26 | 27 | INPUT: 28 | STUDENT_SIZE_TRAIN: [64, 64] 29 | STUDENT_SIZE_TEST: [64, 64] 30 | STUDENT_PADDING: 2 31 | 32 | TEACHER_SIZE_TRAIN: [256, 256] 33 | TEACHER_SIZE_TEST: [256, 256] 34 | 35 | TEACHER_PADDING: 8 36 | RE_PROB: 0.5 37 | 38 | DATALOADER: 39 | NUM_WORKERS: 8 40 | NUM_INSTANCE: 6 41 | 42 | SOLVER: 43 | TRAINER: "kd" 44 | IMS_PER_BATCH: 96 45 | IMS_DISTILLATION_PER_BATCH: 256 46 | MAX_EPOCHS: 120 47 | BASE_LR: 0.01 48 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 49 | LR_WARMUP_EPOCHS: 10 50 | LR_WARMUP_FACTOR: 0.1 51 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 52 | OPTIMIZER_NAME: "SGD" 53 | 54 | CHECKPOINT_PERIOD: 120 55 | 56 | 57 | TEST: 58 | IMS_PER_BATCH: 512 59 | WEIGHT: 120 60 | -------------------------------------------------------------------------------- /Training_Configs/SOP/Swin_Transformer_V2_Small_256x256_ResNet18_64x64/CC.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/CC" 7 | EXPERIMENT_NAME: "SOP_CC_Swin_Transformer_V2_Small_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "CC" 17 | TEACHER_NAME: "Swin_Transformer_V2_Small" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_Swin_Transformer_Small_256x256_75.70_88.46.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | CC: 23 | KD_WEIGHT: 5.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [64, 64] 27 | STUDENT_SIZE_TEST: [64, 64] 28 | STUDENT_PADDING: 2 29 | 30 | TEACHER_SIZE_TRAIN: [256, 256] 31 | TEACHER_SIZE_TEST: [256, 256] 32 | 33 | TEACHER_PADDING: 8 34 | RE_PROB: 0.5 35 | 36 | DATALOADER: 37 | NUM_WORKERS: 8 38 | NUM_INSTANCE: 6 39 | 40 | SOLVER: 41 | TRAINER: "kd" 42 | IMS_PER_BATCH: 96 43 | IMS_DISTILLATION_PER_BATCH: 256 44 | MAX_EPOCHS: 120 45 | BASE_LR: 0.01 46 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 47 | LR_WARMUP_EPOCHS: 10 48 | LR_WARMUP_FACTOR: 0.1 49 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 50 | OPTIMIZER_NAME: "SGD" 51 | 52 | CHECKPOINT_PERIOD: 120 53 | 54 | 55 | TEST: 56 | IMS_PER_BATCH: 512 57 | WEIGHT: 120 58 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_320x160_MobileNetV3_160x80/FitNet.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/FitNet" 7 | EXPERIMENT_NAME: "MSMT17_FitNet_ResNet101_320x160_MobileNetV3_Small_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "FitNet" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_320x160_59.26_82.09.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | FITNET: 23 | KD_WEIGHT: 5.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [160, 80] 28 | STUDENT_SIZE_TEST: [160, 80] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [320, 160] 32 | TEACHER_SIZE_TEST: [320, 160] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.5 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_320x160_ResNet18_160x80/RAML.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RAML" 7 | EXPERIMENT_NAME: "MSMT17_RAML_ResNet101_320x160_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RAML" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_320x160_59.26_82.09.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RAML: 23 | LAMBDA1: 0.7482 24 | LAMBDA2: 0.6778 25 | KD_WEIGHT: 5.0 26 | 27 | 28 | INPUT: 29 | STUDENT_SIZE_TRAIN: [160, 80] 30 | STUDENT_SIZE_TEST: [160, 80] 31 | STUDENT_PADDING: 4 32 | 33 | TEACHER_SIZE_TRAIN: [320, 160] 34 | TEACHER_SIZE_TEST: [320, 160] 35 | 36 | TEACHER_PADDING: 8 37 | RE_PROB: 0.5 38 | 39 | DATALOADER: 40 | NUM_WORKERS: 8 41 | NUM_INSTANCE: 6 42 | 43 | SOLVER: 44 | TRAINER: "kd" 45 | IMS_PER_BATCH: 96 46 | IMS_DISTILLATION_PER_BATCH: 256 47 | MAX_EPOCHS: 120 48 | BASE_LR: 0.01 49 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 50 | LR_WARMUP_EPOCHS: 10 51 | LR_WARMUP_FACTOR: 0.1 52 | LR_DECAY_STEPS: [40] #[30, 60, 90] 53 | OPTIMIZER_NAME: "SGD" 54 | 55 | CHECKPOINT_PERIOD: 120 56 | 57 | 58 | TEST: 59 | IMS_PER_BATCH: 512 60 | WEIGHT: 120 61 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_256x256_ResNet18_64x64/ROP.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/ROP" 7 | EXPERIMENT_NAME: "SOP_ROP_ResNet101_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "ROP" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_256x256_72.42_87.13.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | ROP: 23 | TOPK: 256 24 | TEMPERATURE: 0.1 25 | RANK_WEIGHT: 0.2 26 | KD_WEIGHT: 1.0 27 | 28 | INPUT: 29 | STUDENT_SIZE_TRAIN: [64, 64] 30 | STUDENT_SIZE_TEST: [64, 64] 31 | STUDENT_PADDING: 2 32 | 33 | TEACHER_SIZE_TRAIN: [256, 256] 34 | TEACHER_SIZE_TEST: [256, 256] 35 | 36 | TEACHER_PADDING: 8 37 | RE_PROB: 0.5 38 | 39 | DATALOADER: 40 | NUM_WORKERS: 8 41 | NUM_INSTANCE: 6 42 | 43 | SOLVER: 44 | TRAINER: "kd" 45 | IMS_PER_BATCH: 96 46 | IMS_DISTILLATION_PER_BATCH: 256 47 | MAX_EPOCHS: 120 48 | BASE_LR: 0.01 49 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 50 | LR_WARMUP_EPOCHS: 10 51 | LR_WARMUP_FACTOR: 0.1 52 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 53 | OPTIMIZER_NAME: "SGD" 54 | 55 | CHECKPOINT_PERIOD: 120 56 | 57 | 58 | TEST: 59 | IMS_PER_BATCH: 512 60 | WEIGHT: 120 61 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_384x384_ResNet18_64x64/VanillaKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/VanillaKD" 7 | EXPERIMENT_NAME: "SOP_VanillaKD_ResNet101_384x284_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "VanillaKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_384x384_74.48_88.17.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | VanillaKD: 23 | KD_WEIGHT: 1.0 24 | TEMPERATURE: 2.0 25 | 26 | 27 | INPUT: 28 | STUDENT_SIZE_TRAIN: [64, 64] 29 | STUDENT_SIZE_TEST: [64, 64] 30 | STUDENT_PADDING: 2 31 | 32 | TEACHER_SIZE_TRAIN: [384, 384] 33 | TEACHER_SIZE_TEST: [384, 384] 34 | 35 | TEACHER_PADDING: 12 36 | RE_PROB: 0.5 37 | 38 | DATALOADER: 39 | NUM_WORKERS: 8 40 | NUM_INSTANCE: 6 41 | 42 | SOLVER: 43 | TRAINER: "kd" 44 | IMS_PER_BATCH: 96 45 | IMS_DISTILLATION_PER_BATCH: 256 46 | MAX_EPOCHS: 120 47 | BASE_LR: 0.01 48 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 49 | LR_WARMUP_EPOCHS: 10 50 | LR_WARMUP_FACTOR: 0.1 51 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 52 | OPTIMIZER_NAME: "SGD" 53 | 54 | CHECKPOINT_PERIOD: 120 55 | 56 | 57 | TEST: 58 | IMS_PER_BATCH: 512 59 | WEIGHT: 120 60 | -------------------------------------------------------------------------------- /Training_Configs/SOP/Swin_Transformer_V2_Small_256x256_ResNet18_64x64/PKT.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/PKT" 7 | EXPERIMENT_NAME: "SOP_PKT_Swin_Transformer_V2_Small_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "PKT" 17 | TEACHER_NAME: "Swin_Transformer_V2_Small" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_Swin_Transformer_Small_256x256_75.70_88.46.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | PKT: 23 | KD_WEIGHT: 30000.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [64, 64] 27 | STUDENT_SIZE_TEST: [64, 64] 28 | STUDENT_PADDING: 2 29 | 30 | TEACHER_SIZE_TRAIN: [256, 256] 31 | TEACHER_SIZE_TEST: [256, 256] 32 | 33 | TEACHER_PADDING: 8 34 | RE_PROB: 0.5 35 | 36 | DATALOADER: 37 | NUM_WORKERS: 8 38 | NUM_INSTANCE: 6 39 | 40 | SOLVER: 41 | TRAINER: "kd" 42 | IMS_PER_BATCH: 96 43 | IMS_DISTILLATION_PER_BATCH: 256 44 | MAX_EPOCHS: 120 45 | BASE_LR: 0.01 46 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 47 | LR_WARMUP_EPOCHS: 10 48 | LR_WARMUP_FACTOR: 0.1 49 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 50 | OPTIMIZER_NAME: "SGD" 51 | 52 | CHECKPOINT_PERIOD: 120 53 | 54 | 55 | TEST: 56 | IMS_PER_BATCH: 512 57 | WEIGHT: 120 58 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_256x256_ResNet18_128x128/VanillaKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/VanillaKD" 7 | EXPERIMENT_NAME: "CUB200_VanillaKD_ResNet101_256x256_ResNet18_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "VanillaKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_256x256_71.30_81.57.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | VanillaKD: 23 | KD_WEIGHT: 1.0 24 | TEMPERATURE: 2.0 25 | 26 | 27 | INPUT: 28 | STUDENT_SIZE_TRAIN: [128, 128] 29 | STUDENT_SIZE_TEST: [128, 128] 30 | STUDENT_PADDING: 4 31 | 32 | TEACHER_SIZE_TRAIN: [256, 256] 33 | TEACHER_SIZE_TEST: [256, 256] 34 | 35 | TEACHER_PADDING: 8 36 | RE_PROB: 0.0 37 | 38 | DATALOADER: 39 | NUM_WORKERS: 8 40 | NUM_INSTANCE: 6 41 | 42 | SOLVER: 43 | TRAINER: "kd" 44 | IMS_PER_BATCH: 96 45 | IMS_DISTILLATION_PER_BATCH: 256 46 | MAX_EPOCHS: 120 47 | BASE_LR: 0.01 48 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 49 | LR_WARMUP_EPOCHS: 10 50 | LR_WARMUP_FACTOR: 0.1 51 | LR_DECAY_STEPS: [40] #[30, 60, 90] 52 | OPTIMIZER_NAME: "SGD" 53 | 54 | CHECKPOINT_PERIOD: 120 55 | 56 | 57 | TEST: 58 | IMS_PER_BATCH: 512 59 | WEIGHT: 120 60 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_256x256_ResNet18_64x64/ROP.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/ROP" 7 | EXPERIMENT_NAME: "InShop_ROP_ResNet101_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "ROP" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_256x256_81.80_95.25.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | ROP: 23 | TOPK: 256 24 | TEMPERATURE: 0.1 25 | RANK_WEIGHT: 0.2 26 | KD_WEIGHT: 1.0 27 | 28 | INPUT: 29 | STUDENT_SIZE_TRAIN: [64, 64] 30 | STUDENT_SIZE_TEST: [64, 64] 31 | STUDENT_PADDING: 2 32 | 33 | TEACHER_SIZE_TRAIN: [256, 256] 34 | TEACHER_SIZE_TEST: [256, 256] 35 | 36 | TEACHER_PADDING: 8 37 | RE_PROB: 0.5 38 | 39 | DATALOADER: 40 | NUM_WORKERS: 8 41 | NUM_INSTANCE: 6 42 | 43 | SOLVER: 44 | TRAINER: "kd" 45 | IMS_PER_BATCH: 96 46 | IMS_DISTILLATION_PER_BATCH: 256 47 | MAX_EPOCHS: 120 48 | BASE_LR: 0.01 49 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 50 | LR_WARMUP_EPOCHS: 10 51 | LR_WARMUP_FACTOR: 0.1 52 | LR_DECAY_STEPS: [40] #[30, 60, 90] 53 | OPTIMIZER_NAME: "SGD" 54 | 55 | CHECKPOINT_PERIOD: 120 56 | 57 | 58 | TEST: 59 | IMS_PER_BATCH: 512 60 | WEIGHT: 120 61 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_384x384_ResNet18_64x64/D3.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/D3" 7 | EXPERIMENT_NAME: "SOP_D3_ResNet101_384x284_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "D3" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_384x384_74.48_88.17.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | D3: 23 | TOPK: 10 24 | ALPHA: 100.0 25 | BETA: 5.0 26 | GAMMA: 1.0 27 | KD_WEIGHT: 1.0 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [64, 64] 31 | STUDENT_SIZE_TEST: [64, 64] 32 | STUDENT_PADDING: 2 33 | 34 | TEACHER_SIZE_TRAIN: [384, 384] 35 | TEACHER_SIZE_TEST: [384, 384] 36 | 37 | TEACHER_PADDING: 12 38 | RE_PROB: 0.5 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 256 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_384x384_ResNet18_64x64/ROP.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'1'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/ROP" 7 | EXPERIMENT_NAME: "SOP_ROP_ResNet101_384x284_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "ROP" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_384x384_74.48_88.17.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | ROP: 23 | TOPK: 256 24 | TEMPERATURE: 0.1 25 | RANK_WEIGHT: 0.2 26 | KD_WEIGHT: 1.0 27 | 28 | INPUT: 29 | STUDENT_SIZE_TRAIN: [64, 64] 30 | STUDENT_SIZE_TEST: [64, 64] 31 | STUDENT_PADDING: 2 32 | 33 | TEACHER_SIZE_TRAIN: [384, 384] 34 | TEACHER_SIZE_TEST: [384, 384] 35 | 36 | TEACHER_PADDING: 12 37 | RE_PROB: 0.5 38 | 39 | DATALOADER: 40 | NUM_WORKERS: 8 41 | NUM_INSTANCE: 6 42 | 43 | SOLVER: 44 | TRAINER: "kd" 45 | IMS_PER_BATCH: 96 46 | IMS_DISTILLATION_PER_BATCH: 256 47 | MAX_EPOCHS: 120 48 | BASE_LR: 0.01 49 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 50 | LR_WARMUP_EPOCHS: 10 51 | LR_WARMUP_FACTOR: 0.1 52 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 53 | OPTIMIZER_NAME: "SGD" 54 | 55 | CHECKPOINT_PERIOD: 120 56 | 57 | 58 | TEST: 59 | IMS_PER_BATCH: 512 60 | WEIGHT: 120 61 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_384x384_ResNet18_64x64/UGD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/UGD" 7 | EXPERIMENT_NAME: "SOP_UGD_ResNet101_384x384_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "UGD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_384x384_74.48_88.17.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | UGD: 23 | DISTILLATION_LAYER: 3 24 | ALPHA: 2.0 25 | BETA: 2.0 26 | KD_WEIGHT: 1.0 27 | 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [64, 64] 31 | STUDENT_SIZE_TEST: [64, 64] 32 | STUDENT_PADDING: 2 33 | 34 | TEACHER_SIZE_TRAIN: [384, 384] 35 | TEACHER_SIZE_TEST: [384, 384] 36 | 37 | TEACHER_PADDING: 12 38 | RE_PROB: 0.5 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 96 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | -------------------------------------------------------------------------------- /Training_Configs/SOP/Swin_Transformer_V2_Small_256x256_ResNet18_64x64/RKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RKD" 7 | EXPERIMENT_NAME: "SOP_RKD_Swin_Transformer_V2_Small_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RKD" 17 | TEACHER_NAME: "Swin_Transformer_V2_Small" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_Swin_Transformer_Small_256x256_75.70_88.46.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RKD: 23 | KD_WEIGHT: 1.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [64, 64] 27 | STUDENT_SIZE_TEST: [64, 64] 28 | STUDENT_PADDING: 2 29 | 30 | TEACHER_SIZE_TRAIN: [256, 256] 31 | TEACHER_SIZE_TEST: [256, 256] 32 | 33 | TEACHER_PADDING: 8 34 | RE_PROB: 0.5 35 | 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_256x256_MobileNetV3_128x128/FitNet.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/FitNet" 7 | EXPERIMENT_NAME: "CUB200_FitNet_ResNet101_256x256_MobileNetV3_Small_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "FitNet" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_256x256_71.30_81.57.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | 23 | FITNET: 24 | KD_WEIGHT: 5.0 25 | 26 | 27 | INPUT: 28 | STUDENT_SIZE_TRAIN: [128, 128] 29 | STUDENT_SIZE_TEST: [128, 128] 30 | STUDENT_PADDING: 4 31 | 32 | TEACHER_SIZE_TRAIN: [256, 256] 33 | TEACHER_SIZE_TEST: [256, 256] 34 | 35 | TEACHER_PADDING: 8 36 | RE_PROB: 0.0 37 | 38 | DATALOADER: 39 | NUM_WORKERS: 8 40 | NUM_INSTANCE: 6 41 | 42 | SOLVER: 43 | TRAINER: "kd" 44 | IMS_PER_BATCH: 96 45 | IMS_DISTILLATION_PER_BATCH: 256 46 | MAX_EPOCHS: 120 47 | BASE_LR: 0.01 48 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 49 | LR_WARMUP_EPOCHS: 10 50 | LR_WARMUP_FACTOR: 0.1 51 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 52 | OPTIMIZER_NAME: "SGD" 53 | 54 | CHECKPOINT_PERIOD: 120 55 | 56 | 57 | TEST: 58 | IMS_PER_BATCH: 512 59 | WEIGHT: 120 60 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_384x384_ResNet18_64x64/RAML.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RAML" 7 | EXPERIMENT_NAME: "InShop_RAML_ResNet101_384x284_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RAML" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_384x384_83.00_95.74.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RAML: 23 | LAMBDA1: 0.7482 24 | LAMBDA2: 0.6778 25 | KD_WEIGHT: 10.0 26 | 27 | 28 | INPUT: 29 | STUDENT_SIZE_TRAIN: [64, 64] 30 | STUDENT_SIZE_TEST: [64, 64] 31 | STUDENT_PADDING: 2 32 | 33 | TEACHER_SIZE_TRAIN: [384, 384] 34 | TEACHER_SIZE_TEST: [384, 384] 35 | 36 | TEACHER_PADDING: 12 37 | RE_PROB: 0.5 38 | 39 | DATALOADER: 40 | NUM_WORKERS: 8 41 | NUM_INSTANCE: 6 42 | 43 | SOLVER: 44 | TRAINER: "kd" 45 | IMS_PER_BATCH: 96 46 | IMS_DISTILLATION_PER_BATCH: 256 47 | MAX_EPOCHS: 120 48 | BASE_LR: 0.01 49 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 50 | LR_WARMUP_EPOCHS: 10 51 | LR_WARMUP_FACTOR: 0.1 52 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 53 | OPTIMIZER_NAME: "SGD" 54 | 55 | CHECKPOINT_PERIOD: 120 56 | 57 | 58 | TEST: 59 | IMS_PER_BATCH: 512 60 | WEIGHT: 120 61 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_384x384_ResNet18_64x64/VanillaKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/VanillaKD" 7 | EXPERIMENT_NAME: "InShop_VanillaKD_ResNet101_384x284_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "VanillaKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_384x384_83.00_95.74.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | VanillaKD: 23 | KD_WEIGHT: 1.0 24 | TEMPERATURE: 2.0 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [64, 64] 28 | STUDENT_SIZE_TEST: [64, 64] 29 | STUDENT_PADDING: 2 30 | 31 | TEACHER_SIZE_TRAIN: [384, 384] 32 | TEACHER_SIZE_TEST: [384, 384] 33 | 34 | TEACHER_PADDING: 12 35 | RE_PROB: 0.5 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_256x256_MobileNetV3_64x64/RAML.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RAML" 7 | EXPERIMENT_NAME: "SOP_RAML_ResNet101_256x256_MobileNetV3_Small_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RAML" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_256x256_72.42_87.13.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RAML: 23 | LAMBDA1: 0.7482 24 | LAMBDA2: 0.6778 25 | KD_WEIGHT: 20.0 26 | 27 | INPUT: 28 | STUDENT_SIZE_TRAIN: [64, 64] 29 | STUDENT_SIZE_TEST: [64, 64] 30 | STUDENT_PADDING: 2 31 | 32 | TEACHER_SIZE_TRAIN: [256, 256] 33 | TEACHER_SIZE_TEST: [256, 256] 34 | 35 | TEACHER_PADDING: 8 36 | RE_PROB: 0.5 37 | 38 | DATALOADER: 39 | NUM_WORKERS: 8 40 | NUM_INSTANCE: 6 41 | 42 | SOLVER: 43 | TRAINER: "kd" 44 | IMS_PER_BATCH: 96 45 | IMS_DISTILLATION_PER_BATCH: 256 46 | MAX_EPOCHS: 120 47 | BASE_LR: 0.01 48 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 49 | LR_WARMUP_EPOCHS: 10 50 | LR_WARMUP_FACTOR: 0.1 51 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 52 | OPTIMIZER_NAME: "SGD" 53 | 54 | CHECKPOINT_PERIOD: 120 55 | 56 | 57 | TEST: 58 | IMS_PER_BATCH: 512 59 | WEIGHT: 120 60 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_256x256_ResNet18_64x64/UGD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/UGD" 7 | EXPERIMENT_NAME: "SOP_UGD_ResNet101_256x256_ResNet18_64x64_2_2" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "UGD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_256x256_72.42_87.13.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | UGD: 23 | DISTILLATION_LAYER: 3 24 | ALPHA: 2.0 25 | BETA: 2.0 26 | KD_WEIGHT: 1.0 27 | 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [64, 64] 31 | STUDENT_SIZE_TEST: [64, 64] 32 | STUDENT_PADDING: 2 33 | 34 | TEACHER_SIZE_TRAIN: [256, 256] 35 | TEACHER_SIZE_TEST: [256, 256] 36 | 37 | TEACHER_PADDING: 8 38 | RE_PROB: 0.5 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 96 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_256x256_ResNet18_128x128/ROP.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/ROP" 7 | EXPERIMENT_NAME: "CUB200_ROP_ResNet101_256x256_ResNet18_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "ROP" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_256x256_71.30_81.57.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | ROP: 23 | TOPK: 256 24 | TEMPERATURE: 0.1 25 | RANK_WEIGHT: 0.2 26 | KD_WEIGHT: 1.0 27 | 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [128, 128] 31 | STUDENT_SIZE_TEST: [128, 128] 32 | STUDENT_PADDING: 4 33 | 34 | TEACHER_SIZE_TRAIN: [256, 256] 35 | TEACHER_SIZE_TEST: [256, 256] 36 | 37 | TEACHER_PADDING: 8 38 | RE_PROB: 0.0 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 256 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | -------------------------------------------------------------------------------- /Training_Configs/InShop/Swin_Transformer_V2_Small_256x256_ResNet18_64x64/CC.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/CC" 7 | EXPERIMENT_NAME: "InShop_CC_Swin_Transformer_V2_Small_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "CC" 17 | TEACHER_NAME: "Swin_Transformer_V2_Small" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_Swin_Transformer_Small_256x256_81.19_95.20.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | CC: 23 | KD_WEIGHT: 5.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [64, 64] 28 | STUDENT_SIZE_TEST: [64, 64] 29 | STUDENT_PADDING: 2 30 | 31 | TEACHER_SIZE_TRAIN: [256, 256] 32 | TEACHER_SIZE_TEST: [256, 256] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.5 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/InShop/Swin_Transformer_V2_Small_256x256_ResNet18_64x64/PKT.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/PKT" 7 | EXPERIMENT_NAME: "InShop_PKT_Swin_Transformer_V2_Small_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "PKT" 17 | TEACHER_NAME: "Swin_Transformer_V2_Small" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_Swin_Transformer_Small_256x256_81.19_95.20.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | PKT: 23 | KD_WEIGHT: 30000.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [64, 64] 27 | STUDENT_SIZE_TEST: [64, 64] 28 | STUDENT_PADDING: 2 29 | 30 | TEACHER_SIZE_TRAIN: [256, 256] 31 | TEACHER_SIZE_TEST: [256, 256] 32 | 33 | TEACHER_PADDING: 8 34 | RE_PROB: 0.5 35 | 36 | DATALOADER: 37 | NUM_WORKERS: 8 38 | NUM_INSTANCE: 6 39 | 40 | SOLVER: 41 | TRAINER: "kd" 42 | IMS_PER_BATCH: 96 43 | IMS_DISTILLATION_PER_BATCH: 256 44 | MAX_EPOCHS: 120 45 | BASE_LR: 0.01 46 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 47 | LR_WARMUP_EPOCHS: 10 48 | LR_WARMUP_FACTOR: 0.1 49 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 50 | OPTIMIZER_NAME: "SGD" 51 | 52 | CHECKPOINT_PERIOD: 120 53 | 54 | 55 | TEST: 56 | IMS_PER_BATCH: 512 57 | WEIGHT: 120 58 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_320x160_ResNet18_160x80/VanillaKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'1'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/VanillaKD" 7 | EXPERIMENT_NAME: "MSMT17_VanillaKD_ResNet101_320x160_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "VanillaKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_320x160_59.26_82.09.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | VanillaKD: 23 | KD_WEIGHT: 1.0 24 | TEMPERATURE: 2.0 25 | 26 | 27 | INPUT: 28 | STUDENT_SIZE_TRAIN: [160, 80] 29 | STUDENT_SIZE_TEST: [160, 80] 30 | STUDENT_PADDING: 4 31 | 32 | TEACHER_SIZE_TRAIN: [320, 160] 33 | TEACHER_SIZE_TEST: [320, 160] 34 | 35 | TEACHER_PADDING: 8 36 | RE_PROB: 0.5 37 | 38 | DATALOADER: 39 | NUM_WORKERS: 8 40 | NUM_INSTANCE: 6 41 | 42 | SOLVER: 43 | TRAINER: "kd" 44 | IMS_PER_BATCH: 96 45 | IMS_DISTILLATION_PER_BATCH: 256 46 | MAX_EPOCHS: 120 47 | BASE_LR: 0.01 48 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 49 | LR_WARMUP_EPOCHS: 10 50 | LR_WARMUP_FACTOR: 0.1 51 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 52 | OPTIMIZER_NAME: "SGD" 53 | 54 | CHECKPOINT_PERIOD: 120 55 | 56 | 57 | TEST: 58 | IMS_PER_BATCH: 512 59 | WEIGHT: 120 60 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_480x240_ResNet18_160x80/RAML.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RAML" 7 | EXPERIMENT_NAME: "MSMT17_RAML_ResNet101_480x240_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RAML" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_480x240_62.52_83.88.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RAML: 23 | LAMBDA1: 0.7482 24 | LAMBDA2: 0.6778 25 | KD_WEIGHT: 5.0 26 | 27 | 28 | INPUT: 29 | STUDENT_SIZE_TRAIN: [160, 80] 30 | STUDENT_SIZE_TEST: [160, 80] 31 | STUDENT_PADDING: 4 32 | 33 | TEACHER_SIZE_TRAIN: [480, 240] 34 | TEACHER_SIZE_TEST: [480, 240] 35 | 36 | TEACHER_PADDING: 12 37 | RE_PROB: 0.5 38 | 39 | DATALOADER: 40 | NUM_WORKERS: 8 41 | NUM_INSTANCE: 6 42 | 43 | SOLVER: 44 | TRAINER: "kd" 45 | IMS_PER_BATCH: 96 46 | IMS_DISTILLATION_PER_BATCH: 256 47 | MAX_EPOCHS: 120 48 | BASE_LR: 0.01 49 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 50 | LR_WARMUP_EPOCHS: 10 51 | LR_WARMUP_FACTOR: 0.1 52 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 53 | OPTIMIZER_NAME: "SGD" 54 | 55 | CHECKPOINT_PERIOD: 120 56 | 57 | 58 | TEST: 59 | IMS_PER_BATCH: 512 60 | WEIGHT: 120 61 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_480x240_ResNet18_160x80/VanillaKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/VanillaKD" 7 | EXPERIMENT_NAME: "MSMT17_VanillaKD_ResNet101_480x240_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "VanillaKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_480x240_62.52_83.88.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | VanillaKD: 23 | KD_WEIGHT: 1.0 24 | TEMPERATURE: 2.0 25 | 26 | 27 | INPUT: 28 | STUDENT_SIZE_TRAIN: [160, 80] 29 | STUDENT_SIZE_TEST: [160, 80] 30 | STUDENT_PADDING: 4 31 | 32 | TEACHER_SIZE_TRAIN: [480, 240] 33 | TEACHER_SIZE_TEST: [480, 240] 34 | 35 | TEACHER_PADDING: 12 36 | RE_PROB: 0.5 37 | 38 | DATALOADER: 39 | NUM_WORKERS: 8 40 | NUM_INSTANCE: 6 41 | 42 | SOLVER: 43 | TRAINER: "kd" 44 | IMS_PER_BATCH: 96 45 | IMS_DISTILLATION_PER_BATCH: 96 46 | MAX_EPOCHS: 120 47 | BASE_LR: 0.01 48 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 49 | LR_WARMUP_EPOCHS: 10 50 | LR_WARMUP_FACTOR: 0.1 51 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 52 | OPTIMIZER_NAME: "SGD" 53 | 54 | CHECKPOINT_PERIOD: 120 55 | 56 | 57 | TEST: 58 | IMS_PER_BATCH: 512 59 | WEIGHT: 120 60 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_384x384_ResNet18_64x64/CSD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/CSD" 7 | EXPERIMENT_NAME: "SOP_CSD_ResNet101_384x284_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "CSD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_384x384_74.48_88.17.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | CSD: 23 | TOPK: 256 24 | TEMPERATURE_QUERY: 1 25 | TEMPERATURE_GALLERY: 0.01 26 | KD_WEIGHT: 10.0 27 | 28 | INPUT: 29 | STUDENT_SIZE_TRAIN: [64, 64] 30 | STUDENT_SIZE_TEST: [64, 64] 31 | STUDENT_PADDING: 2 32 | 33 | TEACHER_SIZE_TRAIN: [384, 384] 34 | TEACHER_SIZE_TEST: [384, 384] 35 | 36 | TEACHER_PADDING: 12 37 | RE_PROB: 0.5 38 | 39 | DATALOADER: 40 | NUM_WORKERS: 8 41 | NUM_INSTANCE: 6 42 | 43 | SOLVER: 44 | TRAINER: "kd" 45 | IMS_PER_BATCH: 96 46 | IMS_DISTILLATION_PER_BATCH: 256 47 | MAX_EPOCHS: 120 48 | BASE_LR: 0.01 49 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 50 | LR_WARMUP_EPOCHS: 10 51 | LR_WARMUP_FACTOR: 0.1 52 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 53 | OPTIMIZER_NAME: "SGD" 54 | 55 | CHECKPOINT_PERIOD: 120 56 | 57 | 58 | TEST: 59 | IMS_PER_BATCH: 512 60 | WEIGHT: 120 61 | -------------------------------------------------------------------------------- /Training_Configs/SOP/Swin_Transformer_V2_Small_256x256_ResNet18_64x64/FitNet.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/FitNet" 7 | EXPERIMENT_NAME: "SOP_FitNet_Swin_Transformer_V2_Small_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "FitNet" 17 | TEACHER_NAME: "Swin_Transformer_V2_Small" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_Swin_Transformer_Small_256x256_75.70_88.46.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | FITNET: 23 | KD_WEIGHT: 2.0 24 | 25 | INPUT: 26 | STUDENT_SIZE_TRAIN: [64, 64] 27 | STUDENT_SIZE_TEST: [64, 64] 28 | STUDENT_PADDING: 2 29 | 30 | TEACHER_SIZE_TRAIN: [256, 256] 31 | TEACHER_SIZE_TEST: [256, 256] 32 | 33 | TEACHER_PADDING: 8 34 | RE_PROB: 0.5 35 | 36 | DATALOADER: 37 | NUM_WORKERS: 8 38 | NUM_INSTANCE: 6 39 | 40 | SOLVER: 41 | TRAINER: "kd" 42 | IMS_PER_BATCH: 96 43 | IMS_DISTILLATION_PER_BATCH: 256 44 | MAX_EPOCHS: 120 45 | BASE_LR: 0.01 46 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 47 | LR_WARMUP_EPOCHS: 10 48 | LR_WARMUP_FACTOR: 0.1 49 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 50 | OPTIMIZER_NAME: "SGD" 51 | 52 | CHECKPOINT_PERIOD: 120 53 | 54 | 55 | TEST: 56 | IMS_PER_BATCH: 512 57 | WEIGHT: 120 58 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_256x256_ResNet18_128x128/RAML.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RAML" 7 | EXPERIMENT_NAME: "CUB200_RAML_ResNet101_256x256_ResNet18_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RAML" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_256x256_71.30_81.57.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RAML: 23 | LAMBDA1: 0.7482 24 | LAMBDA2: 0.6778 25 | KD_WEIGHT: 10.0 26 | 27 | 28 | INPUT: 29 | STUDENT_SIZE_TRAIN: [128, 128] 30 | STUDENT_SIZE_TEST: [128, 128] 31 | STUDENT_PADDING: 4 32 | 33 | TEACHER_SIZE_TRAIN: [256, 256] 34 | TEACHER_SIZE_TEST: [256, 256] 35 | 36 | TEACHER_PADDING: 8 37 | RE_PROB: 0.0 38 | 39 | DATALOADER: 40 | NUM_WORKERS: 8 41 | NUM_INSTANCE: 6 42 | 43 | SOLVER: 44 | TRAINER: "kd" 45 | IMS_PER_BATCH: 96 46 | IMS_DISTILLATION_PER_BATCH: 256 47 | MAX_EPOCHS: 120 48 | BASE_LR: 0.01 49 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 50 | LR_WARMUP_EPOCHS: 10 51 | LR_WARMUP_FACTOR: 0.1 52 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 53 | OPTIMIZER_NAME: "SGD" 54 | 55 | CHECKPOINT_PERIOD: 120 56 | 57 | 58 | TEST: 59 | IMS_PER_BATCH: 512 60 | WEIGHT: 120 61 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_384x384_ResNet18_128x128/RAML.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RAML" 7 | EXPERIMENT_NAME: "CUB200_RAML_ResNet101_384x284_ResNet18_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RAML" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_384x384_76.53_85.05.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RAML: 23 | LAMBDA1: 0.7482 24 | LAMBDA2: 0.6778 25 | KD_WEIGHT: 10.0 26 | 27 | 28 | INPUT: 29 | STUDENT_SIZE_TRAIN: [128, 128] 30 | STUDENT_SIZE_TEST: [128, 128] 31 | STUDENT_PADDING: 4 32 | 33 | TEACHER_SIZE_TRAIN: [384, 384] 34 | TEACHER_SIZE_TEST: [384, 384] 35 | 36 | TEACHER_PADDING: 12 37 | RE_PROB: 0.0 38 | 39 | DATALOADER: 40 | NUM_WORKERS: 8 41 | NUM_INSTANCE: 6 42 | 43 | SOLVER: 44 | TRAINER: "kd" 45 | IMS_PER_BATCH: 96 46 | IMS_DISTILLATION_PER_BATCH: 256 47 | MAX_EPOCHS: 120 48 | BASE_LR: 0.01 49 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 50 | LR_WARMUP_EPOCHS: 10 51 | LR_WARMUP_FACTOR: 0.1 52 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 53 | OPTIMIZER_NAME: "SGD" 54 | 55 | CHECKPOINT_PERIOD: 120 56 | 57 | 58 | TEST: 59 | IMS_PER_BATCH: 512 60 | WEIGHT: 120 61 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_384x384_ResNet18_128x128/VanillaKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/VanillaKD" 7 | EXPERIMENT_NAME: "CUB200_VanillaKD_ResNet101_384x284_ResNet18_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "VanillaKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_384x384_76.53_85.05.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | VanillaKD: 23 | KD_WEIGHT: 1.0 24 | TEMPERATURE: 2.0 25 | 26 | 27 | INPUT: 28 | STUDENT_SIZE_TRAIN: [128, 128] 29 | STUDENT_SIZE_TEST: [128, 128] 30 | STUDENT_PADDING: 4 31 | 32 | TEACHER_SIZE_TRAIN: [384, 384] 33 | TEACHER_SIZE_TEST: [384, 384] 34 | 35 | TEACHER_PADDING: 12 36 | RE_PROB: 0.0 37 | 38 | DATALOADER: 39 | NUM_WORKERS: 8 40 | NUM_INSTANCE: 6 41 | 42 | SOLVER: 43 | TRAINER: "kd" 44 | IMS_PER_BATCH: 96 45 | IMS_DISTILLATION_PER_BATCH: 256 46 | MAX_EPOCHS: 120 47 | BASE_LR: 0.01 48 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 49 | LR_WARMUP_EPOCHS: 10 50 | LR_WARMUP_FACTOR: 0.1 51 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 52 | OPTIMIZER_NAME: "SGD" 53 | 54 | CHECKPOINT_PERIOD: 120 55 | 56 | 57 | TEST: 58 | IMS_PER_BATCH: 512 59 | WEIGHT: 120 60 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/Swin_Transformer_V2_Small_256x256_ResNet18_128x128/CC.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/CC" 7 | EXPERIMENT_NAME: "CUB200_CC_Swin_Transformer_V2_Small_256x256_ResNet18_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "CC" 17 | TEACHER_NAME: "Swin_Transformer_V2_Small" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_Swin_Transformer_Small_256x256_78.98_84.52.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | CC: 23 | KD_WEIGHT: 5.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [128, 128] 28 | STUDENT_SIZE_TEST: [128, 128] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [256, 256] 32 | TEACHER_SIZE_TEST: [256, 256] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.0 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_256x256_ResNet18_64x64/UGD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/UGD" 7 | EXPERIMENT_NAME: "InShop_UGD_ResNet101_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "UGD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_256x256_81.80_95.25.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | UGD: 23 | DISTILLATION_LAYER: 3 24 | ALPHA: 2.0 25 | BETA: 2.0 26 | KD_WEIGHT: 1.0 27 | 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [64, 64] 31 | STUDENT_SIZE_TEST: [64, 64] 32 | STUDENT_PADDING: 2 33 | 34 | TEACHER_SIZE_TRAIN: [256, 256] 35 | TEACHER_SIZE_TEST: [256, 256] 36 | 37 | TEACHER_PADDING: 8 38 | RE_PROB: 0.5 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 96 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_384x384_ResNet18_64x64/ROP.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/ROP" 7 | EXPERIMENT_NAME: "InShop_ROP_ResNet101_384x284_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "ROP" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_384x384_83.00_95.74.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | ROP: 23 | TOPK: 256 24 | TEMPERATURE: 0.1 25 | RANK_WEIGHT: 0.2 26 | KD_WEIGHT: 1.0 27 | 28 | INPUT: 29 | STUDENT_SIZE_TRAIN: [64, 64] 30 | STUDENT_SIZE_TEST: [64, 64] 31 | STUDENT_PADDING: 2 32 | 33 | TEACHER_SIZE_TRAIN: [384, 384] 34 | TEACHER_SIZE_TEST: [384, 384] 35 | 36 | TEACHER_PADDING: 12 37 | RE_PROB: 0.5 38 | 39 | DATALOADER: 40 | NUM_WORKERS: 8 41 | NUM_INSTANCE: 6 42 | 43 | SOLVER: 44 | TRAINER: "kd" 45 | IMS_PER_BATCH: 96 46 | IMS_DISTILLATION_PER_BATCH: 256 47 | MAX_EPOCHS: 120 48 | BASE_LR: 0.01 49 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 50 | LR_WARMUP_EPOCHS: 10 51 | LR_WARMUP_FACTOR: 0.1 52 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 53 | OPTIMIZER_NAME: "SGD" 54 | 55 | CHECKPOINT_PERIOD: 120 56 | 57 | 58 | TEST: 59 | IMS_PER_BATCH: 512 60 | WEIGHT: 120 61 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_384x384_ResNet18_64x64/UGD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/UGD" 7 | EXPERIMENT_NAME: "InShop_UGD_ResNet101_384x384_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "UGD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_384x384_83.01_95.74.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | UGD: 23 | DISTILLATION_LAYER: 3 24 | ALPHA: 2.0 25 | BETA: 2.0 26 | KD_WEIGHT: 1.0 27 | 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [64, 64] 31 | STUDENT_SIZE_TEST: [64, 64] 32 | STUDENT_PADDING: 2 33 | 34 | TEACHER_SIZE_TRAIN: [384, 384] 35 | TEACHER_SIZE_TEST: [384, 384] 36 | 37 | TEACHER_PADDING: 12 38 | RE_PROB: 0.5 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 96 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | -------------------------------------------------------------------------------- /Training_Configs/InShop/Swin_Transformer_V2_Small_256x256_ResNet18_64x64/RKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RKD" 7 | EXPERIMENT_NAME: "InShop_RKD_Swin_Transformer_V2_Small_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RKD" 17 | TEACHER_NAME: "Swin_Transformer_V2_Small" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_Swin_Transformer_Small_256x256_81.19_95.20.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RKD: 23 | KD_WEIGHT: 1.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [64, 64] 28 | STUDENT_SIZE_TEST: [64, 64] 29 | STUDENT_PADDING: 2 30 | 31 | TEACHER_SIZE_TRAIN: [256, 256] 32 | TEACHER_SIZE_TEST: [256, 256] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.5 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_256x256_MobileNetV3_64x64/VanillaKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/VanillaKD" 7 | EXPERIMENT_NAME: "SOP_VanillaKD_ResNet101_256x256_MobileNetV3_Small_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "VanillaKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_256x256_72.42_87.13.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | VanillaKD: 23 | KD_WEIGHT: 1.0 24 | TEMPERATURE: 2.0 25 | 26 | 27 | INPUT: 28 | STUDENT_SIZE_TRAIN: [64, 64] 29 | STUDENT_SIZE_TEST: [64, 64] 30 | STUDENT_PADDING: 2 31 | 32 | TEACHER_SIZE_TRAIN: [256, 256] 33 | TEACHER_SIZE_TEST: [256, 256] 34 | 35 | TEACHER_PADDING: 8 36 | RE_PROB: 0.5 37 | 38 | DATALOADER: 39 | NUM_WORKERS: 8 40 | NUM_INSTANCE: 6 41 | 42 | SOLVER: 43 | TRAINER: "kd" 44 | IMS_PER_BATCH: 96 45 | IMS_DISTILLATION_PER_BATCH: 256 46 | MAX_EPOCHS: 120 47 | BASE_LR: 0.01 48 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 49 | LR_WARMUP_EPOCHS: 10 50 | LR_WARMUP_FACTOR: 0.1 51 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 52 | OPTIMIZER_NAME: "SGD" 53 | 54 | CHECKPOINT_PERIOD: 120 55 | 56 | 57 | TEST: 58 | IMS_PER_BATCH: 512 59 | WEIGHT: 120 60 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/Swin_Transformer_V2_Small_256x256_ResNet18_128x128/RKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RKD" 7 | EXPERIMENT_NAME: "CUB200_RKD_Swin_Transformer_V2_Small_256x256_ResNet18_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RKD" 17 | TEACHER_NAME: "Swin_Transformer_V2_Small" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_Swin_Transformer_Small_256x256_78.98_84.52.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RKD: 23 | KD_WEIGHT: 1.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [128, 128] 28 | STUDENT_SIZE_TEST: [128, 128] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [256, 256] 32 | TEACHER_SIZE_TEST: [256, 256] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.0 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_256x256_MobileNetV3_64x64/VanillaKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/VanillaKD" 7 | EXPERIMENT_NAME: "InShop_VanillaKD_ResNet101_256x256_MobileNetV3_Small_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "VanillaKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_256x256_81.80_95.25.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | VanillaKD: 23 | KD_WEIGHT: 1.0 24 | TEMPERATURE: 2.0 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [64, 64] 28 | STUDENT_SIZE_TEST: [64, 64] 29 | STUDENT_PADDING: 2 30 | 31 | TEACHER_SIZE_TRAIN: [256, 256] 32 | TEACHER_SIZE_TEST: [256, 256] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.5 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_256x256_ResNet18_64x64/D3.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/D3" 7 | EXPERIMENT_NAME: "InShop_D3_ResNet101_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "D3" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_256x256_81.80_95.25.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | D3: 23 | TOPK: 10 24 | ALPHA: 100.0 25 | BETA: 5.0 26 | GAMMA: 1.0 27 | KD_WEIGHT: 1.0 28 | 29 | 30 | INPUT: 31 | STUDENT_SIZE_TRAIN: [64, 64] 32 | STUDENT_SIZE_TEST: [64, 64] 33 | STUDENT_PADDING: 2 34 | 35 | TEACHER_SIZE_TRAIN: [256, 256] 36 | TEACHER_SIZE_TEST: [256, 256] 37 | 38 | TEACHER_PADDING: 8 39 | RE_PROB: 0.5 40 | 41 | DATALOADER: 42 | NUM_WORKERS: 8 43 | NUM_INSTANCE: 6 44 | 45 | SOLVER: 46 | TRAINER: "kd" 47 | IMS_PER_BATCH: 96 48 | IMS_DISTILLATION_PER_BATCH: 256 49 | MAX_EPOCHS: 120 50 | BASE_LR: 0.01 51 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 52 | LR_WARMUP_EPOCHS: 10 53 | LR_WARMUP_FACTOR: 0.1 54 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 55 | OPTIMIZER_NAME: "SGD" 56 | 57 | CHECKPOINT_PERIOD: 120 58 | 59 | 60 | TEST: 61 | IMS_PER_BATCH: 512 62 | WEIGHT: 120 63 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_384x384_ResNet18_64x64/D3.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/D3" 7 | EXPERIMENT_NAME: "InShop_D3_ResNet101_384x284_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "D3" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_384x384_83.00_95.74.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | D3: 23 | TOPK: 10 24 | ALPHA: 100.0 25 | BETA: 5.0 26 | GAMMA: 1.0 27 | KD_WEIGHT: 1.0 28 | 29 | 30 | INPUT: 31 | STUDENT_SIZE_TRAIN: [64, 64] 32 | STUDENT_SIZE_TEST: [64, 64] 33 | STUDENT_PADDING: 2 34 | 35 | TEACHER_SIZE_TRAIN: [384, 384] 36 | TEACHER_SIZE_TEST: [384, 384] 37 | 38 | TEACHER_PADDING: 12 39 | RE_PROB: 0.5 40 | 41 | DATALOADER: 42 | NUM_WORKERS: 8 43 | NUM_INSTANCE: 6 44 | 45 | SOLVER: 46 | TRAINER: "kd" 47 | IMS_PER_BATCH: 96 48 | IMS_DISTILLATION_PER_BATCH: 256 49 | MAX_EPOCHS: 120 50 | BASE_LR: 0.01 51 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 52 | LR_WARMUP_EPOCHS: 10 53 | LR_WARMUP_FACTOR: 0.1 54 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 55 | OPTIMIZER_NAME: "SGD" 56 | 57 | CHECKPOINT_PERIOD: 120 58 | 59 | 60 | TEST: 61 | IMS_PER_BATCH: 512 62 | WEIGHT: 120 63 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_320x160_ResNet18_160x80/D3.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/D3" 7 | EXPERIMENT_NAME: "MSMT17_D3_ResNet101_320x160_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "D3" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_320x160_59.26_82.09.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | D3: 23 | TOPK: 10 24 | ALPHA: 50.0 25 | BETA: 2.0 26 | GAMMA: 1.0 27 | KD_WEIGHT: 1.0 28 | 29 | 30 | INPUT: 31 | STUDENT_SIZE_TRAIN: [160, 80] 32 | STUDENT_SIZE_TEST: [160, 80] 33 | STUDENT_PADDING: 4 34 | 35 | TEACHER_SIZE_TRAIN: [320, 160] 36 | TEACHER_SIZE_TEST: [320, 160] 37 | 38 | TEACHER_PADDING: 8 39 | RE_PROB: 0.5 40 | 41 | DATALOADER: 42 | NUM_WORKERS: 8 43 | NUM_INSTANCE: 6 44 | 45 | SOLVER: 46 | TRAINER: "kd" 47 | IMS_PER_BATCH: 96 48 | IMS_DISTILLATION_PER_BATCH: 256 49 | MAX_EPOCHS: 120 50 | BASE_LR: 0.01 51 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 52 | LR_WARMUP_EPOCHS: 10 53 | LR_WARMUP_FACTOR: 0.1 54 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 55 | OPTIMIZER_NAME: "SGD" 56 | 57 | CHECKPOINT_PERIOD: 120 58 | 59 | 60 | TEST: 61 | IMS_PER_BATCH: 512 62 | WEIGHT: 120 63 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_320x160_ResNet18_160x80/ROP.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/ROP" 7 | EXPERIMENT_NAME: "MSMT17_ROP_ResNet101_320x160_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "ROP" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_320x160_59.26_82.09.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | ROP: 23 | TOPK: 256 24 | TEMPERATURE: 0.1 25 | RANK_WEIGHT: 0.2 26 | KD_WEIGHT: 0.5 27 | 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [160, 80] 31 | STUDENT_SIZE_TEST: [160, 80] 32 | STUDENT_PADDING: 4 33 | 34 | TEACHER_SIZE_TRAIN: [320, 160] 35 | TEACHER_SIZE_TEST: [320, 160] 36 | 37 | TEACHER_PADDING: 8 38 | RE_PROB: 0.5 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 256 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_320x160_ResNet18_160x80/UGD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/UGD" 7 | EXPERIMENT_NAME: "MSMT17_UGD_ResNet101_320x160_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "UGD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_320x160_59.26_82.09.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | UGD: 23 | DISTILLATION_LAYER: 3 24 | ALPHA: 1.0 25 | BETA: 2.0 26 | KD_WEIGHT: 1.0 27 | 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [160, 80] 31 | STUDENT_SIZE_TEST: [160, 80] 32 | STUDENT_PADDING: 4 33 | 34 | TEACHER_SIZE_TRAIN: [320, 160] 35 | TEACHER_SIZE_TEST: [320, 160] 36 | 37 | TEACHER_PADDING: 8 38 | RE_PROB: 0.5 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 96 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_480x240_ResNet18_160x80/D3.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/D3" 7 | EXPERIMENT_NAME: "MSMT17_D3_ResNet101_480x240_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "D3" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_480x240_62.52_83.88.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | D3: 23 | TOPK: 10 24 | ALPHA: 50.0 25 | BETA: 2.0 26 | GAMMA: 1.0 27 | KD_WEIGHT: 1.0 28 | 29 | 30 | INPUT: 31 | STUDENT_SIZE_TRAIN: [160, 80] 32 | STUDENT_SIZE_TEST: [160, 80] 33 | STUDENT_PADDING: 4 34 | 35 | TEACHER_SIZE_TRAIN: [480, 240] 36 | TEACHER_SIZE_TEST: [480, 240] 37 | 38 | TEACHER_PADDING: 12 39 | RE_PROB: 0.5 40 | 41 | DATALOADER: 42 | NUM_WORKERS: 8 43 | NUM_INSTANCE: 6 44 | 45 | SOLVER: 46 | TRAINER: "kd" 47 | IMS_PER_BATCH: 96 48 | IMS_DISTILLATION_PER_BATCH: 256 49 | MAX_EPOCHS: 120 50 | BASE_LR: 0.01 51 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 52 | LR_WARMUP_EPOCHS: 10 53 | LR_WARMUP_FACTOR: 0.1 54 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 55 | OPTIMIZER_NAME: "SGD" 56 | 57 | CHECKPOINT_PERIOD: 120 58 | 59 | 60 | TEST: 61 | IMS_PER_BATCH: 512 62 | WEIGHT: 120 63 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_480x240_ResNet18_160x80/ROP.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/ROP" 7 | EXPERIMENT_NAME: "MSMT17_ROP_ResNet101_480x240_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "ROP" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_480x240_62.52_83.88.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | ROP: 23 | TOPK: 256 24 | TEMPERATURE: 0.1 25 | RANK_WEIGHT: 0.2 26 | KD_WEIGHT: 0.5 27 | 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [160, 80] 31 | STUDENT_SIZE_TEST: [160, 80] 32 | STUDENT_PADDING: 4 33 | 34 | TEACHER_SIZE_TRAIN: [480, 240] 35 | TEACHER_SIZE_TEST: [480, 240] 36 | 37 | TEACHER_PADDING: 12 38 | RE_PROB: 0.5 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 256 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_480x240_ResNet18_160x80/UGD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/UGD" 7 | EXPERIMENT_NAME: "MSMT17_UGD_ResNet101_480x240_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "UGD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_480x240_62.52_83.88.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | UGD: 23 | DISTILLATION_LAYER: 3 24 | ALPHA: 1.0 25 | BETA: 2.0 26 | KD_WEIGHT: 1.0 27 | 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [160, 80] 31 | STUDENT_SIZE_TEST: [160, 80] 32 | STUDENT_PADDING: 4 33 | 34 | TEACHER_SIZE_TRAIN: [480, 240] 35 | TEACHER_SIZE_TEST: [480, 240] 36 | 37 | TEACHER_PADDING: 12 38 | RE_PROB: 0.5 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 96 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_256x256_MobileNetV3_64x64/D3.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/D3" 7 | EXPERIMENT_NAME: "SOP_D3_ResNet101_256x256_MobileNetV3_Small_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "D3" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_256x256_72.42_87.13.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | D3: 23 | TOPK: 10 24 | ALPHA: 200.0 25 | BETA: 10.0 26 | GAMMA: 2.0 27 | KD_WEIGHT: 1.0 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [64, 64] 31 | STUDENT_SIZE_TEST: [64, 64] 32 | STUDENT_PADDING: 2 33 | 34 | TEACHER_SIZE_TRAIN: [256, 256] 35 | TEACHER_SIZE_TEST: [256, 256] 36 | 37 | TEACHER_PADDING: 8 38 | RE_PROB: 0.5 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 256 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_256x256_MobileNetV3_64x64/ROP.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/ROP" 7 | EXPERIMENT_NAME: "SOP_ROP_ResNet101_256x256_MobileNetV3_Small_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "ROP" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_256x256_72.42_87.13.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | ROP: 23 | TOPK: 256 24 | TEMPERATURE: 0.1 25 | RANK_WEIGHT: 0.2 26 | KD_WEIGHT: 2.0 27 | 28 | INPUT: 29 | STUDENT_SIZE_TRAIN: [64, 64] 30 | STUDENT_SIZE_TEST: [64, 64] 31 | STUDENT_PADDING: 2 32 | 33 | TEACHER_SIZE_TRAIN: [256, 256] 34 | TEACHER_SIZE_TEST: [256, 256] 35 | 36 | TEACHER_PADDING: 8 37 | RE_PROB: 0.5 38 | 39 | DATALOADER: 40 | NUM_WORKERS: 8 41 | NUM_INSTANCE: 6 42 | 43 | SOLVER: 44 | TRAINER: "kd" 45 | IMS_PER_BATCH: 96 46 | IMS_DISTILLATION_PER_BATCH: 256 47 | MAX_EPOCHS: 120 48 | BASE_LR: 0.01 49 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 50 | LR_WARMUP_EPOCHS: 10 51 | LR_WARMUP_FACTOR: 0.1 52 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 53 | OPTIMIZER_NAME: "SGD" 54 | 55 | CHECKPOINT_PERIOD: 120 56 | 57 | 58 | TEST: 59 | IMS_PER_BATCH: 512 60 | WEIGHT: 120 61 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_256x256_MobileNetV3_64x64/UGD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/UGD" 7 | EXPERIMENT_NAME: "SOP_UGD_ResNet101_256x256_MobileNetV3_Small_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "UGD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_256x256_72.42_87.13.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | UGD: 23 | DISTILLATION_LAYER: 3 24 | ALPHA: 5.0 25 | BETA: 2.0 26 | KD_WEIGHT: 1.0 27 | 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [64, 64] 31 | STUDENT_SIZE_TEST: [64, 64] 32 | STUDENT_PADDING: 2 33 | 34 | TEACHER_SIZE_TRAIN: [256, 256] 35 | TEACHER_SIZE_TEST: [256, 256] 36 | 37 | TEACHER_PADDING: 8 38 | RE_PROB: 0.5 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 96 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_256x256_ResNet18_128x128/D3.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/D3" 7 | EXPERIMENT_NAME: "CUB200_D3_ResNet101_256x256_ResNet18_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "D3" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_256x256_71.30_81.57.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | D3: 23 | TOPK: 10 24 | ALPHA: 100.0 25 | BETA: 5.0 26 | GAMMA: 1.0 27 | KD_WEIGHT: 1.0 28 | 29 | 30 | INPUT: 31 | STUDENT_SIZE_TRAIN: [128, 128] 32 | STUDENT_SIZE_TEST: [128, 128] 33 | STUDENT_PADDING: 4 34 | 35 | TEACHER_SIZE_TRAIN: [256, 256] 36 | TEACHER_SIZE_TEST: [256, 256] 37 | 38 | TEACHER_PADDING: 8 39 | RE_PROB: 0.0 40 | 41 | DATALOADER: 42 | NUM_WORKERS: 8 43 | NUM_INSTANCE: 6 44 | 45 | SOLVER: 46 | TRAINER: "kd" 47 | IMS_PER_BATCH: 96 48 | IMS_DISTILLATION_PER_BATCH: 256 49 | MAX_EPOCHS: 120 50 | BASE_LR: 0.01 51 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 52 | LR_WARMUP_EPOCHS: 10 53 | LR_WARMUP_FACTOR: 0.1 54 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 55 | OPTIMIZER_NAME: "SGD" 56 | 57 | CHECKPOINT_PERIOD: 120 58 | 59 | 60 | TEST: 61 | IMS_PER_BATCH: 512 62 | WEIGHT: 120 63 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_256x256_ResNet18_128x128/UGD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/UGD" 7 | EXPERIMENT_NAME: "CUB200_UGD_ResNet101_256x256_ResNet18_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "UGD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_256x256_71.30_81.57.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | UGD: 23 | DISTILLATION_LAYER: 3 24 | ALPHA: 2.0 25 | BETA: 2.0 26 | KD_WEIGHT: 1.0 27 | 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [128, 128] 31 | STUDENT_SIZE_TEST: [128, 128] 32 | STUDENT_PADDING: 4 33 | 34 | TEACHER_SIZE_TRAIN: [256, 256] 35 | TEACHER_SIZE_TEST: [256, 256] 36 | 37 | TEACHER_PADDING: 8 38 | RE_PROB: 0.0 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 96 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_384x384_ResNet18_128x128/UGD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/UGD" 7 | EXPERIMENT_NAME: "CUB200_UGD_ResNet101_384x284_ResNet18_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "UGD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_384x384_76.53_85.05.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | UGD: 23 | DISTILLATION_LAYER: 3 24 | ALPHA: 2.0 25 | BETA: 2.0 26 | KD_WEIGHT: 1.0 27 | 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [128, 128] 31 | STUDENT_SIZE_TEST: [128, 128] 32 | STUDENT_PADDING: 4 33 | 34 | TEACHER_SIZE_TRAIN: [384, 384] 35 | TEACHER_SIZE_TEST: [384, 384] 36 | 37 | TEACHER_PADDING: 12 38 | RE_PROB: 0.0 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 96 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/Swin_Transformer_V2_Small_256x256_ResNet18_128x128/PKT.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/PKT" 7 | EXPERIMENT_NAME: "CUB200_PKT_Swin_Transformer_V2_Small_256x256_ResNet18_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "PKT" 17 | TEACHER_NAME: "Swin_Transformer_V2_Small" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_Swin_Transformer_Small_256x256_78.98_84.52.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | PKT: 23 | KD_WEIGHT: 30000.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [128, 128] 28 | STUDENT_SIZE_TEST: [128, 128] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [256, 256] 32 | TEACHER_SIZE_TEST: [256, 256] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.0 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_256x256_MobileNetV3_64x64/RAML.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RAML" 7 | EXPERIMENT_NAME: "InShop_RAML_ResNet101_256x256_MobileNetV3_Small_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RAML" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_256x256_81.80_95.25.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RAML: 23 | LAMBDA1: 0.7482 24 | LAMBDA2: 0.6778 25 | KD_WEIGHT: 20.0 26 | 27 | 28 | INPUT: 29 | STUDENT_SIZE_TRAIN: [64, 64] 30 | STUDENT_SIZE_TEST: [64, 64] 31 | STUDENT_PADDING: 2 32 | 33 | TEACHER_SIZE_TRAIN: [256, 256] 34 | TEACHER_SIZE_TEST: [256, 256] 35 | 36 | TEACHER_PADDING: 8 37 | RE_PROB: 0.5 38 | 39 | DATALOADER: 40 | NUM_WORKERS: 8 41 | NUM_INSTANCE: 6 42 | 43 | SOLVER: 44 | TRAINER: "kd" 45 | IMS_PER_BATCH: 96 46 | IMS_DISTILLATION_PER_BATCH: 256 47 | MAX_EPOCHS: 120 48 | BASE_LR: 0.01 49 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 50 | LR_WARMUP_EPOCHS: 10 51 | LR_WARMUP_FACTOR: 0.1 52 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 53 | OPTIMIZER_NAME: "SGD" 54 | 55 | CHECKPOINT_PERIOD: 120 56 | 57 | 58 | TEST: 59 | IMS_PER_BATCH: 512 60 | WEIGHT: 120 61 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_256x256_ResNet18_64x64/CSD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/CSD" 7 | EXPERIMENT_NAME: "InShop_CSD_ResNet101_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "CSD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_256x256_81.80_95.25.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | CSD: 23 | TOPK: 256 24 | TEMPERATURE_QUERY: 1 25 | TEMPERATURE_GALLERY: 0.01 26 | KD_WEIGHT: 10.0 27 | 28 | INPUT: 29 | STUDENT_SIZE_TRAIN: [64, 64] 30 | STUDENT_SIZE_TEST: [64, 64] 31 | STUDENT_PADDING: 2 32 | 33 | TEACHER_SIZE_TRAIN: [256, 256] 34 | TEACHER_SIZE_TEST: [256, 256] 35 | 36 | TEACHER_PADDING: 8 37 | RE_PROB: 0.5 38 | 39 | DATALOADER: 40 | NUM_WORKERS: 8 41 | NUM_INSTANCE: 6 42 | 43 | SOLVER: 44 | TRAINER: "kd" 45 | IMS_PER_BATCH: 96 46 | IMS_DISTILLATION_PER_BATCH: 256 47 | MAX_EPOCHS: 120 48 | BASE_LR: 0.01 49 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 50 | LR_WARMUP_EPOCHS: 10 51 | LR_WARMUP_FACTOR: 0.1 52 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 53 | OPTIMIZER_NAME: "SGD" 54 | 55 | CHECKPOINT_PERIOD: 120 56 | 57 | 58 | TEST: 59 | IMS_PER_BATCH: 512 60 | WEIGHT: 120 61 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_384x384_ResNet18_64x64/CSD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/CSD" 7 | EXPERIMENT_NAME: "InShop_CSD_ResNet101_384x284_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "CSD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_384x384_83.00_95.74.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | CSD: 23 | TOPK: 256 24 | TEMPERATURE_QUERY: 1 25 | TEMPERATURE_GALLERY: 0.01 26 | KD_WEIGHT: 10.0 27 | 28 | INPUT: 29 | STUDENT_SIZE_TRAIN: [64, 64] 30 | STUDENT_SIZE_TEST: [64, 64] 31 | STUDENT_PADDING: 2 32 | 33 | TEACHER_SIZE_TRAIN: [384, 384] 34 | TEACHER_SIZE_TEST: [384, 384] 35 | 36 | TEACHER_PADDING: 12 37 | RE_PROB: 0.5 38 | 39 | DATALOADER: 40 | NUM_WORKERS: 8 41 | NUM_INSTANCE: 6 42 | 43 | SOLVER: 44 | TRAINER: "kd" 45 | IMS_PER_BATCH: 96 46 | IMS_DISTILLATION_PER_BATCH: 256 47 | MAX_EPOCHS: 120 48 | BASE_LR: 0.01 49 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 50 | LR_WARMUP_EPOCHS: 10 51 | LR_WARMUP_FACTOR: 0.1 52 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 53 | OPTIMIZER_NAME: "SGD" 54 | 55 | CHECKPOINT_PERIOD: 120 56 | 57 | 58 | TEST: 59 | IMS_PER_BATCH: 512 60 | WEIGHT: 120 61 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_IBN_320x160_ResNet18_160x80/RAML.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RAML" 7 | EXPERIMENT_NAME: "MSMT17_RAML_ResNet101_IBN_320x160_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RAML" 17 | TEACHER_NAME: "ResNet101_ibn_a" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_IBN_320x160_64.13_84.49.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RAML: 23 | LAMBDA1: 0.7482 24 | LAMBDA2: 0.6778 25 | KD_WEIGHT: 5.0 26 | 27 | 28 | INPUT: 29 | STUDENT_SIZE_TRAIN: [160, 80] 30 | STUDENT_SIZE_TEST: [160, 80] 31 | STUDENT_PADDING: 4 32 | 33 | TEACHER_SIZE_TRAIN: [320, 160] 34 | TEACHER_SIZE_TEST: [320, 160] 35 | 36 | TEACHER_PADDING: 8 37 | RE_PROB: 0.5 38 | 39 | DATALOADER: 40 | NUM_WORKERS: 8 41 | NUM_INSTANCE: 6 42 | 43 | SOLVER: 44 | TRAINER: "kd" 45 | IMS_PER_BATCH: 96 46 | IMS_DISTILLATION_PER_BATCH: 256 47 | MAX_EPOCHS: 120 48 | BASE_LR: 0.01 49 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 50 | LR_WARMUP_EPOCHS: 10 51 | LR_WARMUP_FACTOR: 0.1 52 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 53 | OPTIMIZER_NAME: "SGD" 54 | 55 | CHECKPOINT_PERIOD: 120 56 | 57 | 58 | TEST: 59 | IMS_PER_BATCH: 512 60 | WEIGHT: 120 61 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_IBN_320x160_ResNet18_160x80/VanillaKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/VanillaKD" 7 | EXPERIMENT_NAME: "MSMT17_VanillaKD_ResNet101_IBN_320x160_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "VanillaKD" 17 | TEACHER_NAME: "ResNet101_ibn_a" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_IBN_320x160_64.13_84.49.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | VanillaKD: 23 | KD_WEIGHT: 1.0 24 | TEMPERATURE: 2.0 25 | 26 | 27 | INPUT: 28 | STUDENT_SIZE_TRAIN: [160, 80] 29 | STUDENT_SIZE_TEST: [160, 80] 30 | STUDENT_PADDING: 4 31 | 32 | TEACHER_SIZE_TRAIN: [320, 160] 33 | TEACHER_SIZE_TEST: [320, 160] 34 | 35 | TEACHER_PADDING: 8 36 | RE_PROB: 0.5 37 | 38 | DATALOADER: 39 | NUM_WORKERS: 8 40 | NUM_INSTANCE: 6 41 | 42 | SOLVER: 43 | TRAINER: "kd" 44 | IMS_PER_BATCH: 96 45 | IMS_DISTILLATION_PER_BATCH: 96 46 | MAX_EPOCHS: 120 47 | BASE_LR: 0.01 48 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 49 | LR_WARMUP_EPOCHS: 10 50 | LR_WARMUP_FACTOR: 0.1 51 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 52 | OPTIMIZER_NAME: "SGD" 53 | 54 | CHECKPOINT_PERIOD: 120 55 | 56 | 57 | TEST: 58 | IMS_PER_BATCH: 512 59 | WEIGHT: 120 60 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_384x384_ResNet18_128x128/ROP.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/ROP" 7 | EXPERIMENT_NAME: "CUB200_ROP_ResNet101_384x284_ResNet18_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "ROP" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_384x384_76.53_85.05.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | ROP: 23 | TOPK: 256 24 | TEMPERATURE: 0.1 25 | RANK_WEIGHT: 0.2 26 | KD_WEIGHT: 1.0 27 | 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [128, 128] 31 | STUDENT_SIZE_TEST: [128, 128] 32 | STUDENT_PADDING: 4 33 | 34 | TEACHER_SIZE_TRAIN: [384, 384] 35 | TEACHER_SIZE_TEST: [384, 384] 36 | 37 | TEACHER_PADDING: 12 38 | RE_PROB: 0.0 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 256 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | -------------------------------------------------------------------------------- /Training_Configs/InShop/Swin_Transformer_V2_Small_256x256_ResNet18_64x64/FitNet.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/FitNet" 7 | EXPERIMENT_NAME: "InShop_FitNet_Swin_Transformer_V2_Small_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "FitNet" 17 | TEACHER_NAME: "Swin_Transformer_V2_Small" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_Swin_Transformer_Small_256x256_81.19_95.20.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | FITNET: 23 | KD_WEIGHT: 2.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [64, 64] 28 | STUDENT_SIZE_TEST: [64, 64] 29 | STUDENT_PADDING: 2 30 | 31 | TEACHER_SIZE_TRAIN: [256, 256] 32 | TEACHER_SIZE_TEST: [256, 256] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.5 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_320x160_MobileNetV3_160x80/RAML.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RAML" 7 | EXPERIMENT_NAME: "MSMT17_RAML_ResNet101_320x160_MobileNetV3_Small_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RAML" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_320x160_59.26_82.09.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RAML: 23 | LAMBDA1: 0.7482 24 | LAMBDA2: 0.6778 25 | KD_WEIGHT: 10.0 26 | 27 | 28 | INPUT: 29 | STUDENT_SIZE_TRAIN: [160, 80] 30 | STUDENT_SIZE_TEST: [160, 80] 31 | STUDENT_PADDING: 4 32 | 33 | TEACHER_SIZE_TRAIN: [320, 160] 34 | TEACHER_SIZE_TEST: [320, 160] 35 | 36 | TEACHER_PADDING: 8 37 | RE_PROB: 0.5 38 | 39 | DATALOADER: 40 | NUM_WORKERS: 8 41 | NUM_INSTANCE: 6 42 | 43 | SOLVER: 44 | TRAINER: "kd" 45 | IMS_PER_BATCH: 96 46 | IMS_DISTILLATION_PER_BATCH: 256 47 | MAX_EPOCHS: 120 48 | BASE_LR: 0.01 49 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 50 | LR_WARMUP_EPOCHS: 10 51 | LR_WARMUP_FACTOR: 0.1 52 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 53 | OPTIMIZER_NAME: "SGD" 54 | 55 | CHECKPOINT_PERIOD: 120 56 | 57 | 58 | TEST: 59 | IMS_PER_BATCH: 512 60 | WEIGHT: 120 61 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_256x256_MobileNetV3_128x128/RAML.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/RAML" 7 | EXPERIMENT_NAME: "CUB200_RAML_ResNet101_256x256_MobileNetV3_Small_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "RAML" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_256x256_71.30_81.57.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | RAML: 23 | LAMBDA1: 0.7482 24 | LAMBDA2: 0.6778 25 | KD_WEIGHT: 20.0 26 | 27 | 28 | INPUT: 29 | STUDENT_SIZE_TRAIN: [128, 128] 30 | STUDENT_SIZE_TEST: [128, 128] 31 | STUDENT_PADDING: 4 32 | 33 | TEACHER_SIZE_TRAIN: [256, 256] 34 | TEACHER_SIZE_TEST: [256, 256] 35 | 36 | TEACHER_PADDING: 8 37 | RE_PROB: 0.0 38 | 39 | DATALOADER: 40 | NUM_WORKERS: 8 41 | NUM_INSTANCE: 6 42 | 43 | SOLVER: 44 | TRAINER: "kd" 45 | IMS_PER_BATCH: 96 46 | IMS_DISTILLATION_PER_BATCH: 256 47 | MAX_EPOCHS: 120 48 | BASE_LR: 0.01 49 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 50 | LR_WARMUP_EPOCHS: 10 51 | LR_WARMUP_FACTOR: 0.1 52 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 53 | OPTIMIZER_NAME: "SGD" 54 | 55 | CHECKPOINT_PERIOD: 120 56 | 57 | 58 | TEST: 59 | IMS_PER_BATCH: 512 60 | WEIGHT: 120 61 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/Swin_Transformer_V2_Small_256x256_ResNet18_128x128/FitNet.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/FitNet" 7 | EXPERIMENT_NAME: "CUB200_FitNet_Swin_Transformer_V2_Small_256x256_ResNet18_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "FitNet" 17 | TEACHER_NAME: "Swin_Transformer_V2_Small" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_Swin_Transformer_Small_256x256_78.98_84.52.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | FITNET: 23 | KD_WEIGHT: 2.0 24 | 25 | 26 | INPUT: 27 | STUDENT_SIZE_TRAIN: [128, 128] 28 | STUDENT_SIZE_TEST: [128, 128] 29 | STUDENT_PADDING: 4 30 | 31 | TEACHER_SIZE_TRAIN: [256, 256] 32 | TEACHER_SIZE_TEST: [256, 256] 33 | 34 | TEACHER_PADDING: 8 35 | RE_PROB: 0.0 36 | 37 | DATALOADER: 38 | NUM_WORKERS: 8 39 | NUM_INSTANCE: 6 40 | 41 | SOLVER: 42 | TRAINER: "kd" 43 | IMS_PER_BATCH: 96 44 | IMS_DISTILLATION_PER_BATCH: 256 45 | MAX_EPOCHS: 120 46 | BASE_LR: 0.01 47 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 48 | LR_WARMUP_EPOCHS: 10 49 | LR_WARMUP_FACTOR: 0.1 50 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 51 | OPTIMIZER_NAME: "SGD" 52 | 53 | CHECKPOINT_PERIOD: 120 54 | 55 | 56 | TEST: 57 | IMS_PER_BATCH: 512 58 | WEIGHT: 120 59 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_256x256_MobileNetV3_64x64/ROP.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/ROP" 7 | EXPERIMENT_NAME: "InShop_ROP_ResNet101_256x256_MobileNetV3_Small_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "ROP" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_256x256_81.80_95.25.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | ROP: 23 | TOPK: 256 24 | TEMPERATURE: 0.1 25 | RANK_WEIGHT: 0.2 26 | KD_WEIGHT: 2.0 27 | 28 | INPUT: 29 | STUDENT_SIZE_TRAIN: [64, 64] 30 | STUDENT_SIZE_TEST: [64, 64] 31 | STUDENT_PADDING: 2 32 | 33 | TEACHER_SIZE_TRAIN: [256, 256] 34 | TEACHER_SIZE_TEST: [256, 256] 35 | 36 | TEACHER_PADDING: 8 37 | RE_PROB: 0.5 38 | 39 | DATALOADER: 40 | NUM_WORKERS: 8 41 | NUM_INSTANCE: 6 42 | 43 | SOLVER: 44 | TRAINER: "kd" 45 | IMS_PER_BATCH: 96 46 | IMS_DISTILLATION_PER_BATCH: 256 47 | MAX_EPOCHS: 120 48 | BASE_LR: 0.01 49 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 50 | LR_WARMUP_EPOCHS: 10 51 | LR_WARMUP_FACTOR: 0.1 52 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 53 | OPTIMIZER_NAME: "SGD" 54 | 55 | CHECKPOINT_PERIOD: 120 56 | 57 | 58 | TEST: 59 | IMS_PER_BATCH: 512 60 | WEIGHT: 120 61 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_256x256_MobileNetV3_64x64/UGD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/UGD" 7 | EXPERIMENT_NAME: "InShop_UGD_ResNet101_256x256_MobileNetV3_Small_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "UGD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_256x256_81.80_95.25.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | UGD: 23 | DISTILLATION_LAYER: 3 24 | ALPHA: 5.0 25 | BETA: 2.0 26 | KD_WEIGHT: 1.0 27 | 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [64, 64] 31 | STUDENT_SIZE_TEST: [64, 64] 32 | STUDENT_PADDING: 2 33 | 34 | TEACHER_SIZE_TRAIN: [256, 256] 35 | TEACHER_SIZE_TEST: [256, 256] 36 | 37 | TEACHER_PADDING: 8 38 | RE_PROB: 0.5 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 96 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_320x160_ResNet18_160x80/CSD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/CSD" 7 | EXPERIMENT_NAME: "MSMT17_CSD_ResNet101_320x160_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "CSD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_320x160_59.26_82.09.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | CSD: 23 | TOPK: 256 24 | TEMPERATURE_QUERY: 1 25 | TEMPERATURE_GALLERY: 0.01 26 | KD_WEIGHT: 5.0 27 | 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [160, 80] 31 | STUDENT_SIZE_TEST: [160, 80] 32 | STUDENT_PADDING: 4 33 | 34 | TEACHER_SIZE_TRAIN: [320, 160] 35 | TEACHER_SIZE_TEST: [320, 160] 36 | 37 | TEACHER_PADDING: 8 38 | RE_PROB: 0.5 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 256 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | -------------------------------------------------------------------------------- /Training_Configs/SOP/ResNet101_256x256_ResNet18_64x64/CSD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/CSD" 7 | EXPERIMENT_NAME: "SOP_CSD_ResNet101_256x256_ResNet18_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "SOP" 12 | ROOT_DIR: "/home/data1/xieyi/data" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "CSD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/SOP_Teachers/SOP_ResNet101_256x256_72.42_87.13.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | CSD: 23 | TOPK: 256 24 | TEMPERATURE_QUERY: 1 25 | TEMPERATURE_GALLERY: 0.01 26 | KD_WEIGHT: 10.0 27 | 28 | INPUT: 29 | STUDENT_SIZE_TRAIN: [64, 64] 30 | STUDENT_SIZE_TEST: [64, 64] 31 | STUDENT_PADDING: 2 32 | 33 | TEACHER_SIZE_TRAIN: [256, 256] 34 | TEACHER_SIZE_TEST: [256, 256] 35 | 36 | TEACHER_PADDING: 8 37 | RE_PROB: 0.5 38 | 39 | DATALOADER: 40 | NUM_WORKERS: 8 41 | NUM_INSTANCE: 6 42 | 43 | SOLVER: 44 | TRAINER: "kd" 45 | IMS_PER_BATCH: 96 46 | IMS_DISTILLATION_PER_BATCH: 256 47 | MAX_EPOCHS: 120 48 | BASE_LR: 0.01 49 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 50 | LR_WARMUP_EPOCHS: 10 51 | LR_WARMUP_FACTOR: 0.1 52 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 53 | OPTIMIZER_NAME: "SGD" 54 | 55 | CHECKPOINT_PERIOD: 120 56 | 57 | 58 | TEST: 59 | IMS_PER_BATCH: 512 60 | WEIGHT: 120 61 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_256x256_MobileNetV3_128x128/ROP.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/ROP" 7 | EXPERIMENT_NAME: "CUB200_ROP_ResNet101_256x256_MobileNetV3_Small_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "ROP" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_256x256_71.30_81.57.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | ROP: 23 | TOPK: 256 24 | TEMPERATURE: 0.1 25 | RANK_WEIGHT: 0.2 26 | KD_WEIGHT: 2.0 27 | 28 | INPUT: 29 | STUDENT_SIZE_TRAIN: [128, 128] 30 | STUDENT_SIZE_TEST: [128, 128] 31 | STUDENT_PADDING: 4 32 | 33 | TEACHER_SIZE_TRAIN: [256, 256] 34 | TEACHER_SIZE_TEST: [256, 256] 35 | 36 | TEACHER_PADDING: 8 37 | RE_PROB: 0.0 38 | 39 | DATALOADER: 40 | NUM_WORKERS: 8 41 | NUM_INSTANCE: 6 42 | 43 | SOLVER: 44 | TRAINER: "kd" 45 | IMS_PER_BATCH: 96 46 | IMS_DISTILLATION_PER_BATCH: 256 47 | MAX_EPOCHS: 120 48 | BASE_LR: 0.01 49 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 50 | LR_WARMUP_EPOCHS: 10 51 | LR_WARMUP_FACTOR: 0.1 52 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 53 | OPTIMIZER_NAME: "SGD" 54 | 55 | CHECKPOINT_PERIOD: 120 56 | 57 | 58 | TEST: 59 | IMS_PER_BATCH: 512 60 | WEIGHT: 120 61 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_256x256_MobileNetV3_128x128/VanillaKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/VanillaKD" 7 | EXPERIMENT_NAME: "CUB200_VanillaKD_ResNet101_256x256_MobileNetV3_Small_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "VanillaKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_256x256_71.30_81.57.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | 23 | VanillaKD: 24 | KD_WEIGHT: 1.0 25 | TEMPERATURE: 2.0 26 | 27 | 28 | INPUT: 29 | STUDENT_SIZE_TRAIN: [128, 128] 30 | STUDENT_SIZE_TEST: [128, 128] 31 | STUDENT_PADDING: 4 32 | 33 | TEACHER_SIZE_TRAIN: [256, 256] 34 | TEACHER_SIZE_TEST: [256, 256] 35 | 36 | TEACHER_PADDING: 8 37 | RE_PROB: 0.0 38 | 39 | DATALOADER: 40 | NUM_WORKERS: 8 41 | NUM_INSTANCE: 6 42 | 43 | SOLVER: 44 | TRAINER: "kd" 45 | IMS_PER_BATCH: 96 46 | IMS_DISTILLATION_PER_BATCH: 256 47 | MAX_EPOCHS: 120 48 | BASE_LR: 0.01 49 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 50 | LR_WARMUP_EPOCHS: 10 51 | LR_WARMUP_FACTOR: 0.1 52 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 53 | OPTIMIZER_NAME: "SGD" 54 | 55 | CHECKPOINT_PERIOD: 120 56 | 57 | 58 | TEST: 59 | IMS_PER_BATCH: 512 60 | WEIGHT: 120 61 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_256x256_ResNet18_128x128/CSD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/CSD" 7 | EXPERIMENT_NAME: "CUB200_CSD_ResNet101_256x256_ResNet18_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "CSD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_256x256_71.30_81.57.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | CSD: 23 | TOPK: 256 24 | TEMPERATURE_QUERY: 1 25 | TEMPERATURE_GALLERY: 0.01 26 | KD_WEIGHT: 10.0 27 | 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [128, 128] 31 | STUDENT_SIZE_TEST: [128, 128] 32 | STUDENT_PADDING: 4 33 | 34 | TEACHER_SIZE_TRAIN: [256, 256] 35 | TEACHER_SIZE_TEST: [256, 256] 36 | 37 | TEACHER_PADDING: 8 38 | RE_PROB: 0.0 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 256 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_384x384_ResNet18_128x128/CSD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/CSD" 7 | EXPERIMENT_NAME: "CUB200_CSD_ResNet101_384x284_ResNet18_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "CSD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_384x384_76.53_85.05.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | CSD: 23 | TOPK: 256 24 | TEMPERATURE_QUERY: 1 25 | TEMPERATURE_GALLERY: 0.01 26 | KD_WEIGHT: 10.0 27 | 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [128, 128] 31 | STUDENT_SIZE_TEST: [128, 128] 32 | STUDENT_PADDING: 4 33 | 34 | TEACHER_SIZE_TRAIN: [384, 384] 35 | TEACHER_SIZE_TEST: [384, 384] 36 | 37 | TEACHER_PADDING: 12 38 | RE_PROB: 0.0 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 256 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | -------------------------------------------------------------------------------- /Training_Configs/InShop/ResNet101_256x256_MobileNetV3_64x64/D3.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/D3" 7 | EXPERIMENT_NAME: "InShop_D3_ResNet101_256x256_MobileNetV3_Small_64x64" 8 | 9 | 10 | DATASETS: 11 | NAMES: "InShop" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "D3" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/InShop_Teachers/InShop_ResNet101_256x256_81.80_95.25.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | D3: 23 | TOPK: 10 24 | ALPHA: 200.0 25 | BETA: 10.0 26 | GAMMA: 2.0 27 | KD_WEIGHT: 1.0 28 | 29 | 30 | INPUT: 31 | STUDENT_SIZE_TRAIN: [64, 64] 32 | STUDENT_SIZE_TEST: [64, 64] 33 | STUDENT_PADDING: 2 34 | 35 | TEACHER_SIZE_TRAIN: [256, 256] 36 | TEACHER_SIZE_TEST: [256, 256] 37 | 38 | TEACHER_PADDING: 8 39 | RE_PROB: 0.5 40 | 41 | DATALOADER: 42 | NUM_WORKERS: 8 43 | NUM_INSTANCE: 6 44 | 45 | SOLVER: 46 | TRAINER: "kd" 47 | IMS_PER_BATCH: 96 48 | IMS_DISTILLATION_PER_BATCH: 256 49 | MAX_EPOCHS: 120 50 | BASE_LR: 0.01 51 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 52 | LR_WARMUP_EPOCHS: 10 53 | LR_WARMUP_FACTOR: 0.1 54 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 55 | OPTIMIZER_NAME: "SGD" 56 | 57 | CHECKPOINT_PERIOD: 120 58 | 59 | 60 | TEST: 61 | IMS_PER_BATCH: 512 62 | WEIGHT: 120 63 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_320x160_MobileNetV3_160x80/UGD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/UGD" 7 | EXPERIMENT_NAME: "MSMT17_UGD_ResNet101_320x160_MobileNetV3_Small_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "UGD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_320x160_59.26_82.09.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | UGD: 23 | DISTILLATION_LAYER: 3 24 | ALPHA: 3.0 25 | BETA: 2.0 26 | KD_WEIGHT: 1.0 27 | 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [160, 80] 31 | STUDENT_SIZE_TEST: [160, 80] 32 | STUDENT_PADDING: 4 33 | 34 | TEACHER_SIZE_TRAIN: [320, 160] 35 | TEACHER_SIZE_TEST: [320, 160] 36 | 37 | TEACHER_PADDING: 8 38 | RE_PROB: 0.5 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 96 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_320x160_MobileNetV3_160x80/VanillaKD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/VanillaKD" 7 | EXPERIMENT_NAME: "MSMT17_VanillaKD_ResNet101_320x160_MobileNetV3_Small_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "VanillaKD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_320x160_59.26_82.09.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | VanillaKD: 23 | KD_WEIGHT: 1.0 24 | TEMPERATURE: 2.0 25 | 26 | 27 | 28 | INPUT: 29 | STUDENT_SIZE_TRAIN: [160, 80] 30 | STUDENT_SIZE_TEST: [160, 80] 31 | STUDENT_PADDING: 4 32 | 33 | TEACHER_SIZE_TRAIN: [320, 160] 34 | TEACHER_SIZE_TEST: [320, 160] 35 | 36 | TEACHER_PADDING: 8 37 | RE_PROB: 0.5 38 | 39 | DATALOADER: 40 | NUM_WORKERS: 8 41 | NUM_INSTANCE: 6 42 | 43 | SOLVER: 44 | TRAINER: "kd" 45 | IMS_PER_BATCH: 96 46 | IMS_DISTILLATION_PER_BATCH: 256 47 | MAX_EPOCHS: 120 48 | BASE_LR: 0.01 49 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 50 | LR_WARMUP_EPOCHS: 10 51 | LR_WARMUP_FACTOR: 0.1 52 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 53 | OPTIMIZER_NAME: "SGD" 54 | 55 | CHECKPOINT_PERIOD: 120 56 | 57 | 58 | TEST: 59 | IMS_PER_BATCH: 512 60 | WEIGHT: 120 61 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_IBN_320x160_ResNet18_160x80/ROP.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/ROP" 7 | EXPERIMENT_NAME: "MSMT17_ROP_ResNet101_IBN_320x160_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "ROP" 17 | TEACHER_NAME: "ResNet101_ibn_a" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_IBN_320x160_64.13_84.49.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | ROP: 23 | TOPK: 256 24 | TEMPERATURE: 0.1 25 | RANK_WEIGHT: 0.2 26 | KD_WEIGHT: 0.5 27 | 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [160, 80] 31 | STUDENT_SIZE_TEST: [160, 80] 32 | STUDENT_PADDING: 4 33 | 34 | TEACHER_SIZE_TRAIN: [320, 160] 35 | TEACHER_SIZE_TEST: [320, 160] 36 | 37 | TEACHER_PADDING: 8 38 | RE_PROB: 0.5 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 256 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | -------------------------------------------------------------------------------- /Training_Configs/MSMT17/ResNet101_IBN_320x160_ResNet18_160x80/UGD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'0'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/UGD" 7 | EXPERIMENT_NAME: "MSMT17_UGD_ResNet101_IBN_320x160_ResNet18_160x80" 8 | 9 | 10 | DATASETS: 11 | NAMES: "MSMT17" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "UGD" 17 | TEACHER_NAME: "ResNet101_ibn_a" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/MSMT17_Teachers/MSMT17_ResNet101_IBN_320x160_64.13_84.49.pth" 19 | STUDENT_NAME: "ResNet18" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | UGD: 23 | DISTILLATION_LAYER: 3 24 | ALPHA: 3.0 25 | BETA: 2.0 26 | KD_WEIGHT: 1.0 27 | 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [160, 80] 31 | STUDENT_SIZE_TEST: [160, 80] 32 | STUDENT_PADDING: 4 33 | 34 | TEACHER_SIZE_TRAIN: [320, 160] 35 | TEACHER_SIZE_TEST: [320, 160] 36 | 37 | TEACHER_PADDING: 8 38 | RE_PROB: 0.5 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 96 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | -------------------------------------------------------------------------------- /Training_Configs/CUB200/ResNet101_256x256_MobileNetV3_128x128/UGD.yaml: -------------------------------------------------------------------------------- 1 | EXPERIMENT: 2 | DEVICE_ID: "'1'" 3 | CUDA_AMP: True 4 | 5 | OUTPUT_DIR: 6 | ROOT_PATH: "./log/UGD" 7 | EXPERIMENT_NAME: "CUB200_UGD_ResNet101_256x256_MobileNetV3_Small_128x128" 8 | 9 | 10 | DATASETS: 11 | NAMES: "CUB200" 12 | ROOT_DIR: "" 13 | 14 | 15 | DISTILLER: 16 | TYPE: "UGD" 17 | TEACHER_NAME: "ResNet101" 18 | TEACHER_MODEL_PATH: "./AIR_Distiller/download_ckpts/CUB200_Teachers/CUB200_ResNet101_256x256_71.30_81.57.pth" 19 | STUDENT_NAME: "MobileNetV3_Small" 20 | STUDENT_PRETRAIN_PATH: '' 21 | 22 | UGD: 23 | DISTILLATION_LAYER: 3 24 | ALPHA: 5.0 25 | BETA: 2.0 26 | KD_WEIGHT: 1.0 27 | 28 | 29 | INPUT: 30 | STUDENT_SIZE_TRAIN: [128, 128] 31 | STUDENT_SIZE_TEST: [128, 128] 32 | STUDENT_PADDING: 4 33 | 34 | TEACHER_SIZE_TRAIN: [256, 256] 35 | TEACHER_SIZE_TEST: [256, 256] 36 | 37 | TEACHER_PADDING: 8 38 | RE_PROB: 0.0 39 | 40 | DATALOADER: 41 | NUM_WORKERS: 8 42 | NUM_INSTANCE: 6 43 | 44 | SOLVER: 45 | TRAINER: "kd" 46 | IMS_PER_BATCH: 96 47 | IMS_DISTILLATION_PER_BATCH: 96 48 | MAX_EPOCHS: 120 49 | BASE_LR: 0.01 50 | LR_DECAY_TYPE: "WarmupCosineAnnealingLR" #"WarmupMultiStepLR" #WarmupCosineAnnealingLR 51 | LR_WARMUP_EPOCHS: 10 52 | LR_WARMUP_FACTOR: 0.1 53 | LR_DECAY_STEPS: [40] #[30, 60, 90] #[30, 60, 90] 54 | OPTIMIZER_NAME: "SGD" 55 | 56 | CHECKPOINT_PERIOD: 120 57 | 58 | 59 | TEST: 60 | IMS_PER_BATCH: 512 61 | WEIGHT: 120 62 | --------------------------------------------------------------------------------