nn.Conv2d( 1, 8, 5, padding=2,stride=2), 
        nn.ReLU()
        nn.Conv2d( 8,16, 3, padding=1,stride=2), 
        nn.ReLU()
        nn.Conv2d(16,32, 3, padding=1,stride=2),
        nn.ReLU()
        nn.Conv2d(32,32, 3, padding=1,stride=2),
        nn.ReLU()

try these series of conv layers before pooling
next  try one cycle scheduler
and still over fit try weight decay 0.01 ,if underfits  decrease the weight decay
further if you are trying to classify between one of the 3 mental state , its right to use CrossEntropy
but if there can be more than one mental state classify as output , try using sigmoid