def _exp_top_boxes_per_hoi(out_base_dir, data_const): args = parser.parse_args() not_specified_args = manage_required_args( args, parser, required_args=['model_num'], optional_args=[ 'verb_given_appearance', 'verb_given_human_appearance', 'verb_given_object_appearance', 'verb_given_boxes_and_object_label', 'verb_given_human_pose', 'rcnn_det_prob']) exp_name = 'factors' if args.rcnn_det_prob: exp_name += '_rcnn_det_prob' if args.verb_given_appearance: exp_name += '_appearance' if args.verb_given_human_appearance: exp_name += '_human_appearance' if args.verb_given_object_appearance: exp_name += '_object_appearance' if args.verb_given_boxes_and_object_label: exp_name += '_boxes_and_object_label' if args.verb_given_human_pose: exp_name += '_human_pose' exp_const = ExpConstants( exp_name=exp_name, out_base_dir=out_base_dir) exp_const.model_dir = os.path.join(exp_const.exp_dir,'models') exp_const.num_to_vis = 10 data_const.pred_hoi_dets_h5py = os.path.join( exp_const.exp_dir, f'pred_hoi_dets_test_{args.model_num}.hdf5') hoi_cand_dir = os.path.join( os.getcwd(), 'data_symlinks/hico_exp/hoi_candidates') data_const.human_pose_feats_hdf5 = os.path.join( hoi_cand_dir, 'human_pose_feats_test.hdf5') data_const.num_pose_keypoints = 18 model_const = Constants() model_const.model_num = args.model_num model_const.hoi_classifier = HoiClassifierConstants() model_const.hoi_classifier.verb_given_appearance = args.verb_given_appearance model_const.hoi_classifier.verb_given_boxes_and_object_label = args.verb_given_boxes_and_object_label model_const.hoi_classifier.verb_given_human_pose = args.verb_given_human_pose model_const.hoi_classifier.rcnn_det_prob = args.rcnn_det_prob model_const.hoi_classifier.model_pth = os.path.join( exp_const.model_dir, f'hoi_classifier_{model_const.model_num}') vis_top_boxes_per_hoi.main(exp_const, data_const, model_const)
def _exp_eval(out_base_dir, data_const): args = parser.parse_args() not_specified_args = manage_required_args( args, parser, required_args=['model_num'], optional_args=[ 'verb_given_appearance', 'verb_given_human_appearance', 'verb_given_object_appearance', 'verb_given_boxes_and_object_label', 'verb_given_human_pose', 'rcnn_det_prob']) exp_name = 'factors' if args.rcnn_det_prob: exp_name += '_rcnn_det_prob' if args.verb_given_appearance: exp_name += '_appearance' if args.verb_given_human_appearance: exp_name += '_human_appearance' if args.verb_given_object_appearance: exp_name += '_object_appearance' if args.verb_given_boxes_and_object_label: exp_name += '_boxes_and_object_label' if args.verb_given_human_pose: exp_name += '_human_pose' exp_const = ExpConstants( exp_name=exp_name, out_base_dir=out_base_dir) exp_const.model_dir = os.path.join(exp_const.exp_dir, 'models') data_const.balanced_sampling = False model_const = Constants() model_const.model_num = args.model_num model_const.hoi_classifier = HoiClassifierConstants() model_const.hoi_classifier.verb_given_appearance = args.verb_given_appearance model_const.hoi_classifier.verb_given_human_appearance = args.verb_given_human_appearance model_const.hoi_classifier.verb_given_object_appearance = args.verb_given_object_appearance model_const.hoi_classifier.verb_given_boxes_and_object_label = args.verb_given_boxes_and_object_label model_const.hoi_classifier.verb_given_human_pose = args.verb_given_human_pose model_const.hoi_classifier.rcnn_det_prob = args.rcnn_det_prob model_const.hoi_classifier.model_pth = os.path.join( exp_const.model_dir, f'hoi_classifier_{model_const.model_num}') if isinstance(data_const, FeatureConstantsVcoco): data_sign = 'vcoco' else: data_sign = 'hico' evaluate.main(exp_const, data_const, model_const, data_sign)
def _exp_train(out_base_dir, data_const_train, data_const_val, data_sign='hico'): args = parser.parse_args() not_specified_args = manage_required_args( args, parser, required_args=['imgs_per_batch', 'fp_to_tp_ratio'], optional_args=[ 'verb_given_appearance', 'verb_given_human_appearance', 'verb_given_object_appearance', 'verb_given_boxes_and_object_label', 'verb_given_human_pose', 'rcnn_det_prob' ]) exp_name = 'factors' if args.rcnn_det_prob: exp_name += '_rcnn_det_prob' if args.verb_given_appearance: exp_name += '_appearance' if args.verb_given_human_appearance: exp_name += '_human_appearance' if args.verb_given_object_appearance: exp_name += '_object_appearance' if args.verb_given_boxes_and_object_label: exp_name += '_boxes_and_object_label' if args.verb_given_human_pose: pose = '_human_pose' exp_name += pose exp_const = ExpConstants(exp_name=exp_name, out_base_dir=out_base_dir) exp_const.log_dir = os.path.join(exp_const.exp_dir, 'log') exp_const.model_dir = os.path.join(exp_const.exp_dir, 'models') exp_const.num_epochs = 10 exp_const.imgs_per_batch = args.imgs_per_batch exp_const.lr = 1e-3 model_const = Constants() model_const.hoi_classifier = HoiClassifierConstants(data_sign) model_const.hoi_classifier.verb_given_appearance = args.verb_given_appearance model_const.hoi_classifier.verb_given_human_appearance = args.verb_given_human_appearance model_const.hoi_classifier.verb_given_object_appearance = args.verb_given_object_appearance model_const.hoi_classifier.verb_given_boxes_and_object_label = args.verb_given_boxes_and_object_label model_const.hoi_classifier.verb_given_human_pose = args.verb_given_human_pose model_const.hoi_classifier.rcnn_det_prob = args.rcnn_det_prob train.main(exp_const, data_const_train, data_const_val, model_const, data_sign)
def exp_train(): args = parser.parse_args() not_specified_args = manage_required_args( args, parser, required_args=['fappend', 'imgs_per_batch', 'fp_to_tp_ratio'], optional_args=[ 'verb_given_appearance', 'verb_given_human_appearance', 'verb_given_object_appearance', 'verb_given_boxes_and_object_label', 'rcnn_det_prob' ]) exp_name = 'factors' exp_name += '_' + args.fappend out_base_dir = os.path.join(os.getcwd(), 'data_symlinks/hico_exp/hoi_classifier') exp_const = ExpConstants(exp_name=exp_name, out_base_dir=out_base_dir) exp_const.log_dir = os.path.join(exp_const.exp_dir, 'log') exp_const.model_dir = os.path.join(exp_const.exp_dir, 'models') exp_const.num_epochs = 10 exp_const.imgs_per_batch = args.imgs_per_batch exp_const.lr = 1e-3 data_const_train = FeatureConstants(subset='train') data_const_val = FeatureConstants(subset='val') model_const = Constants() model_const.hoi_classifier = HoiClassifierConstants() model_const.hoi_classifier.verb_given_appearance = args.verb_given_appearance model_const.hoi_classifier.verb_given_human_appearance = args.verb_given_human_appearance model_const.hoi_classifier.verb_given_object_appearance = args.verb_given_object_appearance model_const.hoi_classifier.verb_given_boxes_and_object_label = args.verb_given_boxes_and_object_label model_const.hoi_classifier.verb_given_human_pose = args.verb_given_human_pose model_const.hoi_classifier.rcnn_det_prob = args.rcnn_det_prob train.main(exp_const, data_const_train, data_const_val, model_const)
def exp_eval(): args = parser.parse_args() not_specified_args = manage_required_args( args, parser, required_args=['fappend', 'model_num'], optional_args=[ 'verb_given_appearance', 'verb_given_human_appearance', 'verb_given_object_appearance', 'verb_given_boxes_and_object_label', 'verb_given_human_pose', 'rcnn_det_prob' ]) exp_name = 'factors' exp_name += '_' + args.fappend out_base_dir = os.path.join(os.getcwd(), 'data_symlinks/hico_exp/hoi_classifier') exp_const = ExpConstants(exp_name=exp_name, out_base_dir=out_base_dir) exp_const.model_dir = os.path.join(exp_const.exp_dir, 'models') data_const = FeatureConstants(subset='test') data_const.balanced_sampling = False model_const = Constants() model_const.model_num = args.model_num model_const.hoi_classifier = HoiClassifierConstants() model_const.hoi_classifier.verb_given_appearance = args.verb_given_appearance model_const.hoi_classifier.verb_given_human_appearance = args.verb_given_human_appearance model_const.hoi_classifier.verb_given_object_appearance = args.verb_given_object_appearance model_const.hoi_classifier.verb_given_boxes_and_object_label = args.verb_given_boxes_and_object_label model_const.hoi_classifier.verb_given_human_pose = args.verb_given_human_pose model_const.hoi_classifier.rcnn_det_prob = args.rcnn_det_prob model_const.hoi_classifier.model_pth = os.path.join( exp_const.model_dir, f'hoi_classifier_{model_const.model_num}') evaluate.main(exp_const, data_const, model_const)