Spec-Zone.ru › PyTorch 2

CosineEmbeddingLoss

class torch.nn.CosineEmbeddingLoss(margin=0.0, size_average=None, reduce=None, reduction='mean') [source]

Создаёт критерий, который измеряет потерю, заданную входными тензорами x1x_1, x2x_2 и Tensor меткой yy со значениями 1 или -1. Используется для измерения сходства или различия двух входных данных с использованием косинусной схожести, и обычно используется для обучения нелинейных вложений или полунадзорного обучения.

Функция потерь для каждого образца:

loss(x,y)={1−cos⁡(x1,x2),если y=1max⁡(0,cos⁡(x1,x2)−margin),если y=−1\text{loss}(x, y) = \begin{cases} 1 - \cos(x_1, x_2), & \text{if } y = 1 \\ \max(0, \cos(x_1, x_2) - \text{margin}), & \text{if } y = -1 \end{cases}
Параметры
  • margin (float, необязательно) – Должно быть числом от −1-1 до 11, 00 до 0.50.5 рекомендуется. Если margin отсутствует, значение по умолчанию равно 00.
  • size_average (bool, необязательно) – Устаревшее (см. reduction). По умолчанию, потери усредняются по каждому элементу потери в пакет. Обратите внимание, что для некоторых потерь есть несколько элементов на образец. Если поле size_average установлено в False, потери суммируются для каждого минипакета. Игнорируется, когда reduce равно False. По умолчанию: True
  • reduce (bool, необязательно) – Устаревшее (см. reduction). По умолчанию, потери усредняются или суммируются по наблюдениям для каждого минипакета в зависимости от size_average. Когда reduce равно False, возвращает потерю на элемент пакета вместо этого и игнорирует size_average. По умолчанию: True
  • reduction (str, необязательно) – Указывает применённое сокращение к выводу: 'none' | 'mean' | 'sum'. 'none': сокращение не применяется, 'mean': сумма вывода делится на количество элементов в выводе, 'sum': вывод суммируется. Примечание: size_average и reduce находятся в процессе устаревания, и тем временем указание любого из этих двух аргументов переопределит reduction. По умолчанию: 'mean'
Форма:
  • Вход 1: (N,D)(N, D) или (D)(D), где N — размер пакета, а D — размерность вложения.
  • Вход 2: (N,D)(N, D) или (D)(D), такая же форма, как вход 1.
  • Цель: (N)(N) или ()().
  • Вывод: Если reduction равно 'none', то (N)(N), в противном случае скаляр.

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.nn.CosineEmbeddingLoss.html

Spec-Zone.ru

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