Check the shape of self.image in the __getitem__ and make sure you can properly index it in dim0.
@my3bikaht NIT: if your data augmentation applies random transformations, applying it in the __init__ would transform each sample only once and no random augmentation would be used.