Computes the triplet loss with hard negative and hard positive mining.
loss_triplet_hard(margin = 1, soft = FALSE, name = NULL, ...)
margin | Float, margin term in the loss definition. Default value is 1.0. |
---|---|
soft | Boolean, if set, use the soft margin version. Default value is False. |
name | Optional name for the op. |
... | additional arguments to pass |
triplet_loss: float scalar with dtype of y_pred.
if (FALSE) { model = keras_model_sequential() %>% layer_conv_2d(filters = 64, kernel_size = 2, padding='same', input_shape=c(28,28,1)) %>% layer_max_pooling_2d(pool_size=2) %>% layer_flatten() %>% layer_dense(256, activation= NULL) %>% layer_lambda(f = function(x) tf$math$l2_normalize(x, axis = 1L)) model %>% compile( optimizer = optimizer_lazy_adam(), # apply triplet semihard loss loss = loss_triplet_hard()) }