FixedUnigramCandidateSampler

classe finale pubblica FixedUnigramCandidateSampler

Genera etichette per il campionamento dei candidati con una distribuzione unigramma appresa.

Un campionatore di unigrammi potrebbe utilizzare una distribuzione di unigrammi fissa letta da un file o passata come un array in memoria invece di costruire la distribuzione dai dati al volo. C'è anche un'opzione per distorcere la distribuzione applicando un potere di distorsione ai pesi.

Il file del vocabolario dovrebbe essere in formato simile a CSV, con l'ultimo campo che rappresenta il peso associato alla parola.

Per ogni batch, questa operazione seleziona un singolo set di etichette candidate campionate.

I vantaggi del campionamento dei candidati per lotto sono la semplicità e la possibilità di un'efficiente moltiplicazione della matrice densa. Lo svantaggio è che i candidati campionati devono essere scelti indipendentemente dal contesto e dalle vere etichette.

Classi nidificate

classe Risolto il problema con UnigramCandidateSampler.Options Attributi facoltativi per FixedUnigramCandidateSampler

Costanti

Corda OP_NAME Il nome di questa operazione, come noto al motore principale di TensorFlow

Metodi pubblici

statico FixedUnigramCandidateSampler
create ( Scope scope, Operand < TInt64 > trueClasses, Long numTrue, Long numSampled, Boolean univoco, Long rangeMax, Opzioni... opzioni)
Metodo factory per creare una classe che racchiude una nuova operazione FixedUnigramCandidateSampler.
statico FixedUnigramCandidateSampler.Options
distorsione (distorsione mobile)
statico FixedUnigramCandidateSampler.Options
numReservedIds (numReservedIds lunghi)
statico FixedUnigramCandidateSampler.Options
numShards (numShards lunghi)
Uscita < TInt64 >
candidati campionati ()
Un vettore di lunghezza num_sampled, in cui ogni elemento è l'ID di un candidato campionato.
Uscita < TFloat32 >
campionatoExpectedCount ()
Un vettore di lunghezza num_sampled, per ogni candidato campionato che rappresenta il numero di volte in cui si prevede che il candidato si presenti in un batch di candidati campionati.
statico FixedUnigramCandidateSampler.Options
seme (seme lungo)
statico FixedUnigramCandidateSampler.Options
seme2 (seme lungo2)
statico FixedUnigramCandidateSampler.Options
frammento (frammento lungo)
Uscita < TFloat32 >
trueExpectedCount ()
Una matrice batch_size * num_true, che rappresenta il numero di volte in cui si prevede che ciascun candidato si presenti in un batch di candidati campionati.
statico FixedUnigramCandidateSampler.Options
unigrammi (List<Float> unigrammi)
statico FixedUnigramCandidateSampler.Options
vocabFile (Stringa vocabFile)

Metodi ereditati

Costanti

Stringa finale statica pubblica OP_NAME

Il nome di questa operazione, come noto al motore principale di TensorFlow

Valore costante: "FixedUnigramCandidateSampler"

Metodi pubblici

creazione statica pubblica FixedUnigramCandidateSampler (ambito ambito , Operando < TInt64 > trueClasses, Long numTrue, Long numSampled, Boolean univoco, Long rangeMax, Opzioni... opzioni)

Metodo factory per creare una classe che racchiude una nuova operazione FixedUnigramCandidateSampler.

Parametri
scopo ambito attuale
trueClasses Una matrice batch_size * num_true, in cui ogni riga contiene gli ID delle num_true target_classes nell'etichetta originale corrispondente.
numeroVero Numero di etichette vere per contesto.
numSampled Numero di candidati da campionare casualmente.
unico Se unico è vero, campioniamo con rifiuto, in modo che tutti i candidati campionati in un batch siano unici. Ciò richiede una certa approssimazione per stimare le probabilità di campionamento post-rifiuto.
portataMax Il campionatore campionerà i numeri interi dall'intervallo [0, range_max).
opzioni trasporta valori di attributi opzionali
ritorna
  • una nuova istanza di FixedUnigramCandidateSampler

public static FixedUnigramCandidateSampler.Options distorsione (distorsione float)

Parametri
distorsione La distorsione viene utilizzata per distorcere la distribuzione di probabilità dell'unigramma. Ogni peso viene prima aumentato alla potenza della distorsione prima di aggiungerlo alla distribuzione unigramma interna. Di conseguenza, distorsione = 1.0 fornisce un campionamento unigramma regolare (come definito dal file vocab) e distorsione = 0.0 fornisce una distribuzione uniforme.

public static FixedUnigramCandidateSampler.Options numReservedIds (Long numReservedIds)

Parametri
numReservedId Facoltativamente gli utenti possono aggiungere alcuni ID riservati nell'intervallo [0, ..., num_reserved_ids). Un caso d'uso è che uno speciale token di parola sconosciuta viene utilizzato come ID 0. Questi ID avranno una probabilità di campionamento pari a 0.

public static FixedUnigramCandidateSampler.Options numShards (Long numShards)

Parametri
numShards È possibile utilizzare un campionatore per campionare da un sottoinsieme dell'intervallo originale per accelerare l'intero calcolo attraverso il parallelismo. Questo parametro (insieme a 'shard') indica il numero di partizioni utilizzate nel calcolo complessivo.

output pubblico < TInt64 > sampledCandidates ()

Un vettore di lunghezza num_sampled, in cui ogni elemento è l'ID di un candidato campionato.

Output pubblico < TFloat32 > sampledExpectedCount ()

Un vettore di lunghezza num_sampled, per ogni candidato campionato che rappresenta il numero di volte in cui si prevede che il candidato si presenti in un batch di candidati campionati. Se unico=vero, allora questa è una probabilità.

seed statico pubblico FixedUnigramCandidateSampler.Options (seed lungo)

Parametri
seme Se seed o seed2 sono impostati su un valore diverso da zero, il generatore di numeri casuali viene seminato dal seed specificato. Altrimenti, viene seminato da un seme casuale.

public static FixedUnigramCandidateSampler.Options seed2 (Long seed2)

Parametri
seme2 Un secondo seme per evitare la collisione dei semi.

frammento pubblico statico FixedUnigramCandidateSampler.Options (frammento lungo)

Parametri
coccio È possibile utilizzare un campionatore per campionare da un sottoinsieme dell'intervallo originale per accelerare l'intero calcolo attraverso il parallelismo. Questo parametro (insieme a 'num_shards') indica il numero di partizione particolare di un'operazione di campionamento, quando viene utilizzato il partizionamento.

Output pubblico < TFloat32 > trueExpectedCount ()

Una matrice batch_size * num_true, che rappresenta il numero di volte in cui si prevede che ciascun candidato si presenti in un batch di candidati campionati. Se unico=vero, allora questa è una probabilità.

unigrammi statici pubblici FixedUnigramCandidateSampler.Options (unigrammi List<Float>)

Parametri
unigrammi Un elenco di conteggi o probabilità di unigrammi, uno per ID in ordine sequenziale. A questa operazione dovrebbe essere passato esattamente uno tra vocab_file e unigrams.

pubblico statico FixedUnigramCandidateSampler.Options vocabFile (String vocabFile)

Parametri
vocabFile Ogni riga valida in questo file (che dovrebbe avere un formato simile a CSV) corrisponde a un ID di parola valido. Gli ID sono in ordine sequenziale, a partire da num_reserved_ids. Si prevede che l'ultima voce in ciascuna riga sia un valore corrispondente al conteggio o alla probabilità relativa. A questa operazione deve essere passato esattamente uno tra vocab_file e unigrams.