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
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. |
---|