I want to concatenate two layers of convolution
class Net(nn.Module):
    def __init__(self):
        super(Net,self).__init__()
        
        self.cnn1 = nn.Conv2d(in_channels=1, out_channels=32, kernel_size=3,stride=1, padding=1)
        self.batchnorm1 = nn.BatchNorm2d(32)       
      
        self.cnn2 = nn.Conv2d(in_channels=32, out_channels=16, kernel_size=5, stride=1, padding=2)
        self.batchnorm2 = nn.BatchNorm2d(16)
        
        
        self.maxpool2 = nn.MaxPool2d(kernel_size=2) 
        
        self.cnn3 = nn.Conv3d(in_channels=16, out_channels=64, kernel_size=3, stride=1, padding=2)
        self.relu = nn.ReLU() 
        self.maxpool3 = nn.MaxPool2d(kernel_size=2) 
        self.fc1 = nn.Linear(in_features=6451, out_features=800)   
        #self.droput = nn.Dropout(p=0.1)                   
        self.fc2 = nn.Linear(in_features=800, out_features=9)
        #self.droput = nn.Dropout(p=0.1)
        self.fc3 = nn.Linear(in_features=9, out_features=2)
       
        
    def forward(self,x):
        out = self.cnn1(x)
        out = self.batchnorm1(out)
        out1 = self.cnn2(out)
        out1 = self.batchnorm2(out1)
        combined = torch.cat((out,out1),1)
         out = out.view(combined.size(0),-1)   
         out = self.fc1(out)
        out = self.relu(out)
        out = self.fc2(out)
        out = self.relu(out)
        
        out = self.fc3(out)
        out = self.relu(out)
       
        return out
       
 


RuntimeError: mat1 and mat2 shapes cannot be multiplied (6451x800 and 6451x800)

I want to do conv1(3.3) -> conv2(1,1)-> concat two layers->pooling->conv->pooling->FC->softmax
help me pleaase