View source on GitHub
|
Computes the cosine similarity between the labels and predictions.
Inherits From: MeanMetricWrapper, Mean, Metric
tf.keras.metrics.CosineSimilarity(
name='cosine_similarity', dtype=None, axis=-1
)
Formula:
loss = sum(l2_norm(y_true) * l2_norm(y_pred))
See: Cosine Similarity.
This metric keeps the average cosine similarity between predictions and
labels over a stream of data.
Args | |
|---|---|
name
|
(Optional) string name of the metric instance. |
dtype
|
(Optional) data type of the metric result. |
axis
|
(Optional) Defaults to -1. The dimension along which the cosine
similarity is computed.
|
Example:
Example:
# l2_norm(y_true) = [[0., 1.], [1./1.414, 1./1.414]]# l2_norm(y_pred) = [[1., 0.], [1./1.414, 1./1.414]]# l2_norm(y_true) . l2_norm(y_pred) = [[0., 0.], [0.5, 0.5]]# result = mean(sum(l2_norm(y_true) . l2_norm(y_pred), axis=1))# = ((0. + 0.) + (0.5 + 0.5)) / 2m = keras.metrics.CosineSimilarity(axis=1)m.update_state([[0., 1.], [1., 1.]], [[1., 0.], [1., 1.]])m.result()0.49999997m.reset_state()m.update_state([[0., 1.], [1., 1.]], [[1., 0.], [1., 1.]],sample_weight=[0.3, 0.7])m.result()0.6999999
Usage with compile() API:
model.compile(
optimizer='sgd',
loss='mse',
metrics=[keras.metrics.CosineSimilarity(axis=1)])
Attributes | |
|---|---|
dtype
|
|
variables
|
|
Methods
add_variable
add_variable(
shape, initializer, dtype=None, aggregation='sum', name=None
)
add_weight
add_weight(
shape=(), initializer=None, dtype=None, name=None
)
from_config
@classmethodfrom_config( config )
get_config
get_config()
Return the serializable config of the metric.
reset_state
reset_state()
Reset all of the metric state variables.
This function is called between epochs/steps, when a metric is evaluated during training.
result
result()
Compute the current metric value.
| Returns | |
|---|---|
| A scalar tensor, or a dictionary of scalar tensors. |
stateless_reset_state
stateless_reset_state()
stateless_result
stateless_result(
metric_variables
)
stateless_update_state
stateless_update_state(
metric_variables, *args, **kwargs
)
update_state
update_state(
y_true, y_pred, sample_weight=None
)
Accumulate statistics for the metric.
__call__
__call__(
*args, **kwargs
)
Call self as a function.
View source on GitHub