It is sort of expected:

Numpy is very liberal in accepting inputs (you can pass lists to most functions, too),
PyTorch tries to play nicely by providing inferfaces like __array__   (e.g. sometimes - but not always - you can pass Tensors to matplotlib functions).

Best regards
Thomas