()
| 1 | import configargparse |
| 2 | def config_parser(): |
| 3 | parser = configargparse.ArgumentParser() |
| 4 | parser.add_argument("-f", "--fff", help="a dummy argument to fool ipython", default="1") |
| 5 | parser.add_argument("--multi_gpu", action='store_true', help='use multiple gpu on the server') |
| 6 | |
| 7 | # 7Scenes |
| 8 | parser.add_argument("--trainskip", type=int, default=1, help='will load 1/N images from train sets, useful for large datasets like 7 Scenes') |
| 9 | parser.add_argument("--df", type=float, default=1., help='image downscale factor') |
| 10 | parser.add_argument("--reduce_embedding", type=int, default=-1, help='fourier embedding mode: -1: paper default, \ |
| 11 | 0: reduce by half, 1: remove embedding, 2: DNeRF embedding') |
| 12 | parser.add_argument("--epochToMaxFreq", type=int, default=-1, help='DNeRF embedding mode: (based on DNeRF paper): \ |
| 13 | hyper-parameter for when α should reach the maximum number of frequencies m') |
| 14 | parser.add_argument("--render_pose_only", action='store_true', help='render a spiral video for 7 Scene') |
| 15 | parser.add_argument("--save_pose_avg_stats", action='store_true', help='save a pose avg stats to unify NeRF, posenet, nerf tracking training') |
| 16 | parser.add_argument("--load_pose_avg_stats", action='store_true', help='load precomputed pose avg stats to unify NeRF, posenet, nerf tracking training') |
| 17 | parser.add_argument("--finetune_unlabel", action='store_true', help='finetune unlabeled sequence like MapNet') |
| 18 | parser.add_argument("--i_eval", type=int, default=50, help='frequency of eval posenet result') |
| 19 | parser.add_argument("--save_all_ckpt", action='store_true', help='save all ckpts for each epoch') |
| 20 | parser.add_argument("--train_local_nerf", type=int, default=-1, help='train local NeRF with ith training sequence only, ie. Stairs can pick 0~3') |
| 21 | parser.add_argument("--render_video_train", action='store_true', help='render train set NeRF and save as video, make sure i_eval is True') |
| 22 | parser.add_argument("--render_video_test", action='store_true', help='render val set NeRF and save as video, make sure i_eval is True') |
| 23 | parser.add_argument("--no_DNeRF_viewdir", action='store_true', default=False, help='will not use DNeRF in viewdir encoding') |
| 24 | parser.add_argument("--val_on_psnr", action='store_true', default=False, help='EarlyStopping with max validation psnr') |
| 25 | parser.add_argument("--feature_matching_lvl", nargs='+', type=int, default=[0,1,2], |
| 26 | help='lvl of features used for feature matching, default use lvl 0, 1, 2') |
| 27 | |
| 28 | ##################### PoseNet Settings ######################## |
| 29 | parser.add_argument("--pose_only", type=int, default=0, help='posenet type to train, \ |
| 30 | 1: train baseline posenet, 2: posenet+nerf manual optimize, \ |
| 31 | 3: featurenet,') |
| 32 | parser.add_argument("--learning_rate", type=float, default=0.00001, help='learning rate') |
| 33 | parser.add_argument("--batch_size", type=int, default=1, help='train posenet only') |
| 34 | parser.add_argument("--pretrain_model_path", type=str, default='', help='model path of pretrained pose regrssion model') |
| 35 | parser.add_argument("--pretrain_featurenet_path", type=str, default='', help='model path of pretrained featurenet model') |
| 36 | parser.add_argument("--model_name", type=str, help='pose model output folder name') |
| 37 | parser.add_argument("--combine_loss", action='store_true', |
| 38 | help='combined l2 pose loss + rgb mse loss') |
| 39 | parser.add_argument("--combine_loss_w", nargs='+', type=float, default=[0.5, 0.5], |
| 40 | help='weights of combined loss ex, [0.5 0.5], \ |
| 41 | default None, only use when combine_loss is True') |
| 42 | parser.add_argument("--patience", nargs='+', type=int, default=[200, 50], help='set training schedule for patience [EarlyStopping, reduceLR]') |
| 43 | parser.add_argument("--resize_factor", type=int, default=2, help='image resize downsample ratio') |
| 44 | parser.add_argument("--freezeBN", action='store_true', help='Freeze the Batch Norm layer at training PoseNet') |
| 45 | parser.add_argument("--preprocess_ImgNet", action='store_true', help='Normalize input data for PoseNet') |
| 46 | parser.add_argument("--eval", action='store_true', help='eval model') |
| 47 | parser.add_argument("--no_save_multiple", action='store_true', help='default, save multiple posenet model, if true, save only one posenet model') |
| 48 | parser.add_argument("--resnet34", action='store_true', default=False, help='use resnet34 backbone instead of mobilenetV2') |
| 49 | parser.add_argument("--efficientnet", action='store_true', default=False, help='use efficientnet-b3 backbone instead of mobilenetV2') |
| 50 | parser.add_argument("--efficientnet_block", type=int, default=6, help='choose which features from feature block (0-6) of efficientnet to use') |
| 51 | parser.add_argument("--dropout", type=float, default=0.5, help='dropout rate for resnet34 backbone') |
| 52 | parser.add_argument("--DFNet", action='store_true', default=False, help='use DFNet') |
| 53 | parser.add_argument("--DFNet_s", action='store_true', default=False, help='use accelerated DFNet, performance is similar to DFNet but slightly faster') |
| 54 | parser.add_argument("--val_batch_size", type=int, default=1, help='batch_size for validation, higher number leads to faster speed') |
| 55 | |
| 56 | ##################### NeRF Settings ######################## |
| 57 | parser.add_argument('--config', is_config_file=True, help='config file path') |
| 58 | parser.add_argument("--expname", type=str, help='experiment name') |
| 59 | parser.add_argument("--basedir", type=str, default='../logs/', help='where to store ckpts and logs') |
| 60 | parser.add_argument("--datadir", type=str, default='./data/llff/fern', help='input data directory') |
no outgoing calls
no test coverage detected