mindspore.Tensor.lerp

Tensor.lerp(end, weight)[source]

Does a linear interpolation of two tensors start and end based on a float or tensor weight.

If weight is a tensor, the shapes of two inputs need to be broadcast. If weight is a float, the shapes of end need to be broadcast.

Parameters
  • end (Tensor) – The tensor with the ending points. Data type must be float16 or float32.

  • weight (Union[float, Tensor]) – The weight for the interpolation formula. Must be a float or a scalar tensor with float16 or float32 data type.

Returns

Tensor, has the same type and shape as self tensor.

Raises
  • TypeError – If end is not a tensor.

  • TypeError – If weight is neither scalar(float) nor tensor.

  • TypeError – If dtype of end is neither float16 nor float32.

  • TypeError – If dtype of weight is neither float16 nor float32 when it is a tensor.

  • TypeError – If self tensor and end have different data types.

  • TypeError – If self tensor, end and weight have different data types when weight is a tensor.

  • ValueError – If end could not be broadcast to tensor with shape of self tensor.

  • ValueError – If weight could not be broadcast to tensor with shapes of end when it is a tensor.

Supported Platforms:

Ascend GPU CPU

Examples

>>> start = Tensor(np.array([1., 2., 3., 4.]), mindspore.float32)
>>> end = Tensor(np.array([10., 10., 10., 10.]), mindspore.float32)
>>> output = start.lerp( end, 0.5)
>>> print(output)
[5.5 6. 6.5 7. ]