tfg.math.interpolation.slerp.vector_weights

Spherical linear interpolation (slerp) between two unnormalized vectors.

tfg.math.interpolation.slerp.vector_weights(
    vector1,
    vector2,
    percent,
    eps=None,
    name=None
)

Defined in math/interpolation/slerp.py.

This function applies geometric slerp to unnormalized vectors by first normalizing them to return the interpolation weights. It reduces to lerp when input vectors are exactly anti-parallel.

Note:

In the following, A1 to An are optional batch dimensions.

Args:

  • vector1: A tensor of shape [A1, ... , An, M], which stores a normalized vector in its last dimension.
  • vector2: A tensor of shape [A1, ... , An, M], which stores a normalized vector in its last dimension.
  • percent: A float or tensor with shape broadcastable to the shape of input vectors.
  • eps: A small float for operation safety. If left None, its value is automatically selected using dtype of input vectors.
  • name: A name for this op. Defaults to "vector_weights".

Raises:

  • ValueError: if the shape of vector1, vector2, or percent is not supported.

Returns:

Two tensors of shape [A1, ... , An, 1], representing interpolation weights for each input vector.