def __init__(self, dataset_dict, single_label=False, random_select=False, max_len=None): self.dataset_dict = dataset_dict self.single_label = single_label self.random_select = random_select self.max_len = max_len if self.single_label: self.dataset_dict = get_single_label_dict(self.dataset_dict) self.video_list = list(self.dataset_dict.keys()) self.video_list.sort()
def __init__(self, dataset_dict, single_label=False, random_select=False, max_len=None): self.dataset_dict = dataset_dict self.single_label = single_label self.random_select = random_select self.max_len = max_len # some videos may have more than one labels, if single_label==True, will make # these videos as multi videos with single labels, but the weight will be reduced if self.single_label: self.dataset_dict = get_single_label_dict(self.dataset_dict) self.video_list = list(self.dataset_dict.keys()) self.video_list.sort()
sample_rate=sample_rate, base_sample_rate=base_sample_rate, action_class_num=action_class_num, modality='both', feature_type=feature_type, feature_oversample=feature_oversample, temporal_aug=True, load_background=False) test_test_dataset = SingleVideoDataset(test_dataset_dict, single_label=True, random_select=False, max_len=None) test_test_loader = torch.utils.data.DataLoader(test_test_dataset, batch_size=1, pin_memory=True, shuffle=False) else: test_test_loader = None single_label_train_dict = get_single_label_dict(train_dataset_dict) label_2_video = get_label_2_video(single_label_train_dict) num_of_video = len(single_label_train_dict) for run_idx in range(train_run_num): naming = '{}-run-{}'.format(experiment_naming, run_idx) my_train(train_train_dataset, train_test_loader, test_test_loader, 'rgb', naming, label_2_video, num_of_video)