tensorflow:: ops:: FixedUnigramCandidateSampler
#include <candidate_sampling_ops.h>Genera etiquetas para el muestreo de candidatos con una distribución unigrama aprendida.
Resumen
Un muestreador de unigramas podría usar una distribución de unigramas 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 existe la opción de sesgar la distribución aplicando una potencia de distorsión a los pesos.
El archivo de vocabulario debe estar en formato CSV, y el último campo debe contener el peso asociado a cada 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 realizar una multiplicación eficiente de matrices densas. La desventaja es que los candidatos muestreados deben elegirse independientemente del contexto y de las etiquetas reales.
Argumentos:
- ámbito: Un objeto de ámbito
- true_classes: Una matriz batch_size * num_true, en la que cada fila contiene los ID de las num_true target_classes en la etiqueta original correspondiente.
- num_true: Número de etiquetas verdaderas por contexto.
- num_sampled: Número de candidatos a muestrear aleatoriamente.
- Unicidad: Si la condición de unicidad es verdadera, realizamos un muestreo 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 tomará muestras de números enteros del intervalo [0, range_max).
Atributos opcionales (ver Attrs ):
- vocab_file: Cada línea válida de este archivo (que debe tener un formato similar a CSV) corresponde a un ID de palabra válido. Los ID están en orden secuencial, comenzando desde num_reserved_ids. Se espera que la última entrada de cada línea sea un valor que corresponda al recuento o la probabilidad relativa. Se debe pasar exactamente uno de los siguientes parámetros a esta operación: vocab_file o unigrams.
- Distorsión: La distorsión se utiliza para modificar la distribución de probabilidad de los unigramas. Cada peso se eleva primero a la potencia de la distorsión antes de sumarlo a la distribución interna de unigramas. Como resultado, distorsión = 1,0 proporciona un muestreo regular de unigramas (según lo define el archivo de vocabulario), y 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 utilice 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 seleccionar un subconjunto del rango original y así acelerar el cálculo mediante paralelismo. Este parámetro (junto con 'shard') indica el número de particiones que se utilizan en el cálculo general.
- Fragmento: Se puede usar un muestreador para seleccionar un subconjunto del rango original y así acelerar el cálculo mediante paralelismo. Este parámetro (junto con 'num_shards') indica el número de partición de la operación de muestreador cuando se utiliza la partición.
- unigramas: Una lista de recuentos o probabilidades de unigramas, uno por ID en orden secuencial. Se debe pasar exactamente uno de los siguientes parámetros a esta operación: vocab_file o unigramas.
- Semilla: Si tanto la semilla como la semilla2 tienen un valor distinto de cero, el generador de números aleatorios se inicializa con la semilla proporcionada. De lo contrario, se inicializa con una semilla aleatoria.
- seed2: Una segunda semilla para evitar colisiones de semillas.
Devoluciones:
-
Outputsampled_candidates: Un vector de longitud num_sampled, en el que cada elemento es el ID de un candidato muestreado. -
Outputtrue_expected_count: Una matriz batch_size * num_true, que representa la cantidad de veces que se espera que aparezca cada candidato en un lote de candidatos muestreados. Si unique=true, entonces se trata de una probabilidad. -
Outputsampled_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 aparezca en un lote de candidatos muestreados. Si unique=true, entonces se trata de 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 | Configuradores de atributos opcionales para FixedUnigramCandidateSampler . |
Atributos públicos
operación
Operation operation
candidatos_muestreados
::tensorflow::Output sampled_candidates
recuento_esperado_muestreado
::tensorflow::Output sampled_expected_count
recuento_esperado_verdadero
::tensorflow::Output true_expected_count
Funciones públicas
Muestreador candidato de unigrama fijo
FixedUnigramCandidateSampler( const ::tensorflow::Scope & scope, ::tensorflow::Input true_classes, int64 num_true, int64 num_sampled, bool unique, int64 range_max )
Muestreador candidato de unigrama fijo
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 )
Unigramas
Attrs Unigrams( const gtl::ArraySlice< float > & x )
Archivo de vocabulario
Attrs VocabFile( StringPiece x )