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 типа Tensor. Матрица размером batch_size * num_true, в каждой строке которой содержатся идентификаторы num_true целевых классов из соответствующей исходной метки. |
num_true | int типа >= 1. Количество истинных меток для каждого контекста. |
num_sampled | int типа >= 1. Количество кандидатов, выбираемых случайным образом. |
unique | bool. Если unique имеет значение true, выборка выполняется с отклонением, чтобы все выбранные кандидаты в пакете были уникальными. Для оценки вероятностей выборки после отклонения требуется использовать приближение. |
range_max | int типа >= 1. Сэмплер будет выбирать целые числа из интервала [0, range_max). |
vocab_file | Необязательный string. По умолчанию — "". Каждая допустимая строка в этом файле (который должен иметь формат, похожий на CSV) соответствует допустимому идентификатору слова. Идентификаторы следуют последовательно, начиная с num_reserved_ids. Последняя запись в каждой строке должна содержать значение, соответствующее количеству или относительной вероятности. Для этой операции необходимо передать ровно один из параметров vocab_file и unigrams. |
distortion | Необязательный float. По умолчанию — 1. Искажение используется для изменения унимодального распределения вероятностей. Перед добавлением каждого веса во внутреннее унимодальное распределение он возводится в степень distortion. В результате distortion = 1.0 соответствует обычной унимодальной выборке (как определено в файле словаря), а distortion = 0.0 — равномерному распределению. |
num_reserved_ids | Необязательный int. По умолчанию — 0. Пользователи могут при необходимости добавить зарезервированные идентификаторы в диапазоне [0, ..., num_reserved_ids). Например, специальный токен неизвестного слова может использоваться в качестве идентификатора 0. Вероятность выборки для этих идентификаторов будет равна 0. |
num_shards | Необязательный int типа >= 1. По умолчанию — 1. Сэмплер можно использовать для выборки из подмножества исходного диапазона, чтобы ускорить вычисления за счет параллелизма. Этот параметр (вместе с 'shard') указывает количество разделов, используемых во всех вычислениях. |
shard | Необязательный int типа >= 0. По умолчанию — 0. Сэмплер можно использовать для выборки из подмножества исходного диапазона, чтобы ускорить вычисления за счет параллелизма. Этот параметр (вместе с 'num_shards') указывает номер конкретного раздела операции сэмплера, если используется разбиение на разделы. |
unigrams | Необязательный список floats. По умолчанию — []. Список унимодальных количеств или вероятностей — по одному значению на каждый идентификатор в последовательном порядке. Для этой операции необходимо передать ровно один из параметров vocab_file и unigrams. |
seed | Необязательный int. По умолчанию — 0. Если для seed или seed2 задано ненулевое значение, генератор случайных чисел инициализируется указанным начальным значением. В противном случае он инициализируется случайным начальным значением. |
seed2 | Необязательный int. По умолчанию — 0. Второе начальное значение для предотвращения совпадения начальных значений. |
name | Имя операции (необязательно). |
| Возвращает | |
|---|---|
Кортеж объектов Tensor (sampled_candidates, true_expected_count, sampled_expected_count). | |
sampled_candidates | Tensor типа int64. |
true_expected_count | Tensor типа float32. |
sampled_expected_count | Tensor типа float32. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/raw_ops/FixedUnigramCandidateSampler