Spaces:
Running
Running
import argparse | |
arg_lists = [] | |
parser = argparse.ArgumentParser(description="LANet") | |
def str2bool(v): | |
return v.lower() in ("true", "1") | |
def add_argument_group(name): | |
arg = parser.add_argument_group(name) | |
arg_lists.append(arg) | |
return arg | |
# train data params | |
traindata_arg = add_argument_group("Traindata Params") | |
traindata_arg.add_argument("--train_txt", type=str, default="", help="Train set.") | |
traindata_arg.add_argument( | |
"--train_root", type=str, default="", help="Where the train images are." | |
) | |
traindata_arg.add_argument( | |
"--batch_size", type=int, default=8, help="# of images in each batch of data" | |
) | |
traindata_arg.add_argument( | |
"--num_workers", | |
type=int, | |
default=4, | |
help="# of subprocesses to use for data loading", | |
) | |
traindata_arg.add_argument( | |
"--pin_memory", | |
type=str2bool, | |
default=True, | |
help="# of subprocesses to use for data loading", | |
) | |
traindata_arg.add_argument( | |
"--shuffle", | |
type=str2bool, | |
default=True, | |
help="Whether to shuffle the train and valid indices", | |
) | |
traindata_arg.add_argument("--image_shape", type=tuple, default=(240, 320), help="") | |
traindata_arg.add_argument( | |
"--jittering", type=tuple, default=(0.5, 0.5, 0.2, 0.05), help="" | |
) | |
# data storage | |
storage_arg = add_argument_group("Storage") | |
storage_arg.add_argument("--ckpt_name", type=str, default="PointModel", help="") | |
# training params | |
train_arg = add_argument_group("Training Params") | |
train_arg.add_argument("--start_epoch", type=int, default=0, help="") | |
train_arg.add_argument("--max_epoch", type=int, default=12, help="") | |
train_arg.add_argument( | |
"--init_lr", type=float, default=3e-4, help="Initial learning rate value." | |
) | |
train_arg.add_argument( | |
"--lr_factor", type=float, default=0.5, help="Reduce learning rate value." | |
) | |
train_arg.add_argument( | |
"--momentum", type=float, default=0.9, help="Nesterov momentum value." | |
) | |
train_arg.add_argument("--display", type=int, default=50, help="") | |
# loss function params | |
loss_arg = add_argument_group("Loss function Params") | |
loss_arg.add_argument("--score_weight", type=float, default=1.0, help="") | |
loss_arg.add_argument("--loc_weight", type=float, default=1.0, help="") | |
loss_arg.add_argument("--desc_weight", type=float, default=4.0, help="") | |
loss_arg.add_argument("--corres_weight", type=float, default=0.5, help="") | |
loss_arg.add_argument("--corres_threshold", type=int, default=4.0, help="") | |
# other params | |
misc_arg = add_argument_group("Misc.") | |
misc_arg.add_argument( | |
"--use_gpu", type=str2bool, default=True, help="Whether to run on the GPU." | |
) | |
misc_arg.add_argument("--gpu", type=int, default=0, help="Which GPU to run on.") | |
misc_arg.add_argument( | |
"--seed", type=int, default=1001, help="Seed to ensure reproducibility." | |
) | |
misc_arg.add_argument( | |
"--ckpt_dir", | |
type=str, | |
default="./checkpoints", | |
help="Directory in which to save model checkpoints.", | |
) | |
def get_config(): | |
config, unparsed = parser.parse_known_args() | |
return config, unparsed | |