Solved by AladdinPerzon in post #6 
              
              
                After the two conv layers the shape is [32, 64, 8, 8] so when you’re doing .view the shapes get screwed up. I modified your net to 
class ConvNet(nn.Module):

    def __init__(self):
        super(ConvNet, self).__init__()
        self.conv1 = nn.Conv2d(3, 32, 7)
        self.max_pool = nn.MaxPool2d…