本文簡要介紹python語言中 torch.nn.TripletMarginLoss
的用法。
用法:
class torch.nn.TripletMarginLoss(margin=1.0, p=2.0, eps=1e-06, swap=False, size_average=None, reduce=None, reduction='mean')
margin(float,可選的) -默認值: 。
p(int,可選的) -成對距離的範數。默認值: 。
swap(bool,可選的) -V. Balntas、E. Riba 等人在論文
Learning shallow convolutional feature descriptors with triplet losses
中詳細說明了距離交換。默認值:False
。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'
在給定輸入張量
a
、p
和n
(即分別為anchor
、positive examples
和negative examples
)組成。所有輸入張量的形狀應該是 。 、 、 和大於 的邊距的情況下,創建一個衡量三元組損失的標準。這用於測量樣本之間的相對相似性。三元組由距離交換在論文中有詳細說明學習具有三重損失的淺卷積特征說明符由 V. Balntas、E. Riba 等人撰寫。
小批量中每個樣本的損失函數為:
其中
另請參見
TripletMarginWithDistanceLoss
,它使用自定義距離函數計算輸入張量的三元組邊距損失。- 形狀:
輸入:
(D)
其中 是向量維度。 或- 輸出:形狀為
reduction
是'none'
並且 的張量,如果 輸入形狀為
(N, D)
;否則為標量。
- 輸出:形狀為
例子:
>>> triplet_loss = nn.TripletMarginLoss(margin=1.0, p=2) >>> anchor = torch.randn(100, 128, requires_grad=True) >>> positive = torch.randn(100, 128, requires_grad=True) >>> negative = torch.randn(100, 128, requires_grad=True) >>> output = triplet_loss(anchor, positive, negative) >>> output.backward()
參數:
相關用法
- Python PyTorch TripletMarginWithDistanceLoss用法及代碼示例
- Python PyTorch TransformerEncoder用法及代碼示例
- Python PyTorch TransformedDistribution用法及代碼示例
- Python PyTorch Transform用法及代碼示例
- Python PyTorch Transformer用法及代碼示例
- Python PyTorch TransformerDecoderLayer用法及代碼示例
- Python PyTorch TransformerDecoder用法及代碼示例
- Python PyTorch Transformer.forward用法及代碼示例
- Python PyTorch TransformerEncoderLayer用法及代碼示例
- Python PyTorch Tensor.unflatten用法及代碼示例
- Python PyTorch Tensor.register_hook用法及代碼示例
- Python PyTorch TarArchiveLoader用法及代碼示例
- Python PyTorch Tensor.storage_offset用法及代碼示例
- Python PyTorch Tensor.to用法及代碼示例
- Python PyTorch Tensor.sparse_mask用法及代碼示例
- Python PyTorch Timer用法及代碼示例
- Python PyTorch TimeMasking用法及代碼示例
- Python PyTorch Tacotron2TTSBundle.get_text_processor用法及代碼示例
- Python PyTorch Tensor.is_leaf用法及代碼示例
- Python PyTorch Tensor.imag用法及代碼示例
- Python PyTorch Tensor.unfold用法及代碼示例
- Python PyTorch TenCrop用法及代碼示例
- Python PyTorch Tensor.real用法及代碼示例
- Python PyTorch TwRwSparseFeaturesDist用法及代碼示例
- Python PyTorch Tensor.refine_names用法及代碼示例
注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.nn.TripletMarginLoss。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。