Thanks for the reply.
The values from the model come out the same. Like below.
y_pred= tensor([[ 0.0298, -0.0148, -0.0226,  ...,  0.0066,  0.0391, -0.0161],
        [ 0.0298, -0.0148, -0.0226,  ...,  0.0066,  0.0391, -0.0161],
        [ 0.0298, -0.0148, -0.0226,  ...,  0.0066,  0.0391, -0.0161],
        ...,
        [ 0.0298, -0.0148, -0.0226,  ...,  0.0066,  0.0391, -0.0161],
        [ 0.0298, -0.0148, -0.0226,  ...,  0.0066,  0.0391, -0.0161],
        [ 0.0298, -0.0148, -0.0226,  ...,  0.0066,  0.0391, -0.0161]],
       device='cuda:0', grad_fn=<AddmmBackward>)

_, output_index = torch.max(y_pred, 1)
output_index = tensor([16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
        16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
        16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
        16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
        16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
        16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
        16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
        16, 16], device='cuda:0')

y_true = tensor([ 4, 11, 13, 13, 16,  2,  7, 13, 14,  2,  5,  5,  0,  1,  6, 10,  3,  7,
         1, 14, 12,  9,  6, 13, 16, 15,  1, 11, 13, 12,  6, 15,  3,  2, 13,  8,
         4,  4, 12, 11, 16,  0, 15,  1, 10,  6, 17, 13,  9,  3,  8, 14,  3,  0,
        11,  3,  3,  5, 14,  5,  5, 11, 10,  0,  0, 15,  5, 16,  2, 16,  3, 13,
         1, 15, 13,  0,  3,  3,  6, 17, 16,  1, 15,  0,  5,  0, 15, 13,  1,  4,
         7,  7,  0,  1, 16, 12,  4, 12, 12,  3, 17,  5, 10, 13, 17,  0,  6, 11,
        12,  7, 16, 15,  1,  0,  5,  5, 13,  0,  5, 16,  4,  0,  5,  6, 16, 12,
         0, 11], device='cuda:0')