bro, u saved me from going into a pit of rage and self loathing.
i was training my model and the labels were initially unit8, i changed them to int8 and passed them to CE Loss. I was thinking about why is there an error as the model was fine and tried various other tweaks to the model.
turns out it was the dtype of labels which was wrong, such a silly mistake (i wanna cringe by the very thought of that).