mindspore.ops.jvp
- mindspore.ops.jvp(fn, inputs, v)[source]
Compute the jacobian-vector-product of the given network. jvp matches forward-mode differentiation.
- Parameters
fn (Union[Function, Cell]) – The function or net that takes Tensor inputs and returns single Tensor or tuple of Tensors.
inputs (Union[Tensor, tuple[Tensor], list[Tensor]]) – The inputs to fn .
v (Union[Tensor, tuple[Tensor], list[Tensor]]) – The vector in jacobian-vector-product. The shape and type of v should be the same as inputs .
- Returns
net_output (Union[Tensor, tuple[Tensor]]) - The result of fn(inputs) .
jvp (Union[Tensor, tuple[Tensor]]) - The result of jacobian-vector-product.
- Raises
TypeError – inputs or v does not belong to required types.
- Supported Platforms:
Ascend
GPU
CPU
Examples
>>> from mindspore import ops >>> from mindspore import Tensor >>> class Net(nn.Cell): ... def construct(self, x, y): ... return x**3 + y >>> x = Tensor(np.array([[1, 2], [3, 4]]).astype(np.float32)) >>> y = Tensor(np.array([[1, 2], [3, 4]]).astype(np.float32)) >>> v = Tensor(np.array([[1, 1], [1, 1]]).astype(np.float32)) >>> output = ops.jvp(Net(), (x, y), (v, v)) >>> print(output[0]) [[ 2. 10.] [30. 68.]] >>> print(output[1]) [[ 4. 13.] [28. 49.]]