Hi.I am trying to train my model on cifar-10 dataset.
Here when i started training my code my loss is not even updating my loss is just at 2.30.It is not even updating.I really need some help to look on this
My training code is
for epoch in range(2):  # loop over the dataset multiple times

    running_loss = 0.0
    for i, data in enumerate(train_loader, 0):
        # get the inputs
        inputs,labels = data
        inputs,labels=inputs.to(device),labels.to(device)

        # zero the parameter gradients
        optimizer.zero_grad()

        # forward + backward + optimize
        outputs = model(inputs)
        #print(outputs)
        loss = criterian1(outputs, labels)
        loss.backward()
        optimizer.step()
        # print statistics
        running_loss += loss.item()
        if i % 2000 == 1999:    # print every 2000 mini-batches
            print('[%d, %5d] loss: %.3f' %
                  (epoch + 1, i + 1, running_loss / 2000))
            running_loss = 0.0

print('Finished Training')

The output of above code is
[1,  2000] loss: 2.304
[1,  4000] loss: 2.306
[1,  6000] loss: 2.305
[1,  8000] loss: 2.304
[1, 10000] loss: 2.306
[1, 12000] loss: 2.305
[2,  2000] loss: 2.304
[2,  4000] loss: 2.304
[2,  6000] loss: 2.305
[2,  8000] loss: 2.305
[2, 10000] loss: 2.305
[2, 12000] loss: 2.306
Finished Training

My model code is
class Net(nn.Module):
  def __init__(self):
    super(Net,self).__init__()
    self.convblock1=nn.Sequential(
         nn.Conv2d(in_channels=3,out_channels=32,kernel_size=(3,3),padding=2,dilation=2,bias=False),
         nn.ReLU(),
         nn.Conv2d(in_channels=32,out_channels=64,bias=False,padding=2,kernel_size=(3,3),dilation=2),
         nn.ReLU(),
         nn.Conv2d(in_channels=64,out_channels=128,bias=False,padding=2,kernel_size=(3,3),dilation=2),
         nn.ReLU()  
    )
    self.maxpool1=nn.MaxPool2d((2,2),stride=2)
    self.convblock2=nn.Sequential(
         nn.Conv2d(in_channels=128,out_channels=32,kernel_size=(1,1),bias=False),
         nn.ReLU(),
         nn.Conv2d(in_channels=32,out_channels=64,bias=False,padding=2,kernel_size=(3,3),dilation=2),
         nn.ReLU(),
         nn.Conv2d(in_channels=64,out_channels=128,bias=False,padding=2,kernel_size=(3,3),dilation=2),
         nn.ReLU()  
    )
    self.maxpool2=nn.MaxPool2d((2,2),stride=2)
    self.convblock3=nn.Sequential(
         nn.Conv2d(in_channels=128,out_channels=32,kernel_size=(1,1),bias=False),
         nn.ReLU(),
         nn.Conv2d(in_channels=32,out_channels=64,bias=False,padding=1,kernel_size=(3,3)),
         nn.ReLU(),
         nn.Conv2d(in_channels=64,out_channels=128,bias=False,padding=1,kernel_size=(3,3)),
         nn.ReLU()  
    )
    self.maxpool3=nn.MaxPool2d((2,2),stride=2)
    self.gap=nn.AdaptiveAvgPool2d((1,1))
    self.Fc=nn.Conv2d(in_channels=128,out_channels=10,kernel_size=(1,1),bias=False)

  def forward(self,x):
      x=self.convblock1(x)
      x=self.maxpool1(x)
      x=self.convblock2(x)
      x=self.maxpool2(x)
      x=self.convblock3(x)
      x=self.maxpool3(x)
      x=self.gap(x)
      x=self.Fc(x)
      return x;

Help will be greatly appreciated.Thank you