Skip to content

Instantly share code, notes, and snippets.

View mrhe13's full-sized avatar

He Jichen mrhe13

  • Huazhong University of Science and Technology
  • Huazhong University of Science and Technology
View GitHub Profile
@nikola-j
nikola-j / atan2.py
Last active September 22, 2023 02:51
Atan2 pytorch onnx
def my_atan2(y, x):
pi = torch.from_numpy(np.array([np.pi])).to(y.device, y.dtype)
ans = torch.atan(y / (x + 1e-6))
ans += ((y > 0) & (x < 0)) * pi
ans -= ((y < 0) & (x < 0)) * pi
ans *= (1 - ((y > 0) & (x == 0)) * 1.0)
ans += ((y > 0) & (x == 0)) * (pi / 2)
ans *= (1 - ((y < 0) & (x == 0)) * 1.0)
ans += ((y < 0) & (x == 0)) * (-pi / 2)
return ans