Spec-Zone.ru › TensorFlow C++

tensorflow::ops::FixedUnigramCandidateSampler

#include <candidate_sampling_ops.h>

Генерирует метки для выборки кандидатов с использованием обученного униграммного распределения.

Краткое описание

Сэмплер униграмм может использовать фиксированное униграммное распределение, считываемое из файла или передаваемое в виде массива в памяти, вместо того чтобы строить распределение на лету по данным. Также можно сместить распределение, применив степень искажения к весам.

Файл словаря должен иметь формат, подобный CSV, причём последнее поле должно содержать вес, соответствующий слову.

Для каждого пакета эта операция выбирает единый набор меток-кандидатов для выборки.

Преимущества выборки кандидатов для каждого пакета — простота и возможность эффективно выполнять плотное матричное умножение. Недостаток заключается в том, что выбранные кандидаты должны выбираться независимо от контекста и истинных меток.

Аргументы:

  • scope: объект Scope
  • true_classes: матрица размером batch_size * num_true, в каждой строке которой содержатся идентификаторы num_true целевых классов (target_classes) соответствующей исходной метки.
  • num_true: количество истинных меток для каждого контекста.
  • num_sampled: количество кандидатов для случайной выборки.
  • unique: если значение unique равно true, выборка выполняется с отбраковкой, чтобы все выбранные кандидаты в пакете были уникальны. Для оценки вероятностей выборки после отбраковки требуется аппроксимация.
  • range_max: сэмплер выбирает целые числа из интервала [0, range_max).

Необязательные атрибуты (см. Attrs):

  • vocab_file: каждая допустимая строка в этом файле (формат должен быть подобен CSV) соответствует допустимому идентификатору слова. Идентификаторы следуют последовательно, начиная с num_reserved_ids. Ожидается, что последняя запись в каждой строке содержит значение, соответствующее количеству или относительной вероятности. Для этой операции необходимо передать ровно один из аргументов — vocab_file или unigrams.
  • distortion: искажение используется для смещения униграммного распределения вероятностей. Каждый вес сначала возводится в степень 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: если для seed или seed2 задано ненулевое значение, генератор случайных чисел инициализируется указанным начальным значением. В противном случае он инициализируется случайным начальным значением.
  • seed2: второе начальное значение для предотвращения совпадения начальных значений.

Возвращает:

  • Output sampled_candidates: вектор длины num_sampled, каждый элемент которого является идентификатором выбранного кандидата.
  • Output true_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
Operation
sampled_candidates
::tensorflow::Output
sampled_expected_count
::tensorflow::Output
true_expected_count
::tensorflow::Output
Открытые статические функции
Distortion(float x)
Attrs
NumReservedIds(int64 x)
Attrs
NumShards(int64 x)
Attrs
Seed(int64 x)
Attrs
Seed2(int64 x)
Attrs
Shard(int64 x)
Attrs
Unigrams(const gtl::ArraySlice< float > & x)
Attrs
VocabFile(StringPiece x)
Attrs
Структуры
tensorflow::ops::FixedUnigramCandidateSampler::Attrs

Методы установки необязательных атрибутов для FixedUnigramCandidateSampler.

Открытые атрибуты

operation

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
)

Открытые статические функции

Distortion

Attrs Distortion(
  float x
)

NumReservedIds

Attrs NumReservedIds(
  int64 x
)

NumShards

Attrs NumShards(
  int64 x
)

Seed

Attrs Seed(
  int64 x
)

Seed2

Attrs Seed2(
  int64 x
)

Shard

Attrs Shard(
  int64 x
)

Unigrams

Attrs Unigrams(
  const gtl::ArraySlice< float > & x
)

VocabFile

Attrs VocabFile(
  StringPiece x
)

© 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/cc/class/tensorflow/ops/fixed-unigram-candidate-sampler

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API