tf.random.fixed_unigram_candidate_sampler
| Просмотреть исходный код на GitHub |
Выборка набора классов с использованием предоставленного (фиксированного) базового распределения.
tf.random.fixed_unigram_candidate_sampler(
true_classes, num_true, num_sampled, unique, range_max, vocab_file='',
distortion=1.0, num_reserved_ids=0, num_shards=1, shard=0, unigrams=(),
seed=None, name=None
)
Эта операция случайным образом выбирает тензор выборочных классов (sampled_candidates) из диапазона целых чисел [0, range_max).
Элементы sampled_candidates выбираются без замены (если unique=True) или с заменой (если unique=False) из базового распределения.
Базовое распределение считывается из файла или передаётся как массив в памяти. Также есть возможность исказить распределение, применив степень искажения к весам.
Кроме того, эта операция возвращает тензоры true_expected_count и sampled_expected_count, представляющие количество раз, когда каждый из целевых классов (true_classes) и выбранные классы (sampled_candidates) ожидается, что они будут встречаться в среднем тензоре выборочных классов. Эти значения соответствуют Q(y|x) , определённому в этом документе. Если unique=True, то это пост-отклоняемые вероятности, и мы вычисляем их приближённо.
| Аргументы | |
|---|---|
true_classes | Список Tensor типа int64 и формы [batch_size, num_true]. Целевые классы. |
num_true | Число. Количество целевых классов на пример обучения. |
num_sampled | Число. Количество классов для случайной выборки. |
unique | Логическое значение. Определяет, являются ли все выбранные классы в пакете уникальными. |
range_max | Целое число. Количество возможных классов. |
vocab_file | Каждая допустимая строка в этом файле (которая должна иметь формат, подобный CSV) соответствует допустимому идентификатору слова. Идентификаторы находятся в последовательном порядке, начиная с num_reserved_ids. Ожидается, что последняя запись в каждой строке будет значением, соответствующим количеству или относительной вероятности. В эту операцию необходимо передать ровно один из vocab_file и unigrams. |
distortion | Искажение используется для искажения распределения вероятностей униграмм. Каждый вес сначала возводится в степень искажения, прежде чем добавляться к внутреннему распределению униграмм. В результате, distortion = 1.0 даёт обычную выборку униграмм (как определено файлом словаря), а distortion = 0.0 даёт равномерное распределение. |
num_reserved_ids | Пользователи могут необязательно добавить некоторые зарезервированные идентификаторы в диапазоне [0, num_reserved_ids). Один из случаев использования заключается в том, что специальный маркер неизвестного слова используется в качестве идентификатора 0. Для этих идентификаторов будет вероятность выборки 0. |
num_shards | Обработчик может использоваться для выборки из подмножества исходного диапазона, чтобы ускорить вычисление с помощью параллелизма. Этот параметр (вместе с shard) указывает количество разделов, используемых в общем вычислении. |
shard | Обработчик может использоваться для выборки из подмножества исходного диапазона, чтобы ускорить вычисление с помощью параллелизма. Этот параметр (вместе с num_shards) указывает конкретный номер раздела операции, при использовании разделения. |
unigrams | Список подсчётов или вероятностей униграмм, по одному на идентификатор в последовательном порядке. Ровно один из vocab_file и unigrams должен быть передан в эту операцию. |
seed | Целое число. Семена, специфичные для операции. По умолчанию 0. |
name | Название операции (необязательно). |
| Возвращаемые значения | |
|---|---|
sampled_candidates | Тензор типа int64 и формы [num_sampled]. Выбранные классы. |
true_expected_count | Тензор типа float. Форма совпадает с формой true_classes. Ожидаемые счётчики по распределению выборки каждого из true_classes. |
sampled_expected_count | Тензор типа float. Форма совпадает с формой sampled_candidates. Ожидаемые счётчики по распределению выборки каждого из sampled_candidates. |
© 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/r1.15/api_docs/python/tf/random/fixed_unigram_candidate_sampler