def get_validation_set(opt, spatial_transform, temporal_transform, target_transform): assert opt.dataset in [ 'kinetics', 'mini-kinetics', 'activitynet', 'ucf101', 'hmdb51' ] if opt.dataset in ['kinetics', 'mini-kinetics']: validation_data = Kinetics(opt.video_path, opt.annotation_path, opt.n_frames_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'activitynet': validation_data = ActivityNet(opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'ucf101': validation_data = UCF101(opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'hmdb51': validation_data = HMDB51(opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) return validation_data
def get_training_set(opt, spatial_transform, temporal_transform, target_transform): assert opt.dataset in [ 'kinetics', 'activitynet', 'ucf101', 'hmdb51', 'jester' ] if opt.dataset == 'kinetics': training_data = Kinetics(opt.video_path, opt.annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'activitynet': training_data = ActivityNet(opt.video_path, opt.annotation_path, 'training', False, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'ucf101': training_data = UCF101(opt.video_path, opt.annotation_path, 'train', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'hmdb51': training_data = HMDB51(opt.video_path, opt.annotation_path, 'train', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'jester': training_data = Jester(opt.video_path, opt.annotation_path, 'train', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) return training_data
def get_validation_data(video_path, annotation_path, dataset_name, file_type, spatial_transform=None, temporal_transform=None, target_transform=None): assert dataset_name in [ 'kinetics', 'activitynet', 'ucf101', 'hmdb51', 'mit' ] assert file_type in ['jpg', 'hdf5'] if file_type == 'jpg': loader = VideoLoader(lambda x: f'image_{x:05d}.jpg') video_path_formatter = ( lambda root_path, label, video_id: root_path / label / video_id) else: loader = VideoLoaderHDF5() video_path_formatter = (lambda root_path, label, video_id: root_path / label / f'{video_id}.hdf5') if dataset_name == 'activitynet': validation_data = ActivityNet( video_path, annotation_path, 'validation', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform, video_loader=loader, video_path_formatter=video_path_formatter) else: validation_data = VideoDatasetMultiClips( video_path, annotation_path, 'validation', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform, video_loader=loader, video_path_formatter=video_path_formatter) return validation_data, collate_fn
def get_validation_set(opt, spatial_transform, temporal_transform, target_transform): assert opt.dataset in ['kinetics', 'activitynet', 'ucf101', 'hmdb51'] if opt.dataset == 'kinetics': validation_data = Kinetics( opt.video_path, opt.annotation_path, 'validation', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'activitynet': validation_data = ActivityNet( opt.video_path, opt.annotation_path, 'validation', False, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'ucf101': validation_data = UCF101( opt.video_path, opt.annotation_path, 'validation', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'hmdb51': validation_data = HMDB51( opt.video_path, opt.annotation_path, 'validation', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) return validation_data
def get_validation_set(opt, spatial_transform, temporal_transform, target_transform): assert opt.dataset in ['kinetics', 'activitynet', 'ucf101', 'hmdb51', 'pandakill', 'pandakill_lstm', 'court'] if opt.dataset == 'kinetics': validation_data = Kinetics( opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'activitynet': validation_data = ActivityNet( opt.video_path, opt.annotation_path, 'validation', False, opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'ucf101': validation_data = UCF101( opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'hmdb51': validation_data = HMDB51( opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'pandakill': validation_data = PANDAKILL( opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'court': validation_data = COURT( opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'pandakill_lstm': validation_data = PANDAKILL( opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=1) return validation_data
def get_training_data(video_path, annotation_path, dataset_name, input_type, file_type, spatial_transform=None, temporal_transform=None, target_transform=None): assert dataset_name in [ 'kinetics', 'activitynet', 'ucf101', 'hmdb51', 'mit' ] assert input_type in ['rgb', 'flow'] assert file_type in ['jpg', 'hdf5'] if file_type == 'jpg': assert input_type == 'rgb', 'flow input is supported only when input type is hdf5.' if get_image_backend() == 'accimage': from datasets.loader import ImageLoaderAccImage loader = VideoLoader(image_name_formatter, ImageLoaderAccImage()) else: loader = VideoLoader(image_name_formatter) video_path_formatter = ( lambda root_path, label, video_id: root_path / label / video_id) else: if input_type == 'rgb': loader = VideoLoaderHDF5() else: loader = VideoLoaderFlowHDF5() video_path_formatter = (lambda root_path, label, video_id: root_path / label / f'{video_id}.hdf5') if dataset_name == 'activitynet': training_data = ActivityNet(video_path, annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform, video_loader=loader, video_path_formatter=video_path_formatter) else: # training_data = VideoDataset(video_path, # annotation_path, # 'training', # spatial_transform=spatial_transform, # temporal_transform=temporal_transform, # target_transform=target_transform, # video_loader=loader, # video_path_formatter=video_path_formatter) training_data = BlackAIdataset_( video_path, annotation_path, 'train', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform, video_loader=loader, video_path_formatter=video_path_formatter) return training_data
def get_training_data(video_path, annotation_path, dataset_name, input_type, file_type, spatial_transform=None, temporal_transform=None, target_transform=None, sample_t_stride=1): assert dataset_name in [ 'kinetics', 'mini_kinetics', 'activitynet', 'ucf101', 'hmdb51', 'mit', 'breakfast', 'mini_breakfast', 'movingmnist', 'movingmnist_blackframes', 'movingmnist_longterm', 'movingmnist_motiondiff', 'movingmnist_motionsame', 'movingmnist_frequencies', 'movingmnist_frequencies_complex', 'something', 'movingmnist_static' ] assert input_type in ['rgb', 'flow'] assert file_type in ['jpg', 'hdf5', None] if file_type == 'jpg': assert input_type == 'rgb', 'flow input is supported only when input type is hdf5.' if 'movingmnist' in dataset_name: image_name_formatter = mnist_image_name_formatter elif 'something' in dataset_name: image_name_formatter = something_image_name_formatter else: image_name_formatter = usual_image_name_formatter if get_image_backend() == 'accimage': from datasets.loader import ImageLoaderAccImage loader = VideoLoader(image_name_formatter, ImageLoaderAccImage()) else: loader = VideoLoader(image_name_formatter) video_path_formatter = ( lambda root_path, label, video_id: root_path / label / video_id) if 'movingmnist' in dataset_name or 'something' in dataset_name: video_path_formatter = ( lambda root_path, label, video_id: root_path / video_id) else: if input_type == 'rgb': loader = VideoLoaderHDF5() else: loader = VideoLoaderFlowHDF5() if dataset_name in ['kinetics', 'mini_kinetics']: video_path_formatter = (lambda root_path, label, video_id: root_path / label / f'{video_id}') else: video_path_formatter = (lambda root_path, label, video_id: root_path / label / f'{video_id}.hdf5') print("video_path_formatter", video_path_formatter) if dataset_name == 'activitynet': training_data = ActivityNet(video_path, annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform, video_loader=loader, video_path_formatter=video_path_formatter) elif dataset_name in ['kinetics', 'mini_kinetics']: training_data = VideoDataset(Path( os.path.join(video_path, "h5_train_frames")), annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform, video_loader=loader, video_path_formatter=video_path_formatter) else: print("Building VideoDataset for", dataset_name) #print(spatial_transform) #print(temporal_transform) #print(loader) training_data = VideoDataset(video_path, annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform, video_loader=loader, video_path_formatter=video_path_formatter) return training_data
def __init__(self, *args, **kwargs): ActivityNet.__init__(self, *args, **kwargs) DatasetTSN.__init__(self, *args, **kwargs)
def get_validation_set(opt, spatial_transform, temporal_transform, target_transform): assert opt.dataset in ['kinetics', 'kinetics_adv', 'kinetics_bkgmsk', 'kinetics_human_msk', 'kinetics_adv_msk', 'activitynet', 'ucf101', 'hmdb51', 'diving48'] if opt.dataset == 'kinetics': validation_data = Kinetics( opt.video_path+'/val', opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'kinetics_adv': validation_data = Kinetics_adv( opt.video_path+'/val', opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration, place_pred_path=opt.place_pred_path, is_place_soft_label=opt.is_place_soft) elif opt.dataset == 'kinetics_bkgmsk': validation_data = Kinetics_bkgmsk( opt.video_path+'/val', opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration, detection_path=opt.human_dets_path, mask_ratio=opt.mask_ratio) elif opt.dataset == 'kinetics_adv_msk': validation_data_1 = Kinetics_adv( opt.video_path+'/val', opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration, place_pred_path=opt.place_pred_path, is_place_soft_label=opt.is_place_soft) validation_data_2 = Kinetics_human_msk( opt.video_path+'/val', opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration, detection_path=opt.human_dets_path, mask_ratio=opt.mask_ratio) validation_data = [validation_data_1, validation_data_2] elif opt.dataset == 'activitynet': validation_data = ActivityNet( opt.video_path, opt.annotation_path, 'validation', False, opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'ucf101': validation_data = UCF101( opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration, vis=opt.vis) elif opt.dataset == 'hmdb51': validation_data = HMDB51( opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration, vis=opt.vis) elif opt.dataset == 'diving48': validation_data = Diving48( opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration, vis=opt.vis) return validation_data
def get_validation_set(opt, spatial_transform, temporal_transform, target_transform): assert opt.dataset in ['kinetics', 'activitynet', 'ucf101', 'hmdb51','something','fire'] if opt.dataset == 'kinetics': validation_data = Kinetics( opt.video_path+"/val_256", opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'activitynet': validation_data = ActivityNet( opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'ucf101': opt.annotation_path = opt.annotation_path.replace("train","test") #opt.annotation_path = opt.annotation_path + "/test_rgb_ucf101.txt" validation_data = UCF101( opt.video_path, opt.annotation_path, num_segments = opt.num_segments, modality = opt.modality, transform = spatial_transform, test_mode = True) elif opt.dataset == 'hmdb51': opt.annotation_path = opt.annotation_path.replace("train","val") validation_data = HMDB51( opt.video_path, opt.annotation_path, num_segments = opt.num_segments, modality = opt.modality, transform = spatial_transform) elif opt.dataset == 'fire': opt.annotation_path = opt.annotation_path.replace("train","test") validation_data = FIRE( opt.video_path, opt.annotation_path, num_segments = opt.num_segments, modality = opt.modality, transform = spatial_transform) elif opt.dataset == 'something': validation_data = Something( opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) return validation_data
def get_training_set(opt, spatial_transform, temporal_transform, target_transform): assert opt.dataset in ['kinetics', 'activitynet', 'ucf101', 'hmdb51'] if opt.dataset == 'kinetics': training_data = Kinetics(opt, opt.video_path, opt.annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'activitynet': training_data = ActivityNet(opt.video_path, opt.annotation_path, 'training', False, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'ucf101': if opt.compressed: if opt.mult_loss: training_data = UCF101M(opt, opt.annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) else: training_data = UCF101R(opt, opt.annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) else: training_data = UCF101(opt, opt.jpeg_path, opt.annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'hmdb51': if opt.compressed: if opt.mult_loss: training_data = HMDB51M(opt, opt.annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) else: training_data = HMDB51R(opt, opt.annotation_path, 'training', 0, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) else: training_data = HMDB51(opt, opt.jpeg_path, opt.annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) return training_data
def get_training_set(opt, spatial_transform, temporal_transform, target_transform): assert opt.dataset in [ 'kinetics', 'activitynet', 'ucf101', 'hmdb51', 'pkummd', 'pkummd_sim', 'pkummd_ed' ] if opt.dataset == 'kinetics': training_data = Kinetics(opt.video_path, opt.annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'activitynet': training_data = ActivityNet(opt.video_path, opt.annotation_path, 'training', False, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'ucf101': training_data = UCF101(opt.video_path, opt.annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'hmdb51': training_data = HMDB51(opt.video_path, opt.annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'pkummd': training_data = PKUMMD(opt.video_path, opt.annotation_path, 'training', False, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == "pkummd_sim": training_data = PKUMMD_SIM(opt.video_path, opt.annotation_path, 'training', False, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == "pkummd_ed": training_data = PKUMMD_ED(opt.video_path, opt.annotation_path, 'training', False, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) return training_data
def get_validation_set(opt, spatial_transform, temporal_transform, target_transform): assert opt.dataset in [ 'kinetics', 'activitynet', 'ucf101', 'hmdb51', 'pkummd', 'pkummd_sim', 'pkummd_ed' ] if opt.dataset == 'kinetics': validation_data = Kinetics(opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'activitynet': validation_data = ActivityNet(opt.video_path, opt.annotation_path, 'validation', False, opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'ucf101': validation_data = UCF101(opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'hmdb51': validation_data = HMDB51(opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'pkummd': validation_data = PKUMMD(opt.video_path, opt.annotation_path, 'validation', False, opt.n_val_samples, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'pkummd_sim': validation_data = PKUMMD_SIM(opt.video_path, opt.annotation_path, 'validation', False, opt.n_val_samples, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'pkummd_ed': validation_data = PKUMMD_ED(opt.video_path, opt.annotation_path, 'validation', False, opt.n_val_samples, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform, sample_duration=opt.sample_duration) return validation_data
def get_test_set(opt, spatial_transform, temporal_transform, target_transform): assert opt.dataset in [ 'kinetics', 'activitynet', 'ucf101', 'hmdb51', 'pkummd' ] assert opt.test_subset in ['val', 'test', 'train'] if opt.test_subset == 'val': subset = 'validation' elif opt.test_subset == 'test': subset = 'testing' elif opt.test_subset == 'train': subset = "training" if opt.dataset == 'kinetics': test_data = Kinetics(opt.video_path, opt.annotation_path, subset, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'activitynet': test_data = ActivityNet(opt.video_path, opt.annotation_path, subset, True, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'ucf101': test_data = UCF101(opt.video_path, opt.annotation_path, subset, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'hmdb51': test_data = HMDB51(opt.video_path, opt.annotation_path, subset, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'pkummd': test_data = PKUMMD(opt.video_path, opt.annotation_path, subset, True, 0, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform, sample_duration=opt.sample_duration, window_size=opt.window_size, window_stride=opt.window_stride, scores_dump_path=(opt.root_path + "/" + opt.scores_dump_path)) elif opt.dataset == "pkummd_sim": raise NotImplemented() elif opt.dataset == "pkummd_ed": raise NotImplemented() return test_data
def get_training_set(opt, spatial_transform, temporal_transform, target_transform): assert opt.dataset in ['kinetics', 'activitynet', 'ucf101', 'hmdb51', 'pandakill', 'pandakill_lstm','court'] if opt.dataset == 'kinetics': training_data = Kinetics( opt.video_path, opt.annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'activitynet': training_data = ActivityNet( opt.video_path, opt.annotation_path, 'training', False, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'ucf101': training_data = UCF101( opt.video_path, opt.annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'hmdb51': training_data = HMDB51( opt.video_path, opt.annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'pandakill': training_data = PANDAKILL( opt.video_path, opt.annotation_path, 'training', n_samples_for_each_video=16, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'court': training_data = COURT( opt.video_path, opt.annotation_path, 'training', n_samples_for_each_video=16, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'pandakill_lstm': training_data = PANDAKILL_LSTM( opt.video_path, opt.annotation_path, 'training', n_samples_for_each_video=16, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) return training_data
def get_test_set(opt, spatial_transform, temporal_transform, target_transform): assert opt.dataset in ['kinetics', 'activitynet', 'ucf101', 'hmdb51','something','fire'] assert opt.test_subset in ['val', 'test'] if opt.test_subset == 'val': subset = 'validation' elif opt.test_subset == 'test': subset = 'testing' if opt.dataset == 'kinetics': test_data = Kinetics( opt.video_path, opt.annotation_path, subset, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration, sample_stride=opt.sample_stride) elif opt.dataset == 'activitynet': test_data = ActivityNet( opt.video_path, opt.annotation_path, subset, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'ucf101': opt.annotation_path = opt.annotation_path + "/test_rgb_ucf101.txt" test_data = UCF101( opt.video_path, opt.annotation_path, num_segments = opt.num_segments, modality = opt.modality, transform = spatial_transform, test_mode = True) elif opt.dataset == 'hmdb51': test_data = HMDB51( opt.video_path, opt.annotation_path, subset, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'something': test_data = Something( opt.video_path, opt.annotation_path, subset, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'fire': opt.annotation_path = "/DATACENTER2/wxy/workspace/senet-3d/datasets/txt/test_fire.txt" test_data = FIRE( opt.video_path, opt.annotation_path, num_segments = opt.num_segments, modality = opt.modality, transform = spatial_transform, test_mode=True, test_idx=opt.test_idx) return test_data
def get_validation_set(opt, spatial_transform, temporal_transform, target_transform=None): assert opt.dataset in ['kinetics', 'activitynet', 'ucf101', 'hmdb51'] if opt.video_level_accuracy: val_or_test = 'test' if opt.dataset == 'kinetics' or opt.dataset == 'ucf101': val_or_test = 'validation' n_val_samples = 0 else: val_or_test = 'validation' n_val_samples = opt.n_val_samples if opt.dataset == 'kinetics': validation_data = Kinetics(opt, opt.video_path, opt.annotation_path, val_or_test, n_val_samples, spatial_transform, temporal_transform, target_transform, frames_sequence=opt.sample_duration) elif opt.dataset == 'activitynet': validation_data = ActivityNet(opt.jpeg_path, opt.annotation_path, val_or_test, False, opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'ucf101': if opt.compressed: validation_data = UCF101R(opt, opt.annotation_path, val_or_test, n_val_samples, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) else: validation_data = UCF101(opt, opt.jpeg_path, opt.annotation_path, val_or_test, n_val_samples, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'hmdb51': if opt.compressed: validation_data = HMDB51R(opt, opt.annotation_path, val_or_test, n_val_samples, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform, sample_duration=opt.sample_duration) else: validation_data = HMDB51(opt, opt.jpeg_path, opt.annotation_path, val_or_test, n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) return validation_data
def get_training_set(opt, spatial_transform, temporal_transform, target_transform): assert opt.dataset in ['kinetics', 'kinetics_adv', 'kinetics_bkgmsk', 'kinetics_adv_msk', 'activitynet', 'ucf101', 'hmdb51', 'diving48'] if opt.dataset == 'kinetics': training_data = Kinetics( opt.video_path+'/train', opt.annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'kinetics_adv': training_data = Kinetics_adv( opt.video_path+'/train', opt.annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform, place_pred_path=opt.place_pred_path, is_place_soft_label=opt.is_place_soft) elif opt.dataset == 'kinetics_bkgmsk': training_data = Kinetics_bkgmsk( opt.video_path+'/train', opt.annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform, detection_path=opt.human_dets_path, mask_ratio=opt.mask_ratio) elif opt.dataset == 'kinetics_adv_msk': training_data_1 = Kinetics_adv( opt.video_path+'/train', opt.annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform, place_pred_path=opt.place_pred_path, is_place_soft_label=opt.is_place_soft) training_data_2 = Kinetics_human_msk( opt.video_path+'/train', opt.annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform, detection_path=opt.human_dets_path, mask_ratio=opt.mask_ratio) training_data = [training_data_1, training_data_2] elif opt.dataset == 'activitynet': training_data = ActivityNet( opt.video_path, opt.annotation_path, 'training', False, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'ucf101': training_data = UCF101( opt.video_path, opt.annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'hmdb51': training_data = HMDB51( opt.video_path, opt.annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) elif opt.dataset == 'diving48': training_data = Diving48( opt.video_path, opt.annotation_path, 'training', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform) return training_data
def get_validation_set(opt, spatial_transform, temporal_transform, target_transform, spatio_temporal_transform=None): assert opt.dataset in [ 'kinetics', 'activitynet', 'ucf101', 'hmdb51', 'kth', 'kth2', 'sth', 'sth_init', 'gtea', 'jester', 'ucf50', 'ucf50_color', ] if opt.dataset == 'kinetics': validation_data = Kinetics(opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'activitynet': validation_data = ActivityNet(opt.video_path, opt.annotation_path, 'validation', False, opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'ucf101': validation_data = UCF101( opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform=spatial_transform, temporal_transform=temporal_transform, spatio_temporal_transform=spatio_temporal_transform, target_transform=target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'hmdb51': validation_data = HMDB51( opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform=spatial_transform, temporal_transform=temporal_transform, spatio_temporal_transform=spatio_temporal_transform, target_transform=target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'kth': validation_data = KTH( opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform=spatial_transform, temporal_transform=temporal_transform, spatio_temporal_transform=spatio_temporal_transform, target_transform=target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'kth2': validation_data = KTH2( opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform=spatial_transform, temporal_transform=temporal_transform, spatio_temporal_transform=spatio_temporal_transform, target_transform=target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'sth': validation_data = Something2( opt.video_path, opt.annotation_path, 'validation', spatial_transform=spatial_transform, temporal_transform=temporal_transform, spatio_temporal_transform=spatio_temporal_transform, target_transform=target_transform) elif opt.dataset == 'jester': validation_data = Jester( opt.video_path, opt.annotation_path, 'validation', spatial_transform=spatial_transform, temporal_transform=temporal_transform, spatio_temporal_transform=spatio_temporal_transform, target_transform=target_transform) elif opt.dataset == 'sth_init': validation_data = Something2Init( opt.video_path, opt.annotation_path, 'validation', spatial_transform=spatial_transform, temporal_transform=temporal_transform, spatio_temporal_transform=spatio_temporal_transform, target_transform=target_transform) elif opt.dataset == 'gtea': validation_data = GTEA( opt.video_path, opt.annotation_path, 'validation', spatial_transform=spatial_transform, temporal_transform=temporal_transform, spatio_temporal_transform=spatio_temporal_transform, target_transform=target_transform, test_split=opt.test_split) elif opt.dataset == 'ucf50': validation_data = UCF50( opt.video_path, opt.annotation_path, 'validation', spatial_transform=spatial_transform, temporal_transform=temporal_transform, spatio_temporal_transform=spatio_temporal_transform, target_transform=target_transform, test_split=opt.test_split) elif opt.dataset == 'ucf50_color': validation_data = UCF50( opt.video_path, opt.annotation_path, 'validation', spatial_transform=spatial_transform, temporal_transform=temporal_transform, spatio_temporal_transform=spatio_temporal_transform, target_transform=target_transform, test_split=opt.test_split) return validation_data
def get_validation_data(video_path, annotation_path, dataset_name, input_type, file_type, spatial_transform=None, temporal_transform=None, target_transform=None): assert dataset_name in [ 'kinetics', 'activitynet', 'ucf101', 'hmdb51', 'mit', 'somethingv2', 'somethingv1' ] assert input_type in ['rgb', 'flow'] assert file_type in ['jpg', 'hdf5'] if 'somethingv1' in dataset_name: formatter = sthv1_image_name_formatter elif 'somethingv2' in dataset_name: formatter = sthv2_image_name_formatter else: formatter = image_name_formatter if file_type == 'jpg': assert input_type == 'rgb', 'flow input is supported only when input type is hdf5.' if get_image_backend() == 'accimage': from datasets.loader import ImageLoaderAccImage loader = VideoLoader(formatter, ImageLoaderAccImage()) else: loader = VideoLoader(formatter) video_path_formatter = ( lambda root_path, label, video_id: root_path / label / video_id) else: if input_type == 'rgb': loader = VideoLoaderHDF5() else: loader = VideoLoaderFlowHDF5() video_path_formatter = (lambda root_path, label, video_id: root_path / label / '{}.hdf5'.format(video_id)) if dataset_name == 'activitynet': validation_data = ActivityNet( video_path, annotation_path, 'validation', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform, video_loader=loader, video_path_formatter=video_path_formatter) else: validation_data = VideoDatasetMultiClips( video_path, annotation_path, 'validation', spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform, video_loader=loader, video_path_formatter=video_path_formatter) return validation_data, collate_fn
def get_test_set(opt, spatial_transform, temporal_transform, target_transform, spatio_temporal_transform=None): assert opt.dataset in [ 'kinetics', 'activitynet', 'ucf101', 'hmdb51', 'kth', 'kth2', 'sth', 'sth_init', 'gtea', 'jester', 'ucf50', 'ucf50_color', 'real', ] assert opt.test_subset in ['val', 'test'] if opt.test_subset == 'val': subset = 'validation' elif opt.test_subset == 'test': subset = 'testing' if opt.dataset == 'kinetics': test_data = Kinetics(opt.video_path, opt.annotation_path, subset, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'activitynet': test_data = ActivityNet(opt.video_path, opt.annotation_path, subset, True, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'ucf101': test_data = UCF101(opt.video_path, opt.annotation_path, subset, 10, spatial_transform=spatial_transform, temporal_transform=temporal_transform, spatio_temporal_transform=spatio_temporal_transform, target_transform=target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'hmdb51': test_data = HMDB51(opt.video_path, opt.annotation_path, subset, 0, spatial_transform=spatial_transform, temporal_transform=temporal_transform, spatio_temporal_transform=spatio_temporal_transform, target_transform=target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'kth': test_data = KTH(opt.video_path, opt.annotation_path, subset, 0, spatial_transform=spatial_transform, temporal_transform=temporal_transform, spatio_temporal_transform=spatio_temporal_transform, target_transform=target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'kth2': test_data = KTH2(opt.video_path, opt.annotation_path, subset, 0, spatial_transform=spatial_transform, temporal_transform=temporal_transform, spatio_temporal_transform=spatio_temporal_transform, target_transform=target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'sth': test_data = Something2( opt.video_path, opt.annotation_path, subset, 0, spatial_transform=spatial_transform, temporal_transform=temporal_transform, spatio_temporal_transform=spatio_temporal_transform, target_transform=target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'jester': test_data = Jester(opt.video_path, opt.annotation_path, subset, 0, spatial_transform=spatial_transform, temporal_transform=temporal_transform, spatio_temporal_transform=spatio_temporal_transform, target_transform=target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'sth_init': test_data = Something2Init( opt.video_path, opt.annotation_path, subset, 0, spatial_transform=spatial_transform, temporal_transform=temporal_transform, spatio_temporal_transform=spatio_temporal_transform, target_transform=target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'gtea': test_data = GTEA(opt.video_path, opt.annotation_path, subset, 0, spatial_transform=spatial_transform, temporal_transform=temporal_transform, spatio_temporal_transform=spatio_temporal_transform, target_transform=target_transform, sample_duration=opt.sample_duration, test_split=opt.test_split) elif opt.dataset == 'ucf50': test_data = UCF50(opt.video_path, opt.annotation_path, subset, 0, spatial_transform=spatial_transform, temporal_transform=temporal_transform, spatio_temporal_transform=spatio_temporal_transform, target_transform=target_transform, sample_duration=opt.sample_duration, test_split=opt.test_split) elif opt.dataset == 'ucf50_color': test_data = UCF50(opt.video_path, opt.annotation_path, subset, 0, spatial_transform=spatial_transform, temporal_transform=temporal_transform, spatio_temporal_transform=spatio_temporal_transform, target_transform=target_transform, sample_duration=opt.sample_duration, test_split=opt.test_split) elif opt.dataset == 'real': test_data = REAL(opt.video_path, opt.annotation_path, subset, 0, spatial_transform=spatial_transform, temporal_transform=temporal_transform, spatio_temporal_transform=spatio_temporal_transform, target_transform=target_transform, sample_duration=opt.sample_duration) return test_data
def get_inference_data(video_path, annotation_path, dataset_name, input_type, file_type, inference_subset, spatial_transform=None, temporal_transform=None, target_transform=None, sample_t_stride=1): assert dataset_name in [ 'kinetics', 'mini_kinetics', 'activitynet', 'ucf101', 'hmdb51', 'mit', 'breakfast', 'mini_breakfast', 'movingmnist', 'movingmnist_blackframes', 'movingmnist_longterm', 'movingmnist_motiondiff', 'movingmnist_motionsame', 'movingmnist_frequencies', 'movingmnist_frequencies_complex', 'something', 'movingmnist_static' ] assert input_type in ['rgb', 'flow'] assert file_type in ['jpg', 'hdf5', None] assert inference_subset in ['train', 'val', 'test'] if file_type == 'jpg': assert input_type == 'rgb', 'flow input is supported only when input type is hdf5.' if 'movingmnist' in dataset_name: image_name_formatter = mnist_image_name_formatter elif 'something' in dataset_name: image_name_formatter = something_image_name_formatter else: image_name_formatter = usual_image_name_formatter if get_image_backend() == 'accimage': from datasets.loader import ImageLoaderAccImage loader = VideoLoader(image_name_formatter, ImageLoaderAccImage()) else: loader = VideoLoader(image_name_formatter) video_path_formatter = ( lambda root_path, label, video_id: root_path / label / video_id) if dataset_name in [ 'movingmnist', 'movingmnist_blackframes', 'movingmnist_longterm', 'something' ]: video_path_formatter = ( lambda root_path, label, video_id: root_path / video_id) else: if input_type == 'rgb': loader = VideoLoaderHDF5() else: loader = VideoLoaderFlowHDF5() video_path_formatter = (lambda root_path, label, video_id: root_path / label / f'{video_id}.hdf5') if inference_subset == 'train': subset = 'training' elif inference_subset == 'val': subset = 'validation' elif inference_subset == 'test': subset = 'testing' if dataset_name == 'activitynet': inference_data = ActivityNet(video_path, annotation_path, subset, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform, video_loader=loader, video_path_formatter=video_path_formatter, is_untrimmed_setting=True) else: inference_data = VideoDatasetMultiClips( video_path, annotation_path, subset, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform, video_loader=loader, video_path_formatter=video_path_formatter, target_type=['label', 'video_id', 'segment']) return inference_data, collate_fn
def get_test_set(opt, spatial_transform, temporal_transform, target_transform, score_sens_mode=False, score_inf_mode=False, inner_temp_transform=None): assert opt.dataset in [ 'kinetics', 'activitynet', 'ucf101', 'hmdb51', 'something' ] assert opt.test_subset in ['val', 'test'] if opt.test_subset == 'val': subset = 'validation' elif opt.test_subset == 'test': subset = 'testing' if opt.dataset == 'kinetics': test_data = Kinetics(opt.video_path, opt.annotation_path, subset, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration, sample_stride=opt.sample_stride) elif opt.dataset == 'activitynet': test_data = ActivityNet(opt.video_path, opt.annotation_path, subset, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'ucf101': test_data = UCF101( opt.video_path, opt.annotation_path, subset, # 0, 1, # sample 1 clip each video spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration, score_sens_mode=score_sens_mode, score_inf_mode=score_inf_mode) elif opt.dataset == 'hmdb51': test_data = HMDB51(opt.video_path, opt.annotation_path, subset, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'something': test_data = Something( opt.video_path, opt.annotation_path, subset, # 0, 1, # sample 1 clip each video spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration, score_sens_mode=score_sens_mode, score_inf_mode=score_inf_mode, inner_temp_transform=inner_temp_transform) return test_data
def get_inference_data(video_path, annotation_path, dataset_name, input_type, file_type, inference_subset, spatial_transform=None, temporal_transform=None, target_transform=None): assert dataset_name in [ 'kinetics', 'activitynet', 'ucf101', 'hmdb51', 'mit' ] assert input_type in ['rgb', 'flow'] assert file_type in ['jpg', 'hdf5'] assert inference_subset in ['train', 'val', 'test'] if file_type == 'jpg': assert input_type == 'rgb', 'flow input is supported only when input type is hdf5.' if get_image_backend() == 'accimage': from datasets.loader import ImageLoaderAccImage loader = VideoLoader(image_name_formatter, ImageLoaderAccImage()) else: loader = VideoLoader(image_name_formatter) video_path_formatter = ( lambda root_path, label, video_id: root_path / label / video_id) else: if input_type == 'rgb': loader = VideoLoaderHDF5() else: loader = VideoLoaderFlowHDF5() video_path_formatter = (lambda root_path, label, video_id: root_path / label / f'{video_id}.hdf5') if inference_subset == 'train': subset = 'training' elif inference_subset == 'val': subset = 'validation' elif inference_subset == 'test': subset = 'testing' if dataset_name == 'activitynet': inference_data = ActivityNet(video_path, annotation_path, subset, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform, video_loader=loader, video_path_formatter=video_path_formatter, is_untrimmed_setting=True) else: inference_data = VideoDatasetMultiClips( video_path, annotation_path, subset, spatial_transform=spatial_transform, temporal_transform=temporal_transform, target_transform=target_transform, video_loader=loader, video_path_formatter=video_path_formatter, target_type=['video_id', 'segment']) return inference_data, collate_fn
def get_test_set(opt, spatial_transform, temporal_transform, target_transform, image_type): assert opt.dataset in [ 'kinetics', 'activitynet', 'ucf101', 'hmdb51', 'synthetic', 'vlog' ] assert opt.test_subset in ['val', 'test'] if opt.test_subset == 'val': subset = 'validation' elif opt.test_subset == 'test': subset = 'testing' if opt.dataset == 'kinetics': test_data = Kinetics(opt.video_path, opt.annotation_path, subset, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'activitynet': test_data = ActivityNet(opt.video_path, opt.annotation_path, subset, True, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'ucf101': test_data = UCF101(opt.video_path, opt.annotation_path, subset, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'hmdb51': test_data = HMDB51(opt.video_path, opt.annotation_path, subset, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'synthetic': test_data = Synthetic(opt.video_path, opt.annotation_path, subset, 1, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration, channel_fuse_step=opt.channel_fuse, image_type=image_type) elif opt.dataset == 'vlog': test_data = Vlog(opt.video_path, opt.annotation_path, subset, 1, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration, image_type=image_type) return test_data
def get_test_set(opt, spatial_transform, temporal_transform, target_transform): assert opt.dataset in ['kinetics', 'activitynet', 'ucf101', 'hmdb51', 'grit'] assert opt.test_subset in ['val', 'test'] if opt.test_subset == 'val': subset = 'validation' elif opt.test_subset == 'test': subset = 'testing' if opt.dataset == 'kinetics': test_data = Kinetics( opt.video_path, opt.annotation_path, subset, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'activitynet': test_data = ActivityNet( opt.video_path, opt.annotation_path, subset, True, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'ucf101': test_data = UCF101( opt.video_path, opt.annotation_path, subset, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'hmdb51': test_data = HMDB51( opt.video_path, opt.annotation_path, subset, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'grit': test_data = GRIT( opt.video_path, opt.annotation_path, subset, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) return test_data
def get_test_set(opt, spatial_transform, temporal_transform, target_transform): assert opt.dataset in ['kinetics', 'activitynet', 'ucf101', 'hmdb51', 'pandakill', 'court'] assert opt.test_subset in ['val', 'test'] if opt.test_subset == 'val': subset = 'validation' elif opt.test_subset == 'test': subset = 'validation' if opt.dataset == 'kinetics': test_data = Kinetics( opt.video_path, opt.annotation_path, subset, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'activitynet': test_data = ActivityNet( opt.video_path, opt.annotation_path, subset, True, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'ucf101': test_data = UCF101( opt.video_path, opt.annotation_path, subset, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'hmdb51': test_data = HMDB51( opt.video_path, opt.annotation_path, subset, 0, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'pandakill': test_data = PANDAKILL( opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=opt.sample_duration) elif opt.dataset == 'court': test_data = COURT( opt.video_path, opt.annotation_path, 'validation', opt.n_val_samples, spatial_transform, temporal_transform, target_transform, sample_duration=1) return test_data