Training using this Data loader and data set is too slow

I am working on a data set that I stored in pickle extention the data set is set as this :
train data:


I think I am having a big delay in training because of this :

class CustomDataset_train(Dataset):
   def __init__(self):

     self.data_path = dataset_dir_train
     file_list = glob.glob(self.data_path + "*") = []
     for class_path in file_list:
          class_name = class_path.split("\\")[-1]
          for data_path in glob.glob(class_path + "/*.pickle"):
     [data_path, class_name])

     self.class_map = {'class1 ': 0,

   def __len__(self):

       return len(
   def __getitem__(self, idx):

     data_path, class_name =[idx]

    data = pickle.load(file=open(data_path, "rb"))

    class_id = self.class_map[class_name]


    return (fused_tensor_data, class_id)

the data is stored as a numpy array with the shape of 250,164,3 in every pickle file . is there a solution to make it faster ? something like DataFolder