Here is the complete error traceback:
Traceback (most recent call last):
  File "c:/Users/LENOVO/Desktop/Dev/Currency-Classification/Using Pytorch/engine.py", line 54, in <module>
    train(model, optimizer, train_dl, 20)
  File "c:/Users/LENOVO/Desktop/Dev/Currency-Classification/Using Pytorch/engine.py", line 46, in train
    out = model(img)
  File "C:\Users\LENOVO\AppData\Local\Programs\Python\Python36\lib\site-packages\torch\nn\modules\module.py", line 550, in __call__   
    result = self.forward(*input, **kwargs)
  File "c:\Users\LENOVO\Desktop\Dev\Currency-Classification\Using Pytorch\model.py", line 28, in forward
    return self.network(x)
  File "C:\Users\LENOVO\AppData\Local\Programs\Python\Python36\lib\site-packages\torch\nn\modules\module.py", line 550, in __call__   
    result = self.forward(*input, **kwargs)
  File "C:\Users\LENOVO\AppData\Local\Programs\Python\Python36\lib\site-packages\torch\nn\modules\container.py", line 100, in forward 
    input = module(input)
  File "C:\Users\LENOVO\AppData\Local\Programs\Python\Python36\lib\site-packages\torch\nn\modules\module.py", line 550, in __call__   
    result = self.forward(*input, **kwargs)
  File "C:\Users\LENOVO\AppData\Local\Programs\Python\Python36\lib\site-packages\torch\nn\modules\conv.py", line 349, in forward      
    return self._conv_forward(input, self.weight)
  File "C:\Users\LENOVO\AppData\Local\Programs\Python\Python36\lib\site-packages\torch\nn\modules\conv.py", line 346, in _conv_forward
    self.padding, self.dilation, self.groups)
TypeError: conv2d(): argument 'input' (position 1) must be Tensor, not int

And my dataset class is returning image and label:
class CurrencyDataset(Dataset):
    def __init__(self, DATA_DIR, transforms=None):
        self.DATA_DIR = DATA_DIR
        self.transforms = transforms
        
    def __len__(self):
        return len(self.DATA_DIR)
        
    def __getitem__(self, idx):
        img, label = ImageFolder(self.DATA_DIR, transform=self.transforms)[idx]
        return img, label