tf.keras.losses.CosineSimilarity  |  TensorFlow v2.16.1 (original) (raw)

tf.keras.losses.CosineSimilarity

Stay organized with collections Save and categorize content based on your preferences.

Computes the cosine similarity between y_true & y_pred.

Inherits From: Loss

tf.keras.losses.CosineSimilarity(
    axis=-1,
    reduction='sum_over_batch_size',
    name='cosine_similarity'
)

Note that it is a number between -1 and 1. When it is a negative number between -1 and 0, 0 indicates orthogonality and values closer to -1 indicate greater similarity. This makes it usable as a loss function in a setting where you try to maximize the proximity between predictions and targets. If either y_true or y_pred is a zero vector, cosine similarity will be 0 regardless of the proximity between predictions and targets.

Formula:

loss = -sum(l2_norm(y_true) * l2_norm(y_pred))
Args
axis The axis along which the cosine similarity is computed (the features axis). Defaults to -1.
reduction Type of reduction to apply to the loss. In almost all cases this should be "sum_over_batch_size". Supported options are "sum", "sum_over_batch_size" or None.
name Optional name for the loss instance.

Methods

call

View source

call(
    y_true, y_pred
)

from_config

View source

@classmethod from_config( config )

get_config

View source

get_config()

__call__

View source

__call__(
    y_true, y_pred, sample_weight=None
)

Call self as a function.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.

Last updated 2024-06-07 UTC.