def get_adept_cfg(dataset_basename): _C = CfgNode() _C.TYPE = "adept" _C.DEBUG = False _C.VERSION = "paper-adept" #options: "paper-adept", "intphys-adept" _C.RESUME = False _C.RESUME_DIR = "" _C.SEED = -1 _C.CUDNN_BENCHMARK = False _C.DEBUG_VIDEOS = [ ] #["output/intphys/.data_tmp/adept_jsons/pred_attr_82649/intphys_dev_O1/video_00054.json"] _C.ANALYZE_RESULTS_FOLDER = "None" #"output/intphys/adept/bk_distributed_exp" #"/home/aldo/cora-derender/output/adept/adept/bk_distributed_exp" #"/all/home/aldo/cora-derenderer/output/adept/adept/distributed_exp/" #'/all/home/aldo/cora-derenderer/output/intphys/adept/distributed_exp_complete_bk' #"None" #"output/intphys/adept/exp_00025" # ----------------------------------------------------------------------------- # Datasets # ----------------------------------------------------------------------------- _C.DATASETS = CfgNode() _C.DATASETS.BASE_NAME = dataset_basename if _C.DATASETS.BASE_NAME == "intphys": ####### INTPHYS ########### _C.ATTRIBUTES_KEYS = ( "pred_attr_82649", # "pred_attr_03227", # "pred_attr_06472", # "pred_attr_12664", # "pred_attr_22318", # "pred_attr_41337", ) _C.DATASETS.TEST = ( "intphys_dev_O1", "intphys_dev_O2", "intphys_dev_O3", # "intphys_dev-meta_O1", # "intphys_dev-meta_O2", # "intphys_dev-meta_O3" ) elif _C.DATASETS.BASE_NAME == "adept": _C.ATTRIBUTES_KEYS = ( # "attributes", "pred_attr_43044", # "pred_attr_00650", # 'pred_attr_10580', # "pred_attr_18377", # "pred_attr_34216" ) _C.DATASETS.TEST = ( # "adept_val", # "adept_train", #TODO get back to only test "adept_human_create", "adept_human_vanish", "adept_human_short-overturn", "adept_human_long-overturn", "adept_human_visible-discontinuous", "adept_human_invisible-discontinuous", "adept_human_delay", "adept_human_block", ) # ----------------------------------------------------------------------------- # Model # ----------------------------------------------------------------------------- _C.MODEL = CfgNode() _C.MODEL.META_ARCHITECTURE = "PARTICLE_FILTER" # Particles to be used in the particle filter _C.MODEL.N_PARTICLES = 128 # Threshold for minimal area for an objects to be considered visible _C.MODEL.AREA_THRESHOLD = 200. # ----------------------------------------------------------------------------- # Dynamics Model # ----------------------------------------------------------------------------- _C.MODEL.STEP = CfgNode() _C.MODEL.STEP.PERTURBATION = CfgNode() # Whether to perturb the objects _C.MODEL.STEP.PERTURBATION.TO_PERTURB = True # Sigma in the velocity term _C.MODEL.STEP.PERTURBATION.VELOCITY_SIGMA = [.01, .06] _C.MODEL.STEP.PERTURBATION.SCALE_SIGMA = .0005 # Sigma in the location term _C.MODEL.STEP.PERTURBATION.LOCATION_SIGMA = [.01, .06] # Sigma in the velocity term, multiplicative _C.MODEL.STEP.PERTURBATION.VELOCITY_LAMBDA = [.01, .06] # ----------------------------------------------------------------------------- # Magic in the dynamics model # ----------------------------------------------------------------------------- _C.MODEL.STEP.MAGIC = CfgNode() # Whether to use magic _C.MODEL.STEP.MAGIC.USE_MAGIC = True # The probability to disappear _C.MODEL.STEP.MAGIC.DISAPPEAR_PROBABILITY = .02 # The penalty for magically disappearing _C.MODEL.STEP.MAGIC.DISAPPEAR_PENALTY = 10. # The probability for magically stopping _C.MODEL.STEP.MAGIC.STOP_PROBABILITY = .02 # The penalty for magically stopping _C.MODEL.STEP.MAGIC.STOP_PENALTY = 1. # The probability for magically accelerating _C.MODEL.STEP.MAGIC.ACCELERATE_PROBABILITY = .04 # The penalty for magically accelerating _C.MODEL.STEP.MAGIC.ACCELERATE_PENALTY = 1. # The magnitude for magically accelerating _C.MODEL.STEP.MAGIC.ACCELERATE_LAMBDA = 1.5 # ----------------------------------------------------------------------------- # Particle filter # ----------------------------------------------------------------------------- # The period for particle filter to resample _C.MODEL.RESAMPLE = CfgNode() # Resample every period _C.MODEL.RESAMPLE.PERIOD = 1 # Scaling on nll _C.MODEL.RESAMPLE.FACTOR = 1. # ----------------------------------------------------------------------------- # Mass sampler # ----------------------------------------------------------------------------- _C.MODEL.MASS = CfgNode() # Whether to sample mass _C.MODEL.MASS.TO_SAMPLE_MASS = False # The log mean of mass _C.MODEL.MASS.LOG_MASS_MU = 0 # The log stdev of mass _C.MODEL.MASS.LOG_MASS_SIGMA = 1 # ----------------------------------------------------------------------------- # Observation Model # ----------------------------------------------------------------------------- _C.MODEL.UPDATING = CfgNode() _C.MODEL.UPDATING.MATCHED = CfgNode() # Loss for matched object updating _C.MODEL.UPDATING.MATCHED.LOSS = "Smoothed_L_Half" # Sigma in the location term _C.MODEL.UPDATING.MATCHED.LOCATION_SIGMA = .2 # Sigma in the velocity term _C.MODEL.UPDATING.MATCHED.VELOCITY_SIGMA = .2 _C.MODEL.UPDATING.MATCHED.SCALE_SIGMA = .05 _C.MODEL.UPDATING.UNMATCHED_BELIEF = CfgNode() # Base Penalty coefficient for unseen object _C.MODEL.UPDATING.UNMATCHED_BELIEF.BASE_PENALTY = 1. # Penalty coefficient for unseen object w.r.t. mask area shown _C.MODEL.UPDATING.UNMATCHED_BELIEF.MASK_PENALTY = .0001 _C.MODEL.UPDATING.UNMATCHED_OBSERVATION = CfgNode() # Penalty for object appearing _C.MODEL.UPDATING.UNMATCHED_OBSERVATION.PENALTY = .02 _C.MODEL.UPDATING.UNMATCHED_OBSERVATION.MAX_PENALTY = 12. _C.MODEL.MATCHER = CfgNode() # PENALTY FOR MISMATCHED OBJECT TYPES, ONLY BETWEEN OCCLUDER AND OTHER _C.MODEL.MATCHER.TYPE_PENALTY = 10. # PENALTY FOR MISMATCHED OBJECT COLOR _C.MODEL.MATCHER.COLOR_PENALTY = 12. # PENALTY FOR MISMATCHED OBJECT WHEN THEY ARE AFAR _C.MODEL.MATCHER.DISTANCE_PENALTY = 14. if _C.VERSION == "intphys-adept" else 20. # THE THRESHOLD FOR OBJECT BEING AFAR _C.MODEL.MATCHER.DISTANCE_THRESHOLD = 2. # THE BASE PENALTY BETWEEN PLACEHOLDER AND OBJECTS _C.MODEL.MATCHER.BASE_PENALTY = 8. # when more than 5 objects creating more objects should not happen _C.MODEL.MATCHER.BASE_PENALTY_HIGH = 16 return _C
def data_get_cfg(dataset_base_name): _C = CfgNode() _C.DEBUG = False _C.DEBUG_VIDEOS = [] # ['/disk1/mcs-data/intphys_scenes_dumped_perception/gravity_goal-0247', # '/disk1/mcs-data/intphys_scenes_dumped_perception/gravity_goal-0489'] _C.MAX_VIDEOS = 10000 _C.VAL_VIDEOS = 130 _C.VAL_FRAMES = -1 _C.TEST_FRAMES = -1 _C.BASE_NAME = dataset_base_name #options intphys, adept, ai2thor-intphys _C.REPROCESS_RAW_VIDEOS = False _C.TRAINED_DETECTOR = CfgNode() _C.TRAINED_DETECTOR.DO_INFERENCE = False _C.TRAINED_DERENDER = CfgNode() _C.TRAINED_DERENDER.DO_INFERENCE = False _C.TRAINED_DERENDER.USE_INFERRED_BOXES = False _C.SHAPESWORLD_JSON = CfgNode() _C.SHAPESWORLD_JSON.REPROCESS = False _C.ADEPT_JSON = CfgNode() _C.ADEPT_JSON.REPROCESS = False if _C.BASE_NAME == "intphys": # _C.DATA_LOCATION = "/all/home/aldo/data/intphys_data/" # _C.DATA_LOCATION = "/nobackup/users/aldopa/data/intphys.zip/" _C.DATA_LOCATION = "/disk1/intphys_data" _C.VAL_FRAMES = 1000 # _C.SPLITS = ("_val","_train") # _C.SPLITS = ("_dev-meta_O1", "_dev-meta_O2", "_dev-meta_O3", "_val", "_train") # _C.SPLITS = ("_dev-meta_O1", "_dev-meta_O2", "_dev-meta_O3", "_val") _C.SPLITS = ( "_val", # "_dev_O1", "_dev_O2", "_dev_O3", # "_dev-meta_O1", "_dev-meta_O2", "_dev-meta_O3", # "_test_O1", "_test_O2", "_test_O3", "_train", ) _C.SHAPESWORLD_JSON.FRAMES_RANGE_PER_VIDEO = (0, 100) # _C.ATTRIBUTES_KEYS = ("attributes", # "pred_attr_401469", # "pred_attr_003227") _C.ADEPT_JSON.VEL_DATA_ASSOC = "heuristic" # options: ground_truth, heuristic, None _C.ADEPT_JSON.ATTRIBUTES_KEYS = ( # "attributes", "pred_attr_82649", "pred_attr_03227", "pred_attr_06472", "pred_attr_12664", "pred_attr_22318", "pred_attr_41337", ) _C.MIN_AREA = 25 _C.TRAINED_DERENDER.EXP_DIR = "/all/home/aldo/cora-derenderer/output/intphys/derender/exp_00000/" _C.TRAINED_DERENDER.ATTRIBUTES_WEIGHTS_MAP = CfgNode({ "pred_attr_82649": "/all/home/aldo/cora-derenderer/output/intphys/derender/exp_00000/model_0082649.pth", "pred_attr_03227": "/all/home/aldo/cora-derenderer/output/intphys/derender/exp_00000/model_0003227.pth", "pred_attr_06472": "/all/home/aldo/cora-derenderer/output/intphys/derender/exp_00000/model_0006472.pth", "pred_attr_12664": "/all/home/aldo/cora-derenderer/output/intphys/derender/exp_00000/model_0012664.pth", "pred_attr_22318": "/all/home/aldo/cora-derenderer/output/intphys/derender/exp_00000/model_0022318.pth", "pred_attr_41337": "/all/home/aldo/cora-derenderer/output/intphys/derender/exp_00000/model_0041337.pth", }) _C.TRAINED_DERENDER.USE_DEPTH = True elif _C.BASE_NAME == "adept": _C.DATA_LOCATION = "/all/home/aldo/data/adept_data" # _C.DATA_LOCATION = "/nobackup/users/aldopa/data/adept.zip" _C.SPLITS = ( # "_val", # "_train", "_human_create", "_human_vanish", "_human_short-overturn", "_human_long-overturn", "_human_visible-discontinuous", "_human_invisible-discontinuous", "_human_delay", "_human_block", ) _C.VAL_FRAMES = 1000 _C.MIN_AREA = 100 _C.TRAINED_DETECTOR.EXP_DIR = "output/adept/detector/exp_00011" _C.TRAINED_DETECTOR.WEIGHTS_FILE = "output/adept/detector/exp_00011/model_0209999.pth" _C.TRAINED_DERENDER.EXP_DIR = "/all/home/aldo/cora-derenderer/output/adept/derender/exp_00007" _C.TRAINED_DERENDER.ATTRIBUTES_WEIGHTS_MAP = CfgNode({ # "pred_attr_00650": "/all/home/aldo/cora-derenderer/output/adept/derender/exp_00007/model_0000650.pth", "pred_attr_43044": "/all/home/aldo/cora-derenderer/output/adept/derender/exp_00007/model_0043044.pth", # "pred_attr_10580": "/all/home/aldo/cora-derenderer/output/adept/derender/exp_00007/model_0010580.pth", # "pred_attr_18377": "/all/home/aldo/cora-derenderer/output/adept/derender/exp_00007/model_0018377.pth", # "pred_attr_34216": "/all/home/aldo/cora-derenderer/output/adept/derender/exp_00007/model_0034216.pth", }) _C.TRAINED_DERENDER.USE_DEPTH = False _C.SHAPESWORLD_JSON.FRAMES_RANGE_PER_VIDEO = (4, 124) _C.ADEPT_JSON.VEL_DATA_ASSOC = "None" # options: ground_truth, heuristic, None _C.ADEPT_JSON.ATTRIBUTES_KEYS = ( "attributes", "pred_attr_43044", ) elif _C.BASE_NAME == "ai2thor-intphys": _C.DATA_LOCATION = "/disk1/mcs-data" _C.SPLITS = ( "_train", "_val", ) _C.MIN_AREA = 50 else: raise NotImplementedError # _C.DATA_MODE = "zip" if _C.DATA_LOCATION.endswith(".zip") else "folder" return _C