Spec-Zone.ru › TensorFlow 1.15

tf.nn.sampled_softmax_loss

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

Вычисляет и возвращает потери обучения выборочной softmax.

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

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

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

tf.compat.v1.nn.sampled_softmax_loss

tf.nn.sampled_softmax_loss(
    weights, biases, labels, inputs, num_sampled, num_classes, num_true=1,
    sampled_values=None, remove_accidental_hits=True, partition_strategy='mod',
    name='sampled_softmax_loss', seed=None
)

Это более быстрый способ обучения классификатору softmax с большим количеством классов.

Эта операция предназначена только для обучения. Она, как правило, является недооценкой полной потери softmax.

Распространенный случай использования этого метода для обучения, и вычисление полной потери softmax для оценки или вывода. В этом случае вы должны установить partition_strategy="div" для того, чтобы две потери были согласованы, как в следующем примере:

if mode == "train":
  loss = tf.nn.sampled_softmax_loss(
      weights=weights,
      biases=biases,
      labels=labels,
      inputs=inputs,
      ...,
      partition_strategy="div")
elif mode == "eval":
  logits = tf.matmul(inputs, tf.transpose(weights))
  logits = tf.nn.bias_add(logits, biases)
  labels_one_hot = tf.one_hot(labels, n_classes)
  loss = tf.nn.softmax_cross_entropy_with_logits(
      labels=labels_one_hot,
      logits=logits)

См. нашу Справочник по алгоритмам выборочного отбора

Также см. раздел 3 Jean и др., 2014 (pdf) для математических формул.

Аргументы
weights Массив Tensor формы [num_classes, dim], или список Tensor объектов, конкатенация которых вдоль размерности 0 имеет форму [количество_классов, размер]. Вектора встраивания классов (возможно, разрозненные).
biases Массив Tensor формы [num_classes]. Смещения классов.
labels Массив Tensor типа int64 и формы [batch_size, num_true]. Целевые классы. Обратите внимание, что этот формат отличается от labels аргумента nn.softmax_cross_entropy_with_logits.
inputs Массив Tensor формы [batch_size, dim]. Активности сгенерированные входной сетью.
num_sampled Целое число. Количество классов, которые случайным образом выбираются на каждую итерацию.
num_classes Целое число. Количество возможных классов.
num_true Целое число. Количество целевых классов на пример обучения.
sampled_values Кортеж (sampled_candidates, true_expected_count, sampled_expected_count) возвращенный функцией *_candidate_sampler. (Если None, используется значение по умолчанию log_uniform_candidate_sampler).
remove_accidental_hits Булево значение. Удалять "случайные совпадения", где выбранный класс совпадает с одним из целевых классов. По умолчанию True.
partition_strategy Строка, определяющая стратегию разбиения, применительно к len(weights) > 1. В настоящее время поддерживаются "div" и "mod". По умолчанию "mod". См. tf.nn.embedding_lookup для более подробной информации.
name Имя операции (необязательно).
seed Случайное семя для отбора кандидатов. По умолчанию None, что не устанавливает генератор случайных чисел для отбора кандидатов.
Возвращаемое значение
Массив batch_size 1-D тензор потерь выборочной softmax на пример.

© 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/nn/sampled_softmax_loss

Spec-Zone.ru

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