![]() |
Class TripletSemiHardLoss
Computes the triplet loss with semi-hard negative mining.
Aliases:
The loss encourages the positive distances (between a pair of embeddings with the same labels) to be smaller than the minimum negative distance among which are at least greater than the positive distance plus the margin constant (called semi-hard negative) in the mini-batch. If no such negative exists, uses the largest negative distance instead. See: https://arxiv.org/abs/1503.03832.
We expect labels y_true
to be provided as 1-D integer Tensor
with shape
[batch_size] of multi-class integer labels. And embeddings y_pred
must be
2-D float Tensor
of l2 normalized embedding vectors.
Args:
margin
: Float, margin term in the loss definition. Default value is 1.0.name
: Optional name for the op.
__init__
__init__(
margin=1.0,
name=None
)
Initialize self. See help(type(self)) for accurate signature.
Methods
__call__
__call__(
y_true,
y_pred,
sample_weight=None
)
Invokes the Loss
instance.
Args:
y_true
: Ground truth values. shape =[batch_size, d0, .. dN]
y_pred
: The predicted values. shape =[batch_size, d0, .. dN]
sample_weight
: Optionalsample_weight
acts as a coefficient for the loss. If a scalar is provided, then the loss is simply scaled by the given value. Ifsample_weight
is a tensor of size[batch_size]
, then the total loss for each sample of the batch is rescaled by the corresponding element in thesample_weight
vector. If the shape ofsample_weight
is[batch_size, d0, .. dN-1]
(or can be broadcasted to this shape), then each loss element ofy_pred
is scaled by the corresponding value ofsample_weight
. (Note ondN-1
: all loss functions reduce by 1 dimension, usually axis=-1.)
Returns:
Weighted loss float Tensor
. If reduction
is NONE
, this has
shape [batch_size, d0, .. dN-1]
; otherwise, it is scalar. (Note dN-1
because all loss functions reduce by 1 dimension, usually axis=-1.)
Raises:
ValueError
: If the shape ofsample_weight
is invalid.
from_config
from_config(
cls,
config
)
Instantiates a Loss
from its config (output of get_config()
).
Args:
config
: Output ofget_config()
.
Returns:
A Loss
instance.
get_config
get_config()