I ran the code and the mistake is this:
In your model definition, the first linear layer (self.fc1) takes as input 400 neurons whereas during the forward() call, the input to the self.fc1() has the shape torch.Size([1, 44944]). So change your model definition
from:
self.fc1 = nn.Linear(16*5*5, 120)
to:
self.fc1 = nn.Linear(16*53*53, 120)