Thanks for the information.
The input shapes don’t match your view call inside the model, as you are pushing the 3 channels to the batch dimension.
Could you use images.view(images.shape(0), -1) to create the views?
This will create an input tensor of [batch_size, 28*28*3 = 2352], so that you would also need to adapt the input features of your linear layer.
Also, based on your initial description it seems you expect to deal with single-channel images, so are you transforming them to RGB somewhere?