2021-11-26 17:39:06 +08:00
mindspore.nn.Vjp
=================
2021-11-25 20:13:52 +08:00
2021-11-26 17:39:06 +08:00
.. py:class :: mindspore.nn.Vjp(fn)
2021-11-25 20:13:52 +08:00
2021-12-22 09:53:24 +08:00
<20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ſ ɱȻ<C9B1> (vector-Jacobian product, VJP)<29> <> VJP<4A> <50> Ӧ `<60> <> <EFBFBD> <EFBFBD> ģʽ <C4A3> Զ<EFBFBD> <EFBFBD> <CEA2> <https://mindspore.cn/docs/programming_guide/zh-CN/master/design/gradient.html#id4> `_ <EFBFBD> <EFBFBD>
2021-11-25 20:13:52 +08:00
2021-11-26 17:39:06 +08:00
**<2A> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> **
2021-11-25 20:13:52 +08:00
2021-12-22 09:53:24 +08:00
- **fn** (Cell) - <20> <> <EFBFBD> <EFBFBD> Cell<6C> <6C> <EFBFBD> <EFBFBD> <EFBFBD> 磬<EFBFBD> <E7A3AC> <EFBFBD> ڽ<EFBFBD> <DABD> <EFBFBD> Tensor<6F> <72> <EFBFBD> 벢<EFBFBD> <EBB2A2> <EFBFBD> <EFBFBD> Tensor<6F> <72> <EFBFBD> <EFBFBD> TensorԪ<72> 顣
2021-11-25 20:13:52 +08:00
2021-11-26 17:39:06 +08:00
**<2A> <> <EFBFBD> 룺**
2021-11-25 20:13:52 +08:00
2021-12-22 09:53:24 +08:00
- **inputs** (Tensor) - <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Σ<EFBFBD> <CEA3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Tensor<6F> <72>
- **v** (Tensor or Tuple of Tensor) - <20> <> <EFBFBD> ſ ɱȾ<C9B1> <C8BE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ˵<EFBFBD> <CBB5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Shape<70> <65> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> һ <EFBFBD> ¡<EFBFBD>
2021-11-26 17:39:06 +08:00
**<2A> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> **
2021-12-04 20:36:47 +08:00
2021-12-22 09:53:24 +08:00
2<> <32> Tensor<6F> <72> TensorԪ<72> 鹹<EFBFBD> ɵ<EFBFBD> Ԫ<EFBFBD> 顣
2021-11-26 17:39:06 +08:00
- **net_output** (Tensor or Tuple of Tensor) - <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
- **vjp** (Tensor or Tuple of Tensor) - <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ſ ɱȻ<C9B1> <C8BB> Ľ<EFBFBD> <C4BD> <EFBFBD> <EFBFBD> <EFBFBD>
2021-12-04 20:36:47 +08:00
**֧<> <D6A7> ƽ ̨<C6BD> <CCA8> **
`` Ascend `` `` GPU `` `` CPU ``
2021-11-26 17:39:06 +08:00
**<2A> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> **
>>> from mindspore.nn import Vjp
>>> 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 = Vjp(Net())(x, y, v)