本文簡要介紹python語言中 torch.nn.MultiMarginLoss
的用法。
用法:
class torch.nn.MultiMarginLoss(p=1, margin=1.0, weight=None, size_average=None, reduce=None, reduction='mean')
p(int,可選的) -默認值為 。 和 是唯一受支持的值。
margin(float,可選的) -默認值為 。
weight(Tensor,可選的) -給每個類一個手動重新調整的權重。如果給定,它必須是大小為
C
的張量。否則,它被視為擁有所有的。size_average(bool,可選的) -已棄用(請參閱
reduction
)。默認情況下,損失是批次中每個損失元素的平均值。請注意,對於某些損失,每個樣本有多個元素。如果字段size_average
設置為False
,則會對每個小批量的損失求和。當reduce
為False
時忽略。默認值:True
reduce(bool,可選的) -已棄用(請參閱
reduction
)。默認情況下,根據size_average
對每個小批量的觀察結果進行平均或求和。當reduce
是False
時,返回每個批次元素的損失並忽略size_average
。默認值:True
reduction(string,可選的) -指定要應用於輸出的縮減:
'none'
|'mean'
|'sum'
。'none'
:不應用減少,'mean'
:輸出的總和將除以輸出中的元素數,'sum'
:輸出將被求和。注意:size_average
和reduce
正在被棄用,同時,指定這兩個參數中的任何一個都將覆蓋reduction
。默認值:'mean'
創建一個優化多類分類鉸鏈損失(基於邊的損失)的標準,該標準位於輸入
Tensor
)和輸出 (目標的 1D 張量)之間類索引, ): (2D 小批量對於每個小批量樣本,一維輸入 和標量輸出 的損失為:
其中 和 。
或者,您可以通過將 1D
weight
張量傳遞給構造函數來對類賦予不相等的權重。損失函數則變為:
- 形狀:
輸入: 或 ,其中 是批量大小, 是類數。
目標: 或 ,其中每個值為 。
輸出:標量。如果
reduction
是'none'
,則形狀與目標相同。
例子:
>>> loss = nn.MultiMarginLoss() >>> x = torch.tensor([[0.1, 0.2, 0.4, 0.8]]) >>> y = torch.tensor([3]) >>> loss(x, y) >>> # 0.25 * ((1-(0.8-0.1)) + (1-(0.8-0.2)) + (1-(0.8-0.4))) tensor(0.3250)
參數:
相關用法
- Python PyTorch MultiStepLR用法及代碼示例
- Python PyTorch MultiLabelMarginLoss用法及代碼示例
- Python PyTorch MultiplicativeLR用法及代碼示例
- Python PyTorch MultiheadAttention用法及代碼示例
- Python PyTorch MultivariateNormal用法及代碼示例
- Python PyTorch MultiScaleRoIAlign用法及代碼示例
- Python PyTorch MultiheadAttentionContainer.__init__用法及代碼示例
- Python PyTorch Multiplexer用法及代碼示例
- Python PyTorch Multinomial用法及代碼示例
- Python PyTorch MuLawEncoding用法及代碼示例
- Python PyTorch MuLawDecoding用法及代碼示例
- Python PyTorch MaxUnpool3d用法及代碼示例
- Python PyTorch Module.buffers用法及代碼示例
- Python PyTorch Module.register_full_backward_hook用法及代碼示例
- Python PyTorch Module.named_modules用法及代碼示例
- Python PyTorch Module.parameters用法及代碼示例
- Python PyTorch MaxPool1d用法及代碼示例
- Python PyTorch Module.register_forward_hook用法及代碼示例
- Python PyTorch MetaInferGroupedPooledEmbeddingsLookup.state_dict用法及代碼示例
- Python PyTorch Module.named_parameters用法及代碼示例
- Python PyTorch MetaInferGroupedEmbeddingsLookup.named_buffers用法及代碼示例
- Python PyTorch ModuleList用法及代碼示例
- Python PyTorch MixtureSameFamily用法及代碼示例
- Python PyTorch MpSerialExecutor用法及代碼示例
- Python PyTorch MaxUnpool1d用法及代碼示例
注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.nn.MultiMarginLoss。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。