Could you check the type of the input to the model?
Your model works fine if I pass a random input tensor in the shape [batch_size, 3, 70, 70] to it so I guess your custom Dataset is returning ints where tensors are expected.
Also note that your current implementation of your custom Dataset is recreating the ImageFolder in the __getitem__ method, which is not necessary and will slow down the code.
Use ImageFolder directly or initialize it in the __init__ method.