"""
This run file shows how to use the default SL train loop provided in CORDS and 
run it with default arguments using the configuration files provided in CORDS.
"""


from train_sl import TrainClassifier
from cords.utils.config_utils import load_config_data

#CORDS comes with some predefined configuration files that mentiones the format of 
# config_file = "configs/SL/config_shapis-warm_cifar10.py"
# config_file = "configs/SL/config_glister-warm_cifar10.py"
# config_file = "configs/SL/config_glister_cifar100.py"
# config_file = "configs/SL/config_full_cifar100.py"
# config_file = "configs/SL/config_glister_cifar10.py"
# config_file = "configs/SL/config_glister_cifar10imbalance.py"
# config_file = "configs/SL/config_gradmatchpb_cifar10imbalance.py"
# config_file = "configs/SL/config_adaptiverandom_cifar10imbalance.py"
config_file = "configs/SL/config_shapis_cifar10imbalance.py"
# config_file = "configs/SL/config_gradmatch_cifar100.py"
# config_file = "configs/SL/config_gradmatch_tinyimagenet.py"
# config_file = "configs/SL/config_gradmatch-warm_cifar100.py"
# config_file = "configs/SL/config_full_cifar10.py"
#config_file = "configs/SL/config_glister_boston.py"
#config_file = "configs/SL/config_full_boston.py"

config_data = load_config_data(config_file)
classifier = TrainClassifier(config_data)


#classifier.configdata.dss_args.type = "Random"
#classifier.configdata.dss_args.type = "Full"
#classifier.configdata.dataset.name = "LawSchool" #"abalone"
classifier.train()
