If you are using convnets, then you must explicitly tell how many channels your image has. In your case, I guess you should do something like tensor_training_x = tensor_training_x.unsqueeze(1) to get a tensor of size N x 1 x 33 x 33.
You may get errors from the fact that you flatten your feature maps to pass it to a dense layer. This means that your architecture doesn’t allow arbitrary image sizes as inputs. You should do some debugging to get the dimensions right. For instance, try putting a print(x.size()) after your second convolution in your forward method. For it to work you should get a feature map of shape [5, 5, 10].
Hey thanks for your reply! I had some problems with this website and didn’t see any of your replies when I first asked my question. Also I wasn’t allowed edit my post or post more than one image at a time so I just gave up. This time hopefully it works better.
So I’ll just summarize what I’m trying to do. I have a dataframe that is 23000x1090 . Each row corresponds to a different image. The first line of the row is the label and the rest (1089=33x33) is the pixel values:
There are 23 differend classes and each class is made up of 1000 images. The first 1000 images are all class A, second thousand class B etc. My trainset will be created from the first 900 and testset from the last 100:
I then construct the testset, trainset and the loaders:
This is the network:
But when i do this:
This is the error:
If I convert the values inside the tensors to Long I get a different error (can post that too if this post works).