тензорный поток:: опс:: ИсправленоUnigramCandidateSampler

#include <candidate_sampling_ops.h>

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

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

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

Файл словаря должен быть в формате CSV, где в последнем поле указывается вес, связанный со словом.

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

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

Аргументы:

  • область: объект области .
  • true_classes: матрица Batch_size * num_true, в которой каждая строка содержит идентификаторы num_true target_classes в соответствующей исходной метке.
  • num_true: количество истинных меток на контекст.
  • num_sampled: количество кандидатов для случайной выборки.
  • уникальный: если значение «уникальный» истинно, мы проводим выборку с отклонением, чтобы все отобранные кандидаты в пакете были уникальными. Это требует некоторого приближения для оценки вероятностей выборки после отклонения.
  • range_max: сэмплер будет выбирать целые числа из интервала [0, range_max).

Необязательные атрибуты (см. Attrs ):

  • vocab_file: Каждая допустимая строка в этом файле (который должен иметь формат, подобный CSV) соответствует допустимому идентификатору слова. Идентификаторы располагаются последовательно, начиная с num_reserved_ids. Ожидается, что последняя запись в каждой строке будет значением, соответствующим количеству или относительной вероятности. В эту операцию необходимо передать ровно один из vocab_file и униграмм.
  • искажение: искажение используется для искажения распределения вероятностей униграмм. Каждый вес сначала увеличивается до степени искажения, а затем добавляется к внутреннему распределению униграмм. В результате искажение = 1,0 дает регулярную выборку униграмм (как определено в файле словаря), а искажение = 0,0 дает равномерное распределение.
  • num_reserved_ids: при желании пользователи могут добавить некоторые зарезервированные идентификаторы в диапазоне [0, ..., num_reserved_ids). Один из вариантов использования заключается в том, что в качестве идентификатора 0 используется специальный токен неизвестного слова. Вероятность выборки этих идентификаторов будет равна 0.
  • num_shards: сэмплер можно использовать для выборки из подмножества исходного диапазона, чтобы ускорить все вычисления за счет параллелизма. Этот параметр (вместе с «shard») указывает количество разделов, которые используются в общих вычислениях.
  • осколок: сэмплер можно использовать для выборки из подмножества исходного диапазона, чтобы ускорить все вычисления за счет параллелизма. Этот параметр (вместе с «num_shards») указывает конкретный номер раздела операции сэмплера, когда используется секционирование.
  • униграммы: список количества или вероятностей униграмм, по одной на каждый идентификатор в последовательном порядке. В эту операцию следует передать ровно один из vocab_file и униграмм.
  • начальное число: если для начального числа или начального числа2 задано ненулевое значение, генератор случайных чисел заполняется данным начальным числом. В противном случае он засеивается случайным семенем.
  • семя2: второе семя, чтобы избежать столкновения семян.

Возврат:

  • Output выборки_кандидатов: вектор длины 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

Необязательные установщики атрибутов для FixUnigramCandidateSampler .

Публичные атрибуты

операция

Operation operation

sampled_candidates

::tensorflow::Output sampled_candidates

sampled_expected_count

::tensorflow::Output sampled_expected_count

true_expected_count

::tensorflow::Output true_expected_count

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

ИсправленоUnigramCandidateSampler

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

ИсправленоUnigramCandidateSampler

 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
)

Число осколков

Attrs NumShards(
  int64 x
)

Семя

Attrs Seed(
  int64 x
)

Семя2

Attrs Seed2(
  int64 x
)

Осколок

Attrs Shard(
  int64 x
)

Униграммы

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

ВокабФайл

Attrs VocabFile(
  StringPiece x
)