I cannot reproduce this issue. The saved numpy array equals the tensor in the print statement on my machine.
Could you print the following statement in your code:
np.allclose(output_teacher_batch.cpu(), output_teacher_batch.cpu().numpy())