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


Python mxnet.symbol.op.stop_gradient用法及代碼示例


用法:

mxnet.symbol.op.stop_gradient(data=None, name=None, attr=None, out=None, **kwargs)

參數

  • data(Symbol) - 輸入數組。
  • name(string, optional.) - 結果符號的名稱。

返回

結果符號。

返回類型

Symbol

停止梯度計算。

阻止輸入的累積梯度反向流過此運算符。換句話說,這個算子阻止了計算梯度時考慮其輸入的貢獻。

例子:

v1 = [1, 2]
v2 = [0, 1]
a = Variable('a')
b = Variable('b')
b_stop_grad = stop_gradient(3 * b)
loss = MakeLoss(b_stop_grad + a)

executor = loss.simple_bind(ctx=cpu(), a=(1,2), b=(1,2))
executor.forward(is_train=True, a=v1, b=v2)
executor.outputs
[ 1.  5.]

executor.backward()
executor.grad_arrays
[ 0.  0.]
[ 1.  1.]

相關用法


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