in src/transformers/data/datasets/kinetics_datasets.py [0:0]
def __getitem__(self, index):
sample = self.dataset_samples[index]
if self.mode == 'train':
buffer = self.loadvideo_decord(sample)
if len(buffer) == 0:
while len(buffer) == 0:
index = np.random.randint(len(self.dataset_samples))
sample = self.dataset_samples[index]
buffer = self.loadvideo_decord(sample)
elif self.mode == 'validation':
buffer = self.loadvideo_decord(sample)
if len(buffer) == 0:
while len(buffer) == 0:
index = np.random.randint(len(self.dataset_samples))
sample = self.dataset_samples[index][ind]
buffer = self.loadvideo_decord(sample)
elif self.mode == 'test':
buffer = self.loadvideo_test_decord(sample)
if len(buffer) == 0:
err_msg = 'Video file %s cannot be found or read, please check your data.' % sample
raise RuntimeError(err_msg)
else:
print('Invalid mode. We only support train, validation and test.')
buffer = self.data_transform(buffer)
return buffer, self.label_array[index], sample.split(".")[0]