Computes the triplet loss with hard negative and hard positive mining.
loss_triplet_hard(margin = 1, soft = FALSE, name = NULL, ...)
Float, margin term in the loss definition. Default value is 1.0.
Boolean, if set, use the soft margin version. Default value is False.
Optional name for the op.
additional arguments to pass
triplet_loss: float scalar with dtype of y_pred.
# NOT RUN {
# }
# NOT RUN {
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())
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab