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, каждый элемент которого представляет собой идентификатор выбранного кандидата. -
Outputtrue_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 )