當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python mxnet.autograd.grad用法及代碼示例

用法:

mxnet.autograd.grad(heads, variables, head_grads=None, retain_graph=None, create_graph=False, train_mode=True)

參數

  • heads(NDArray or list of NDArray) - 輸出 NDArray(s)
  • variables(NDArray or list of NDArray) - 輸入變量來計算梯度。
  • head_grads(NDArray or list of NDArray or None) - 相對於頭部的梯度。
  • retain_graph(bool) - 是否保持計算圖再次微分,而不是清除曆史並釋放內存。默認為與 create_graph 相同的值。
  • create_graph(bool) - 是否記錄梯度圖以計算高階
  • train_mode(bool, optional) - 是否向後進行訓練或預測。

返回

關於變量的梯度。

返回類型

NDArray 或 NDArray 列表

計算頭部 w.r.t 變量的梯度。漸變將作為新的 NDArrays 返回,而不是存儲到 variable.grad 中。支持記錄梯度圖以計算高階梯度。

注意

目前隻有非常有限的一組運算符支持高階梯度。

例子

>>> x = mx.nd.ones((1,))
>>> x.attach_grad()
>>> with mx.autograd.record():
...     z = mx.nd.elemwise_add(mx.nd.exp(x), x)
>>> dx = mx.autograd.grad(z, [x], create_graph=True)
>>> print(dx)
[
[ 3.71828175]
<NDArray 1 @cpu(0)>]

相關用法


注:本文由純淨天空篩選整理自apache.org大神的英文原創作品 mxnet.autograd.grad。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。