tf.keras.ops.arctan2
Элемент-но арктангенс от x1/x2, правильно выбирающий квадрант.
tf.keras.ops.arctan2(
x1, x2
)
Квадрант (т.е., ветвь) выбирается таким образом, что arctan2(x1, x2) является подписанным углом в радианах между лучом, заканчивающимся в начале координат и проходящим через точку (1, 0), и лучом, заканчивающимся в начале координат и проходящим через точку (x2, x1). (Обратите внимание на перестановку ролей: «координата y» — первый параметр функции, «координата x» — второй.) Согласно соглашению IEEE, эта функция определена для x2 = +/-0 и для одного или обоих x1 и x2 = +/-inf.
| Аргументы | |
|---|---|
x1 | Первый входной тензор. |
x2 | Второй входной тензор. |
| Возвращает | |
|---|---|
Тензор углов в радианах, в диапазоне [-pi, pi]. |
Примеры:
Рассмотрим четыре точки в разных квадрантах:
>>> x = keras.ops.convert_to_tensor([-1, +1, +1, -1]) >>> y = keras.ops.convert_to_tensor([-1, -1, +1, +1]) >>> keras.ops.arctan2(y, x) * 180 / numpy.pi array([-135., -45., 45., 135.], dtype=float32)
Обратите внимание на порядок параметров. arctan2 также определен, когда x2=0 и в нескольких других точках, получая значения в диапазоне [-pi, pi]:
>>> keras.ops.arctan2( ... keras.ops.array([1., -1.]), ... keras.ops.array([0., 0.]), ... ) array([ 1.5707964, -1.5707964], dtype=float32) >>> keras.ops.arctan2( ... keras.ops.array([0., 0., numpy.inf]), ... keras.ops.array([+0., -0., numpy.inf]), ... ) array([0., 3.1415925, 0.7853982], dtype=float32)
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/keras/ops/arctan2