tensorflow::ops::FixedUnigramCandidateSampler

#include <candidate_sampling_ops.h>

Генерирует метки для выборки кандидатов с использованием обученного распределения униграмм.

Краткое содержание

Сэмплер униграмм может использовать фиксированное распределение униграмм, считанное из файла или переданное в виде массива в памяти, вместо того, чтобы формировать распределение из данных на лету. Также существует возможность исказить распределение, применив степень искажения к весам.

Файл со словарем должен быть в формате, подобном CSV, причем последнее поле должно содержать вес, присвоенный слову.

Для каждой партии эта операция выбирает один набор отобранных меток-кандидатов.

Преимущества выборки кандидатов партиями заключаются в простоте и возможности эффективного умножения плотных матриц. Недостаток состоит в том, что выбор кандидатов должен осуществляться независимо от контекста и истинных меток.

Аргументы:

  • scope: Объект Scope
  • true_classes: Матрица размером batch_size * num_true, в каждой строке которой содержатся идентификаторы num_true целевых классов в соответствующей исходной метке.
  • num_true: Количество истинных меток для каждого контекста.
  • num_sampled: Количество кандидатов для случайной выборки.
  • Уникальность: Если условие уникальности выполняется, мы проводим выборку с отбрасыванием, так что все выбранные кандидаты в партии являются уникальными. Для оценки вероятностей выборки после отбрасывания требуется некоторое приближение.
  • range_max: Сэмплер будет выбирать целые числа из интервала [0, range_max).

Дополнительные атрибуты (см. Attrs ):

  • vocab_file: Каждая допустимая строка в этом файле (который должен иметь формат, похожий на CSV) соответствует допустимому идентификатору слова. Идентификаторы расположены в последовательном порядке, начиная с num_reserved_ids. Ожидается, что последняя запись в каждой строке будет значением, соответствующим количеству или относительной вероятности. Для выполнения этой операции необходимо передать ровно один из параметров vocab_file или unigrams.
  • Искажение: Искажение используется для искажения распределения вероятностей униграмм. Каждый вес сначала возводится в степень искажения, а затем добавляется к внутреннему распределению униграмм. В результате, искажение = 1,0 дает обычную выборку униграмм (как определено в файле словаря), а искажение = 0,0 дает равномерное распределение.
  • num_reserved_ids: Пользователи могут дополнительно добавить несколько зарезервированных идентификаторов в диапазоне [0, ..., num_reserved_ids). Один из вариантов использования — когда в качестве идентификатора 0 используется специальный неизвестный словесный токен. Вероятность выборки таких идентификаторов будет равна 0.
  • num_shards: Этот параметр позволяет выбирать значения из подмножества исходного диапазона для ускорения вычислений за счет параллелизма. Он (вместе с 'shard') указывает количество разделов, используемых в общих вычислениях.
  • shard: Сэмплер может использоваться для выборки из подмножества исходного диапазона с целью ускорения всех вычислений за счет параллелизма. Этот параметр (вместе с 'num_shards') указывает конкретный номер раздела операции сэмплера при использовании разбиения на разделы.
  • unigrams: Список значений количества или вероятностей униграмм, по одной на каждый ID в последовательном порядке. В эту операцию следует передать ровно одно из значений vocab_file или unigrams.
  • seed: Если seed или seed2 заданы ненулевыми значениями, генератор случайных чисел инициализируется заданным значением seed. В противном случае он инициализируется случайным значением seed.
  • seed2: Второй начальный элемент для предотвращения конфликта начальных элементов.

Возвращает:

  • Output : sampled_candidates: вектор длиной num_sampled, каждый элемент которого представляет собой идентификатор выбранного кандидата.
  • Output true_expected_count: матрица размером batch_size * num_true, представляющая количество раз, когда каждый кандидат, как ожидается, появится в пакете выбранных кандидатов. Если unique=true, то это вероятность.
  • Output : sampled_expected_count: вектор длиной num_sampled, представляющий для каждого выбранного кандидата количество раз, когда этот кандидат, как ожидается, появится в пакете выбранных кандидатов. Если unique=true, то это вероятность.

Конструкторы и Деструкторы

FixedUnigramCandidateSampler (const :: tensorflow::Scope & scope, :: tensorflow::Input true_classes, int64 num_true, int64 num_sampled, bool unique, int64 range_max)
FixedUnigramCandidateSampler (const :: tensorflow::Scope & scope, :: tensorflow::Input true_classes, int64 num_true, int64 num_sampled, bool unique, int64 range_max, const FixedUnigramCandidateSampler::Attrs & attrs)

Общедоступные атрибуты

operation
sampled_candidates
sampled_expected_count
true_expected_count

Открытые статические функции

Distortion (float x)
NumReservedIds (int64 x)
NumShards (int64 x)
Seed (int64 x)
Seed2 (int64 x)
Shard (int64 x)
Unigrams (const gtl::ArraySlice< float > & x)
VocabFile (StringPiece x)

Структуры

tensorflow::ops::FixedUnigramCandidateSampler::Attrs

Дополнительные параметры установки атрибутов для FixedUnigramCandidateSampler .

Общедоступные атрибуты

операция

Operation operation

sampled_candidates

::tensorflow::Output sampled_candidates

sampled_expected_count

::tensorflow::Output sampled_expected_count

true_expected_count

::tensorflow::Output true_expected_count

Общественные функции

FixedUnigramCandidateSampler

 FixedUnigramCandidateSampler(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input true_classes,
  int64 num_true,
  int64 num_sampled,
  bool unique,
  int64 range_max
)

FixedUnigramCandidateSampler

 FixedUnigramCandidateSampler(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input true_classes,
  int64 num_true,
  int64 num_sampled,
  bool unique,
  int64 range_max,
  const FixedUnigramCandidateSampler::Attrs & attrs
)

Открытые статические функции

Искажение

Attrs Distortion(
  float x
)

NumReservedIds

Attrs NumReservedIds(
  int64 x
)

NumShards

Attrs NumShards(
  int64 x
)

Семя

Attrs Seed(
  int64 x
)

Seed2

Attrs Seed2(
  int64 x
)

Шард

Attrs Shard(
  int64 x
)

Униграммы

Attrs Unigrams(
  const gtl::ArraySlice< float > & x
)

VocabFile

Attrs VocabFile(
  StringPiece x
)