tensorflow :: operaciones :: FixedUnigramCandidateSampler

#include <candidate_sampling_ops.h>

Genera etiquetas para el muestreo de candidatos con una distribución de unigramo aprendida.

Resumen

Un muestreador de unigramo podría usar una distribución unigrama fija leída de un archivo o pasada como una matriz en memoria en lugar de construir la distribución a partir de datos sobre la marcha. También hay una opción para sesgar la distribución aplicando un poder de distorsión a los pesos.

El archivo de vocabulario debe estar en formato CSV, siendo el último campo el peso asociado con la palabra.

Para cada lote, esta operación selecciona un único conjunto de etiquetas candidatas muestreadas.

Las ventajas de muestrear candidatos por lote son la simplicidad y la posibilidad de una multiplicación de matriz densa eficiente. La desventaja es que los candidatos incluidos en la muestra deben elegirse independientemente del contexto y de las verdaderas etiquetas.

Argumentos:

  • alcance: un objeto de alcance
  • true_classes: una matriz batch_size * num_true, en la que cada fila contiene los ID de num_true target_classes en la etiqueta original correspondiente.
  • num_true: número de etiquetas verdaderas por contexto.
  • num_sampled: número de candidatos para muestrear aleatoriamente.
  • único: si único es verdadero, tomamos muestras con rechazo, de modo que todos los candidatos muestreados en un lote sean únicos. Esto requiere cierta aproximación para estimar las probabilidades de muestreo posteriores al rechazo.
  • range_max: el muestreador muestreará enteros del intervalo [0, range_max).

Atributos opcionales (consulte Attrs ):

  • vocab_file: cada línea válida en este archivo (que debe tener un formato similar a CSV) corresponde a una ID de palabra válida. Los ID están en orden secuencial, comenzando por num_reserved_ids. Se espera que la última entrada en cada línea sea un valor correspondiente al recuento o probabilidad relativa. Exactamente uno de vocab_file y unigrams debe pasarse a esta operación.
  • distorsión: la distorsión se utiliza para sesgar la distribución de probabilidad unigrama. Cada peso se eleva primero a la potencia de la distorsión antes de agregarlo a la distribución interna unigrama. Como resultado, la distorsión = 1.0 proporciona un muestreo de unigramo regular (según lo definido por el archivo de vocabulario) y la distorsión = 0.0 proporciona una distribución uniforme.
  • num_reserved_ids: Opcionalmente, los usuarios pueden agregar algunos ID reservados en el rango [0, ..., num_reserved_ids). Un caso de uso es que se utiliza un token de palabra desconocida especial como ID 0. Estos ID tendrán una probabilidad de muestreo de 0.
  • num_shards: se puede usar un muestreador para muestrear de un subconjunto del rango original con el fin de acelerar todo el cálculo a través del paralelismo. Este parámetro (junto con 'fragmento') indica el número de particiones que se utilizan en el cálculo general.
  • fragmento: se puede usar un muestreador para muestrear de un subconjunto del rango original con el fin de acelerar todo el cálculo a través del paralelismo. Este parámetro (junto con 'num_shards') indica el número de partición particular de una operación de muestreador, cuando se utiliza la partición.
  • unigramas: una lista de recuentos o probabilidades de unigramo, uno por ID en orden secuencial. Se debe pasar exactamente uno de vocab_file y unigrams a esta operación.
  • semilla: si semilla o semilla2 se establecen en un valor distinto de cero, el generador de números aleatorios se sembró con la semilla dada. De lo contrario, es sembrado por una semilla aleatoria.
  • seed2: Una segunda semilla para evitar la colisión de semillas.

Devoluciones:

  • Output sampled_candidates: un vector de longitud num_sampled, en el que cada elemento es el ID de un candidato muestreado.
  • Output true_expected_count: una matriz de tamaño de lote * num_verdadero, que representa el número de veces que se espera que ocurra cada candidato en un lote de candidatos de muestra. Si único = verdadero, entonces esta es una probabilidad.
  • Output sampled_expected_count: Un vector de longitud num_sampled, para cada candidato muestreado que representa el número de veces que se espera que el candidato ocurra en un lote de candidatos muestreados. Si único = verdadero, entonces esta es una probabilidad.

Constructores y Destructores

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)

Atributos públicos

operation
sampled_candidates
sampled_expected_count
true_expected_count

Funciones estáticas públicas

Distortion (float x)
NumReservedIds (int64 x)
NumShards (int64 x)
Seed (int64 x)
Seed2 (int64 x)
Shard (int64 x)
Unigrams (const gtl::ArraySlice< float > & x)
VocabFile (StringPiece x)

Estructuras

tensorflow :: ops :: FixedUnigramCandidateSampler :: Attrs

Establecedores de atributos opcionales para FixedUnigramCandidateSampler .

Atributos públicos

operación

Operation operation

sampled_candidates

::tensorflow::Output sampled_candidates

sample_expected_count

::tensorflow::Output sampled_expected_count

true_expected_count

::tensorflow::Output true_expected_count

Funciones publicas

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
)

Funciones estáticas públicas

Distorsión

Attrs Distortion(
  float x
)

NumReservedIds

Attrs NumReservedIds(
  int64 x
)

NumShards

Attrs NumShards(
  int64 x
)

Semilla

Attrs Seed(
  int64 x
)

Semilla2

Attrs Seed2(
  int64 x
)

Casco

Attrs Shard(
  int64 x
)

Unigramos

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

VocabFile

Attrs VocabFile(
  StringPiece x
)