Images getting saved randomly while applying transforms

I am trying to create to data using torch transform. But when I am trying to save the images are saving in random manner.
import torch

import torchvision

import torchvision.transforms as transforms

from torchvision.utils import save_image

import cv2

from skimage.util import random_noise

my_transforms = transforms.Compose([

transforms.ToTensor(),

transforms.Resize((30,120)),

transforms.ColorJitter(brightness=0.5),

#transforms.RandomPerspective(distortion_scale=0.5, p=1, fill=1),

#transforms.RandomHorizontalFlip(p=0.1),

#transforms.RandomAffine(degrees=(10), scale=(.9, 1.1), shear=0),

#transforms.GaussianBlur(kernel_size=1, sigma=(0.1, 2.0)),

#transforms.Pad(padding=5, fill=1, padding_mode='constant')



])

dataset = torchvision.datasets.ImageFolder(root=“W:/2/…”,transform=my_transforms)

loader = torch.utils.data.DataLoader(dataset=dataset, batch_size=1, shuffle=False)

Could you post the code, which shows how the images are saved?
Also, which order do you expect to see and which one is currently used while saving?
Since you are using an ImageFolder, did you check in which order the folder names are loaded?

I have saved images number wise (0.jpg,1.jpg) and the images are getting loaded like this :-
(‘W:/2/med-ROI\images\0.jpg’,)
(‘W:/2/med-ROI\images\1.jpg’,)
(‘W:/2/med-ROI\images\10.jpg’,)
(‘W:/2/med-ROI\images\100.jpg’,)
(‘W:/2/med-ROI\images\101.jpg’,)
(‘W:/2/med-ROI\images\102.jpg’,)
(‘W:/2/med-ROI\images\103.jpg’,)
(‘W:/2/med-ROI\images\104.jpg’,)
(‘W:/2/med-ROI\images\105.jpg’,)
(‘W:/2/med-ROI\images\106.jpg’,)
(‘W:/2/med-ROI\images\107.jpg’,)
(‘W:/2/med-ROI\images\108.jpg’,)
(‘W:/2/med-ROI\images\109.jpg’,)
(‘W:/2/med-ROI\images\11.jpg’,)
(‘W:/2/med-ROI\images\110.jpg’,)
(‘W:/2/med-ROI\images\111.jpg’,)
(‘W:/2/med-ROI\images\112.jpg’,)
(‘W:/2/med-ROI\images\113.jpg’,)
(‘W:/2/med-ROI\images\114.jpg’,)
(‘W:/2/med-ROI\images\115.jpg’,)
(‘W:/2/med-ROI\images\116.jpg’,)
(‘W:/2/med-ROI\images\117.jpg’,)
(‘W:/2/med-ROI\images\118.jpg’,)
(‘W:/2/med-ROI\images\119.jpg’,)
(‘W:/2/med-ROI\images\12.jpg’,)
(‘W:/2/med-ROI\images\120.jpg’,)
(‘W:/2/med-ROI\images\121.jpg’,)
(‘W:/2/med-ROI\images\122.jpg’,)
(‘W:/2/med-ROI\images\123.jpg’,)
(‘W:/2/med-ROI\images\124.jpg’,)
(‘W:/2/med-ROI\images\125.jpg’,)
(‘W:/2/med-ROI\images\126.jpg’,)
(‘W:/2/med-ROI\images\127.jpg’,)
(‘W:/2/med-ROI\images\128.jpg’,)
(‘W:/2/med-ROI\images\129.jpg’,)
(‘W:/2/med-ROI\images\13.jpg’,)
(‘W:/2/med-ROI\images\130.jpg’,)
(‘W:/2/med-ROI\images\131.jpg’,)
(‘W:/2/med-ROI\images\132.jpg’,)
(‘W:/2/med-ROI\images\133.jpg’,)
(‘W:/2/med-ROI\images\134.jpg’,)
(‘W:/2/med-ROI\images\135.jpg’,)
(‘W:/2/med-ROI\images\136.jpg’,)
(‘W:/2/med-ROI\images\137.jpg’,)
(‘W:/2/med-ROI\images\138.jpg’,)
(‘W:/2/med-ROI\images\139.jpg’,)
(‘W:/2/med-ROI\images\14.jpg’,)
(‘W:/2/med-ROI\images\140.jpg’,)
(‘W:/2/med-ROI\images\141.jpg’,)
(‘W:/2/med-ROI\images\142.jpg’,)
(‘W:/2/med-ROI\images\143.jpg’,)
(‘W:/2/med-ROI\images\144.jpg’,)
(‘W:/2/med-ROI\images\145.jpg’,)
(‘W:/2/med-ROI\images\146.jpg’,)
(‘W:/2/med-ROI\images\147.jpg’,)
(‘W:/2/med-ROI\images\148.jpg’,)
(‘W:/2/med-ROI\images\149.jpg’,)
(‘W:/2/med-ROI\images\15.jpg’,)
(‘W:/2/med-ROI\images\150.jpg’,)
(‘W:/2/med-ROI\images\151.jpg’,)
(‘W:/2/med-ROI\images\152.jpg’,)
(‘W:/2/med-ROI\images\153.jpg’,)
(‘W:/2/med-ROI\images\154.jpg’,)
(‘W:/2/med-ROI\images\155.jpg’,)
(‘W:/2/med-ROI\images\156.jpg’,)
(‘W:/2/med-ROI\images\157.jpg’,)
(‘W:/2/med-ROI\images\158.jpg’,)
(‘W:/2/med-ROI\images\159.jpg’,)
(‘W:/2/med-ROI\images\16.jpg’,)
(‘W:/2/med-ROI\images\160.jpg’,)
(‘W:/2/med-ROI\images\161.jpg’,)
(‘W:/2/med-ROI\images\162.jpg’,)
(‘W:/2/med-ROI\images\163.jpg’,)
(‘W:/2/med-ROI\images\164.jpg’,)
(‘W:/2/med-ROI\images\165.jpg’,)
(‘W:/2/med-ROI\images\166.jpg’,)
(‘W:/2/med-ROI\images\167.jpg’,)
(‘W:/2/med-ROI\images\168.jpg’,)
(‘W:/2/med-ROI\images\169.jpg’,)
(‘W:/2/med-ROI\images\17.jpg’,)
(‘W:/2/med-ROI\images\170.jpg’,)
(‘W:/2/med-ROI\images\171.jpg’,)
(‘W:/2/med-ROI\images\172.jpg’,)
(‘W:/2/med-ROI\images\173.jpg’,)
(‘W:/2/med-ROI\images\174.jpg’,)
(‘W:/2/med-ROI\images\175.jpg’,)
(‘W:/2/med-ROI\images\176.jpg’,)
(‘W:/2/med-ROI\images\177.jpg’,)
(‘W:/2/med-ROI\images\178.jpg’,)
(‘W:/2/med-ROI\images\179.jpg’,)
(‘W:/2/med-ROI\images\18.jpg’,)
(‘W:/2/med-ROI\images\180.jpg’,)
(‘W:/2/med-ROI\images\181.jpg’,)
(‘W:/2/med-ROI\images\182.jpg’,)
(‘W:/2/med-ROI\images\183.jpg’,)
(‘W:/2/med-ROI\images\184.jpg’,)
(‘W:/2/med-ROI\images\185.jpg’,)
(‘W:/2/med-ROI\images\186.jpg’,)
(‘W:/2/med-ROI\images\187.jpg’,)
(‘W:/2/med-ROI\images\188.jpg’,)
(‘W:/2/med-ROI\images\189.jpg’,)
(‘W:/2/med-ROI\images\19.jpg’,)
(‘W:/2/med-ROI\images\190.jpg’,)
(‘W:/2/med-ROI\images\191.jpg’,)
(‘W:/2/med-ROI\images\192.jpg’,)
(‘W:/2/med-ROI\images\193.jpg’,)
(‘W:/2/med-ROI\images\194.jpg’,)
(‘W:/2/med-ROI\images\195.jpg’,)
(‘W:/2/med-ROI\images\196.jpg’,)
(‘W:/2/med-ROI\images\197.jpg’,)
(‘W:/2/med-ROI\images\198.jpg’,)
(‘W:/2/med-ROI\images\199.jpg’,)
(‘W:/2/med-ROI\images\2.jpg’,)
(‘W:/2/med-ROI\images\20.jpg’,)
(‘W:/2/med-ROI\images\200.jpg’,)
(‘W:/2/med-ROI\images\201.jpg’,)
(‘W:/2/med-ROI\images\202.jpg’,)
(‘W:/2/med-ROI\images\203.jpg’,)
(‘W:/2/med-ROI\images\204.jpg’,)
(‘W:/2/med-ROI\images\205.jpg’,)
(‘W:/2/med-ROI\images\206.jpg’,)
(‘W:/2/med-ROI\images\207.jpg’,)
(‘W:/2/med-ROI\images\208.jpg’,)
(‘W:/2/med-ROI\images\209.jpg’,)

This are paths of how my images are getting loaded

I’m not sure if the sorting makes the trouble, but as you can see you would have to prepend zeros to the file names in case you want the sorting to be executed as:

000.jpg
001.jpg
002.jpg
...
010.jpg
011.jpg
...
020.jpg
...

Is there no other way? Because right now I have images in thousands then it can increase to tens of thousands then again I have to label all.

I tried by creating my custom dataset loader from the csv file. But it is giving me some error.
Code of the custom dataset loader.
class CustomDataset(torch.utils.data.Dataset):

def __init__(self, csv_path, images_folder, transform = None):

    self.df = pd.read_csv(csv_path)

    self.images_folder = images_folder

    self.transform = transform

def __len__(self):

    return len(self.df)

def __getitem__(self, index):

    filename = self.df[index, "Images"]

    image = PIL.Image.open(os.path.join(self.images_folder, filename))

    if self.transform is not None:

        image = self.transform(image)

    return image

I am getting this error:-
KeyError: (0, ‘Images’)