Genera etiquetas para el muestreo de candidatos con una distribución de unigramo aprendida.
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.
Clases anidadas
clase | FixedUnigramCandidateSampler.Options | Los atributos opcionales para FixedUnigramCandidateSampler |
Constantes
Cuerda | OP_NAME | El nombre de esta operación, como lo conoce el motor central de TensorFlow |
Métodos públicos
estática FixedUnigramCandidateSampler | crear ( Alcance alcance, operando < TInt64 > trueClasses, Long numTrue, Long numSampled, booleano exclusivo, Long RANGEMAX, Opciones ... Opciones) Método de fábrica para crear una clase que envuelva una nueva operación FixedUnigramCandidateSampler. |
estáticas FixedUnigramCandidateSampler.Options | distorsión (distorsión Float) |
estáticas FixedUnigramCandidateSampler.Options | numReservedIds (numReservedIds de largo) |
estáticas FixedUnigramCandidateSampler.Options | numShards (numShards de largo) |
Salida < TInt64 > | sampledCandidates () Un vector de longitud num_sampled, en el que cada elemento es el ID de un candidato muestreado. |
Salida < TFloat32 > | sampledExpectedCount () 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. |
estáticas FixedUnigramCandidateSampler.Options | semilla (semilla de larga duración) |
estáticas FixedUnigramCandidateSampler.Options | seed2 (Long seed2) |
estáticas FixedUnigramCandidateSampler.Options | fragmento (fragmento largo) |
Salida < TFloat32 > | trueExpectedCount () Una matriz batch_size * num_true, que representa el número de veces que se espera que ocurra cada candidato en un lote de candidatos muestreados. |
estáticas FixedUnigramCandidateSampler.Options | unigrams (List <Float> unigrams) |
estáticas FixedUnigramCandidateSampler.Options | vocabFile (String vocabFile) |
Métodos heredados
Constantes
OP_NAME pública final static String
El nombre de esta operación, como lo conoce el motor central de TensorFlow
Métodos públicos
public static FixedUnigramCandidateSampler crear ( Alcance alcance, operando < TInt64 > trueClasses, Long numTrue, Long numSampled, booleano exclusivo, Long RANGEMAX, Opciones ... Opciones)
Método de fábrica para crear una clase que envuelva una nueva operación FixedUnigramCandidateSampler.
Parámetros
alcance | alcance actual |
---|---|
trueClasses | Una matriz batch_size * num_true, en la que cada fila contiene los ID de num_true target_classes en la etiqueta original correspondiente. |
numTrue | Número de etiquetas verdaderas por contexto. |
numSampled | 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. |
rangeMax | El muestreador muestreará números enteros del intervalo [0, range_max). |
opciones | lleva valores de atributos opcionales |
Devoluciones
- una nueva instancia de FixedUnigramCandidateSampler
estáticas pública FixedUnigramCandidateSampler.Options distorsión (distorsión del flotador)
Parámetros
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 de unigramo. 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. |
---|
estáticas pública FixedUnigramCandidateSampler.Options numReservedIds (numReservedIds de largo)
Parámetros
numReservedIds | 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. |
---|
estáticas pública FixedUnigramCandidateSampler.Options numShards (numShards de largo)
Parámetros
numShards | Se puede utilizar 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. |
---|
pública de salida < TInt64 > sampledCandidates ()
Un vector de longitud num_sampled, en el que cada elemento es el ID de un candidato muestreado.
pública de salida < TFloat32 > sampledExpectedCount ()
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.
public static FixedUnigramCandidateSampler.Options semilla (semilla de larga duración)
Parámetros
semilla | Si la semilla o semilla2 se establecen en un valor distinto de cero, el generador de números aleatorios es sembrado por la semilla dada. De lo contrario, es sembrado por una semilla aleatoria. |
---|
public static FixedUnigramCandidateSampler.Options seed2 (Long seed2)
Parámetros
semilla2 | Una segunda semilla para evitar la colisión de semillas. |
---|
estáticas pública FixedUnigramCandidateSampler.Options fragmento (fragmento largo)
Parámetros
casco | Se puede utilizar 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 muestreo, cuando se utiliza la partición. |
---|
pública de salida < TFloat32 > trueExpectedCount ()
Una matriz batch_size * num_true, que representa el número de veces que se espera que ocurra cada candidato en un lote de candidatos muestreados. Si único = verdadero, entonces esta es una probabilidad.
públicas estáticas FixedUnigramCandidateSampler.Options unigrams (List <Float> unigrams)
Parámetros
unigramos | 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. |
---|
estáticas pública FixedUnigramCandidateSampler.Options vocabFile (String vocabFile)
Parámetros
vocabFile | 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. |
---|