NumPy and PyTorch give different results

I am learning PyTorch from scratch and was following their official tutorials. I tried out the NumPy and Tensor only codes on this article and thought it would be a fascinating experiment if I could use the same inputs in both of these codes. I expected the results to be the same since I removed the randomness from the codes but still both of them are giving me different values for weights.

Can someone please explain to me why this happens or where I am going wrong?