torchreid.losses¶
Softmax¶
-
class
torchreid.losses.cross_entropy_loss.
CrossEntropyLoss
(num_classes, eps=0.1, use_gpu=True, label_smooth=True)[source]¶ Cross entropy loss with label smoothing regularizer.
- Reference:
Szegedy et al. Rethinking the Inception Architecture for Computer Vision. CVPR 2016.
With label smoothing, the label \(y\) for a class is computed by
\[\begin{equation} (1 - \eps) \times y + \frac{\eps}{K}, \end{equation}\]where \(K\) denotes the number of classes and \(\eps\) is a weight. When \(\eps = 0\), the loss function reduces to the normal cross entropy.
- Parameters
num_classes (int) – number of classes.
eps (float, optional) – weight. Default is 0.1.
use_gpu (bool, optional) – whether to use gpu devices. Default is True.
label_smooth (bool, optional) – whether to apply label smoothing. Default is True.
Triplet¶
-
class
torchreid.losses.hard_mine_triplet_loss.
TripletLoss
(margin=0.3)[source]¶ Triplet loss with hard positive/negative mining.
- Reference:
Hermans et al. In Defense of the Triplet Loss for Person Re-Identification. arXiv:1703.07737.
Imported from https://github.com/Cysu/open-reid/blob/master/reid/loss/triplet.py.
- Parameters
margin (float, optional) – margin for triplet. Default is 0.3.