PyTorch MultiLayer Perceptron Classification Size of Features vs Labels Wrong
You have stated that:


Batch size: 30
Input dimensionality: 10
Label dimensionality: 1


With this in mind, the output dimensionality of the MLP must be the same dimensionality as the labels, which is 1. Therefore, the output size of the MLP cannot be 10, but 1.

Apart from that, please note that concatenating 2 linear transformations (without any non-linearity in between) is equivalent to a single linear layer. Your MLP should have a non-linearity (e.g. ReLU) applied after fc1 and before fc2.