тензорный поток:: опс:: Исправлено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 )