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 | Матрица типа int64, размера batch_size * num_true, в которой каждая строка содержит идентификаторы num_true целевых классов в соответствующей исходной метке. |
num_true | Целое число, являющееся >= 1. Количество истинных меток на контекст. |
num_sampled | Целое число, являющееся >= 1. Количество кандидатов для случайной выборки. |
unique | Логическое значение. Если unique равно true, мы выбираем с отбраковкой, так что все выбранные кандидаты в пакете уникальны. Это требует некоторого приближения для оценки вероятностей выборки после отбраковки. |
range_max | Целое число, являющееся >= 1. Отбор будет выбирать целые числа из интервала [0, range_max). |
vocab_file | Необязательный файл. По умолчанию "". Каждая допустимая строка в этом файле (который должен иметь формат, похожий на CSV) соответствует допустимому идентификатору слова. Идентификаторы упорядочены последовательно, начиная с num_reserved_ids. Ожидается, что последним элементом каждой строки будет значение, соответствующее счету или относительной вероятности. В этот оператор необходимо передать ровно один из vocab_file и unigrams. |
distortion | Необязательное число. По умолчанию 1. Искажение используется для искажения распределения вероятностей униграмм. Каждый вес сначала возводится в степень искажения, прежде чем добавляться к внутреннему униграмному распределению. В результате distortion = 1.0 дает обычную выборку униграмм (как определено в файле vocab), а distortion = 0.0 дает равномерное распределение. |
num_reserved_ids | Необязательное число. По умолчанию 0. Пользователи могут необязательно добавить некоторые зарезервированные идентификаторы в диапазон [0, ..., num_reserved_ids). Один из вариантов использования - использование специального маркера неизвестного слова с идентификатором 0. Эти идентификаторы будут иметь вероятность выборки 0. |
num_shards | Необязательное целое число, являющееся >= 1. По умолчанию 1. Отбор может использоваться для выборки из подмножества исходного диапазона, чтобы ускорить вычисления за счет параллелизма. Этот параметр (вместе с 'shard') указывает количество разделов, используемых в общем вычислении. |
shard | Необязательное целое число, являющееся >= 0. По умолчанию 0. Отбор может использоваться для выборки из подмножества исходного диапазона, чтобы ускорить вычисления за счет параллелизма. Этот параметр (вместе с 'num_shards') указывает номер конкретной секции оператора отбора при использовании разделения. |
unigrams | Необязательный список чисел. По умолчанию []. Список униграмных подсчётов или вероятностей, по одному на каждый идентификатор в порядке следования. Ровно один из 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.3/api_docs/python/tf/raw_ops/FixedUnigramCandidateSampler