Spec-Zone.ru › TensorFlow 1.15

tf.keras.losses.CosineSimilarity

Просмотреть исходный код на GitHub

Вычисляет косинусное сходство между y_true и y_pred.

Просмотреть псевдонимы

Псевдонимы для миграции

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.keras.losses.CosineSimilarity, `tf.compat.v2.keras.losses.CosineSimilarity`, `tf.compat.v2.losses.CosineSimilarity`

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

Использование:

cosine_loss = tf.keras.losses.CosineSimilarity(axis=1)
loss = cosine_loss([[0., 1.], [1., 1.]], [[1., 0.], [1., 1.]])
# 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]]
# loss = mean(sum(l2_norm(y_true) . l2_norm(y_pred), axis=1))
       = ((0. + 0.) +  (0.5 + 0.5)) / 2

print('Loss: ', loss.numpy())  # Loss: 0.5

Использование с API compile:

model = tf.keras.Model(inputs, outputs)
model.compile('sgd', loss=tf.keras.losses.CosineSimilarity(axis=1))
Аргументы
axis (Необязательно) По умолчанию -1. Измерение, по которому вычисляется косинусное сходство.
reduction (Необязательно) Тип tf.keras.losses.Reduction для применения к потере. Значение по умолчанию AUTO. AUTO указывает, что параметр уменьшения определяется контекстом использования. В почти всех случаях по умолчанию SUM_OVER_BATCH_SIZE. При использовании с tf.distribute.Strategy, за пределами встроенных циклов обучения, таких как tf.keras compile и fit, использование AUTO или SUM_OVER_BATCH_SIZE приведет к ошибке. Дополнительные сведения см. в разделе https://www.tensorflow.org/alpha/tutorials/distribute/training_loops.
name Необязательное имя для операции.

Методы

from_config

Просмотреть исходный код

@classmethod
from_config(
    config
)

Инициализирует Loss из его конфигурации (выход get_config()).

Аргументы
config Выход get_config().
Возвращаемое значение
Экземпляр Loss .

get_config

Просмотреть исходный код

get_config()

__call__

Просмотреть исходный код

__call__(
    y_true, y_pred, sample_weight=None
)

Вызывает экземпляр Loss.

Аргументы
y_true Значения ground truth. shape = [batch_size, d0, .. dN]
y_pred Предсказанные значения. shape = [batch_size, d0, .. dN]
sample_weight Необязательный sample_weight выступает в качестве коэффициента для потери. Если предоставлено скалярное значение, то потеря просто масштабируется на заданное значение. Если sample_weight — это тензор размером [batch_size], то общая потеря для каждой выборки из пакета масштабируется соответствующим элементом в векторе sample_weight. Если форма sample_weight — это [batch_size, d0, .. dN-1] (или может быть расширена до этой формы), то каждый элемент потери y_pred масштабируется соответствующим значением sample_weight. (Примечание по dN-1: все функции потерь уменьшают размерность на 1, обычно ось -1.)
Возвращаемое значение
Весовая потеря float Tensor. Если reduction равно NONE, форма — [batch_size, d0, .. dN-1]; в противном случае — скаляр. (Примечание dN-1 из-за уменьшения размерности функций потерь на 1, обычно по оси -1).
Исключения
ValueError Если форма sample_weight неверна.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/losses/CosineSimilarity

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API