Solved by paduvi in post #6 
              
              
                I realised that L2 Loss make loss value remain unchange. It works when I remove L2 Loss: 
# optimizer = optim.Adam(net.parameters(), lr=0.01, weight_decay=0.1)
optimizer = optim.Adam(model.parameters(), lr=0.001)

I think it’s a bug of Pytorch, but this result is still acceptable for me, so I will c…