hi again, I just reduce some layer and the size of kernel, after that , the model looks  like this:
        self.conv_block1 = nn.Sequential(
            nn.Conv2d(3,96,kernel_size=3,stride=1),
            nn.ReLU(inplace=True),
            nn.MaxPool2d(3,1,ceil_mode=True),
            nn.BatchNorm2d(96,affine=False),
        )

        self.conv_block2 = nn.Sequential(
            nn.Conv2d(96,256,kernel_size=3,groups=2),
            nn.ReLU(inplace=True),
            nn.MaxPool2d(3,1,ceil_mode=True),
            nn.BatchNorm2d(256,affine=False),
        )

        self.conv_block3_ch = nn.Sequential(
            nn.Conv2d(256,256,kernel_size=3,stride=1,padding=1),
            nn.ReLU(inplace=True),
            nn.MaxPool2d(3,3),
        )

        self.classifier = nn.Sequential(
            nn.Linear(8*8*256,4096),
            nn.ReLU(True),
            nn.Linear(4096,4096),
            nn.ReLU(True),
            nn.Dropout(),
            nn.Linear(4096,10),
        )

    def forward(self,x):

        conv1 = self.conv_block1(x)
        conv2 = self.conv_block2(conv1)
        conv3 = self.conv_block3_ch(conv2)
        score = self.classifier(conv3)

        return score

but after I run this code, there is still some error:
Traceback (most recent call last):
  File "alexnet_try.py", line 165, in <module>
    main()
  File "alexnet_try.py", line 161, in main
    train(args, model, device, train_loader, optimizer, epoch)
  File "alexnet_try.py", line 83, in train
    output = model(data)
  File "/home/zqk/anaconda2/lib/python2.7/site-packages/torch/nn/modules/module.py", line 491, in __call__
    result = self.forward(*input, **kwargs)
  File "alexnet_try.py", line 74, in forward
    score = self.classifier(conv3)
  File "/home/zqk/anaconda2/lib/python2.7/site-packages/torch/nn/modules/module.py", line 491, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/zqk/anaconda2/lib/python2.7/site-packages/torch/nn/modules/container.py", line 91, in forward
    input = module(input)
  File "/home/zqk/anaconda2/lib/python2.7/site-packages/torch/nn/modules/module.py", line 491, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/zqk/anaconda2/lib/python2.7/site-packages/torch/nn/modules/linear.py", line 55, in forward
    return F.linear(input, self.weight, self.bias)
  File "/home/zqk/anaconda2/lib/python2.7/site-packages/torch/nn/functional.py", line 994, in linear
    output = input.matmul(weight.t())
RuntimeError: size mismatch, m1: [131072 x 8], m2: [16384 x 4096] at /opt/conda/conda-bld/pytorch_1524577177097/work/aten/src/THC/generic/THCTensorMathBlas.cu:249

I have computed the size after every conv_layer, the size of cifar10 dataset is 32x32, after conv1 the size of data is 28x28x96, the size reduce to 24x24x256 after conv2, and after the conv3 it becomes 8x8x256,what confuses me is that where is the 131072 and 8 in the error message come from?