Although torch.all(feature1 == feature2) would return true, the outputs would differ quite a bit. Do you have an idea of why this would be the case? The shapes all seemed to match.

That may be the float precision, the absolute value |feature1 - feature2| might be smaller that a threshold value t, with t very small like 10^(-6). If |feature1 - feature2| < t, then  torch.all will return True. It is similar to numpy.allclose.
torch.tensor([1,2]) == torch.tensor([1,2.0000001]) # returns tensor([True, True])
torch.tensor([1,2]) == torch.tensor([1,2.000001]) # returns tensor([ True, False])