tf.raw_ops.FixedUnigramCandidateSampler
Генерирует метки для выборочного отбора кандидатов с использованием изученного распределения униграмм.
tf.raw_ops.FixedUnigramCandidateSampler(
true_classes, num_true, num_sampled, unique, range_max, vocab_file='',
distortion=1, num_reserved_ids=0, num_shards=1, shard=0, unigrams=[], seed=0,
seed2=0, name=None
)
Сэмплер униграмм может использовать фиксированное распределение униграмм, считанное из файла или переданное в виде массива в памяти, вместо построения распределения из данных на лету. Также есть возможность исказить распределение, применив степень искажения к весам.
Файл словаря должен быть в формате, похожем на CSV, где последним полем является вес, связанный со словом.
Для каждой партии этот оператор выбирает один набор образцов меток кандидатов.
Преимущества выборки кандидатов по партиям заключаются в простоте и возможности эффективного умножения плотных матриц. Недостатком является то, что выбранные кандидаты должны выбираться независимо от контекста и истинных меток.
| Аргументы | |
|---|---|
true_classes | Матрица размера batch_size * num_true, в которой каждая строка содержит идентификаторы num_true целевых классов в соответствующей исходной метке. |
num_true | Значение типа int32. Количество истинных меток на контекст. |
num_sampled | Целое число. Количество кандидатов для случайного выбор. |
unique | Булево значение. Если true, мы выбираем с отклонением, так что все выбранные кандидаты в пачке уникальны. Это требует некоторого приближения для оценки вероятностей выборки после отклонения. |
range_max | Целое число. Сэмплер будет выбирать целые числа из интервала [0, range_max). |
vocab_file | Необязательный строковый параметр. По умолчанию пустая строка. Каждая допустимая строка в этом файле (формат должна быть похож на CSV) соответствует допустимому идентификатору слова. Идентификаторы упорядочены последовательно, начиная с num_reserved_ids. Ожидается, что последняя запись в каждой строке будет значением, соответствующим счету или относительной вероятности. Для данного оператора необходимо передать либо vocab_file, либо unigrams. |
distortion | Необязательное числовое значение. По умолчанию 1.0. Искажение используется для искажения распределения вероятностей униграмм. Каждый вес сначала возводится в степень искажения, прежде чем быть добавленным к внутреннему распределению униграмм. В результате, distortion = 1.0 дает обычную выборку униграмм (как определено файлом vocab), а distortion = 0.0 дает равномерное распределение. |
num_reserved_ids | Необязательное целое число. По умолчанию 0. Опционально пользователи могут добавить некоторые зарезервированные идентификаторы в диапазоне [0, ..., num_reserved_ids). Один из вариантов использования заключается в том, что специальный маркер неизвестного слова используется как ID 0. У этих ID будет вероятность выборки 0. |
num_shards | Необязательное целое число. По умолчанию 1. Сэмплер может использоваться для выборки из подмножества исходного диапазона, чтобы ускорить вычисления за счет параллелизма. Этот параметр (вместе с 'shard') указывает количество партиций, используемых в общих вычислениях. |
shard | Необязательное целое число. По умолчанию 0. Сэмплер может использоваться для выборки из подмножества исходного диапазона, чтобы ускорить вычисления за счет параллелизма. Этот параметр (вместе с 'num_shards') указывает номер конкретной партиции оператора сэмплера при использовании разбиения. |
unigrams | Необязательный список чисел. По умолчанию пустой список. Список подсчетов или вероятностей униграмм, по одному на ID в последовательном порядке. Для данного оператора необходимо передать либо vocab_file, либо unigrams. |
seed | Необязательное целое число. По умолчанию 0. Если seed или seed2 установлены не равными нулю, генератор случайных чисел инициализируется заданным seed. В противном случае он инициализируется случайным seed. |
seed2 | Необязательное целое число. По умолчанию 0. Второе значение seed для предотвращения коллизии seed. |
name | Имя операции (необязательно). |
| Возвращаемые значения | |
|---|---|
| Кортеж из объектов Tensor (sampled_candidates, true_expected_count, sampled_expected_count). | |
sampled_candidates | Матрица типа int64. |
true_expected_count | Матрица типа float32. |
sampled_expected_count | Матрица типа float32. |
© 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/r2.4/api_docs/python/tf/raw_ops/FixedUnigramCandidateSampler