用法:
mxnet.ndarray.op.MakeLoss(data=None, grad_scale=_Null, valid_thresh=_Null, normalization=_Null, out=None, name=None, **kwargs)
- data:(
NDArray
) - 輸入數組。 - grad_scale:(
float
,
optional
,
default=1
) - 梯度尺度作為一元和二元運算符的補充 - valid_thresh:(
float
,
optional
,
default=0
) - 當數組中的每個元素小於時,將其裁剪為 0valid_thresh
.這用於normalization
被設定為'valid'
. - normalization:(
{'batch'
,
'null'
,
'valid'}
,
optional
,
default='null'
) - 如果設置為 null,則輸出梯度將不會被歸一化。如果將其設置為批處理,則輸出梯度將除以批處理大小。如果設置為有效,則輸出梯度將除以有效輸入元素的數量。 - out:(
NDArray
,
optional
) - 輸出 NDArray 來保存結果。
- data:(
out:- 此函數的輸出。
NDArray 或 NDArray 列表
參數:
返回:
返回類型:
在網絡構建中製作自己的損失函數。
該運算符接受自定義損失函數符號作為終端損失,並且該符號應該是沒有後向依賴的運算符。該函數的輸出是相對於輸入數據的損失梯度。
例如,如果您正在製作交叉熵損失函數。假設
out
是預測輸出,label
是真實標簽,那麽交叉熵可以定義為:cross_entropy = label * log(out) + (1 - label) * log(1 - out) loss = MakeLoss(cross_entropy)
當我們創建自己的損失函數或想要組合多個損失函數時,我們將需要使用
MakeLoss
。此外,我們可能希望阻止某些變量的梯度進行反向傳播。在BlockGrad
或stop_gradient
中查看更多詳細信息。此外,我們可以通過設置
grad_scale
來給損失一個比例,這樣損失的梯度會在反向傳播中重新調整。注意:
此運算符應用作符號而不是 NDArray。
相關用法
- Python mxnet.ndarray.op.uniform用法及代碼示例
- Python mxnet.ndarray.op.sample_negative_binomial用法及代碼示例
- Python mxnet.ndarray.op.khatri_rao用法及代碼示例
- Python mxnet.ndarray.op.unravel_index用法及代碼示例
- Python mxnet.ndarray.op.slice_like用法及代碼示例
- Python mxnet.ndarray.op.L2Normalization用法及代碼示例
- Python mxnet.ndarray.op.softmax_cross_entropy用法及代碼示例
- Python mxnet.ndarray.op.round用法及代碼示例
- Python mxnet.ndarray.op.diag用法及代碼示例
- Python mxnet.ndarray.op.linalg_det用法及代碼示例
- Python mxnet.ndarray.op.sample_uniform用法及代碼示例
- Python mxnet.ndarray.op.sort用法及代碼示例
- Python mxnet.ndarray.op.linalg_potrf用法及代碼示例
- Python mxnet.ndarray.op.linalg_potri用法及代碼示例
- Python mxnet.ndarray.op.broadcast_minus用法及代碼示例
- Python mxnet.ndarray.op.take用法及代碼示例
- Python mxnet.ndarray.op.pad用法及代碼示例
- Python mxnet.ndarray.op.erfinv用法及代碼示例
- Python mxnet.ndarray.op.UpSampling用法及代碼示例
- Python mxnet.ndarray.op.Reshape用法及代碼示例
注:本文由純淨天空篩選整理自apache.org大神的英文原創作品 mxnet.ndarray.op.MakeLoss。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。