I’m currently using torch.sub alongside torch.div to obtain the MAPE between my predicted and true labels for my neural network although I’m not getting the answers I’m expecting. According to the example in the documentation, I should be getting a 4x1 tensor, not 4x4.
Could anyone clear this up for me?

print('y_true ', y_true)
y_true  tensor([[ 46],
[262],
[ 33],
[ 35]], device=‘cuda:0’, dtype=torch.int16)


print('y_pred ', y_pred)
y_pred  tensor([[[308.5075]],
[[375.8983]],
[[389.4587]],
[[406.4957]]], device=‘cuda:0’, grad_fn=)


print('torch.sub ', torch.sub(y_true, y_pred))
torch.sub  tensor([[[-262.5075],
[ -46.5075],
[-275.5075],
[-273.5075]],
    [[-329.8983],
     [-113.8983],
     [-342.8983],
     [-340.8983]],

    [[-343.4587],
     [-127.4587],
     [-356.4587],
     [-354.4587]],

    [[-360.4957],
     [-144.4957],
     [-373.4957],
     [-371.4957]]], device='cuda:0', grad_fn=<SubBackward0>)