Spec-Zone.ru › TensorFlow C++ 2.4

tensorflow::ops::FixedUnigramCandidateSampler

#include <candidate_sampling_ops.h>

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

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

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

Файл словаря должен быть в формате, похожем на CSV, где последний столбец — вес, связанный со словом.

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

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

Аргументы:

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

Дополнительные атрибуты (см. Attrs):

  • vocab_file: Каждая допустимая строка в этом файле (который должен иметь формат, похожий на CSV) соответствует допустимому идентификатору слова. Идентификаторы расположены в последовательном порядке, начиная с num_reserved_ids. Ожидается, что последняя запись в каждой строке будет значением, соответствующим счётчику или относительной вероятности. Для данного оператора нужно указать либо vocab_file, либо unigrams.
  • distortion: Искажение используется для искажения распределения вероятностей униграмм. Сначала каждый вес возводится в степень искажения, прежде чем добавляться к внутреннему распределению униграмм. В результате, distortion = 1.0 даёт обычную выборку униграмм (как определено в файле словаря), а distortion = 0.0 даёт равномерное распределение.
  • num_reserved_ids: Пользователи могут добавлять необязательно некоторые зарезервированные идентификаторы в диапазоне [0, ..., num_reserved_ids). Одним из вариантов использования является использование специального токена неизвестного слова в качестве ID 0. У этих идентификаторов будет вероятность выборки 0.
  • num_shards: Образец может быть использован для выборки из подмножества исходного диапазона, чтобы ускорить вычисления за счёт параллелизма. Этот параметр (вместе с 'shard') указывает количество разделов, используемых в общем вычислении.
  • shard: Образец может быть использован для выборки из подмножества исходного диапазона, чтобы ускорить вычисления за счёт параллелизма. Этот параметр (вместе с 'num_shards') указывает номер конкретной части оператора выборки, когда используется разделение.
  • unigrams: Список счётчиков или вероятностей униграмм, один на каждый ID в последовательном порядке. Для данного оператора нужно указать либо vocab_file, либо unigrams.
  • seed: Если seed или seed2 установлены отличными от нуля, генератор случайных чисел инициализируется заданным seed. В противном случае он инициализируется случайным seed.
  • seed2: Второй seed для предотвращения коллизий seed.

Возвращаемые значения:

  • 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

выбранные_кандидаты

::tensorflow::Output sampled_candidates

ожидаемое_количество_выбранных_кандидатов

::tensorflow::Output sampled_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
)

Общедоступные статические функции

Искажение

Attrs Distortion(
  float x
)

NumReservedIds

Attrs NumReservedIds(
  int64 x
)

NumShards

Attrs NumShards(
  int64 x
)

Seed

Attrs Seed(
  int64 x
)

Seed2

Attrs Seed2(
  int64 x
)

Раздел

Attrs Shard(
  int64 x
)

Униграммы

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

Файл словаря

Attrs VocabFile(
  StringPiece x
)

© 2020 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/versions/r2.4/api_docs/cc/class/tensorflow/ops/fixed-unigram-candidate-sampler

Spec-Zone.ru

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