Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

tensorflow :: ops :: FixedUnigramCandidateSampler

#include <candidate_sampling_ops.h>

Genera etichette per il campionamento del candidato con una distribuzione unigramma appresa.

Sommario

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

Il file del vocabolario dovrebbe essere in formato 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.

Argomenti:

  • scope: un oggetto Scope
  • true_classes: una matrice batch_size * num_true, in cui ogni riga contiene gli ID delle num_true target_classes nell'etichetta originale corrispondente.
  • num_true: numero di etichette vere per contesto.
  • num_sampled: numero di candidati da campionare in modo casuale.
  • unico: se unico è vero, campioniamo con rifiuto, in modo che tutti i candidati campionati in un batch siano unici. Ciò richiede un'approssimazione per stimare le probabilità di campionamento post-rigetto.
  • range_max: il campionatore campionerà numeri interi dall'intervallo [0, range_max).

Attributi opzionali (vedi Attrs ):

  • vocab_file: ogni riga valida in questo file (che dovrebbe avere un formato simile a CSV) corrisponde a un ID parola valido. Gli ID sono in ordine sequenziale, a partire da num_reserved_ids. L'ultima voce di ogni riga dovrebbe essere un valore corrispondente al conteggio o alla probabilità relativa. A questo op deve essere passato esattamente uno tra vocab_file e unigrams.
  • distorsione: la distorsione viene utilizzata per inclinare la distribuzione di probabilità unigramma. Ogni peso viene prima elevato alla potenza della distorsione prima di aggiungersi 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.
  • num_reserved_ids: Facoltativamente alcuni ID riservati possono essere aggiunti nell'intervallo [0, ..., num_reserved_ids) dagli utenti. Un caso d'uso è che una speciale parola sconosciuta token viene utilizzata come ID 0. Questi ID avranno una probabilità di campionamento pari a 0.
  • num_shards: un campionatore può essere utilizzato per campionare da un sottoinsieme dell'intervallo originale al fine di accelerare l'intero calcolo attraverso il parallelismo. Questo parametro (insieme a "shard") indica il numero di partizioni utilizzate nel calcolo complessivo.
  • shard: un campionatore può essere utilizzato per campionare da un sottoinsieme dell'intervallo originale al fine di accelerare l'intero calcolo attraverso il parallelismo. Questo parametro (insieme a 'num_shards') indica il numero di partizione particolare di un op campionatore, quando viene utilizzato il partizionamento.
  • unigrammi: un elenco di conteggi o probabilità unigrammi, uno per ID in ordine sequenziale. A questo op dovrebbe essere passato esattamente uno tra vocab_file e unigrams.
  • seed: se seed o seed2 sono impostati su un valore diverso da zero, il generatore di numeri casuali viene sottoposto a seed dal seed specificato. Altrimenti, viene seminato da un seme casuale.
  • seed2: un secondo seme per evitare la collisione del seme.

Ritorna:

  • Output sampled_candidates: un vettore di lunghezza num_sampled, in cui ogni elemento è l'ID di un candidato campionato.
  • Output true_expected_count: una matrice batch_size * num_true, che rappresenta il numero di volte in cui ci si aspetta che ogni candidato si presenti in un batch di candidati campionati. Se unico = vero, questa è una probabilità.
  • Output sampled_expected_count: un vettore di lunghezza num_sampled, per ogni candidato campionato che rappresenta il numero di volte che ci si aspetta che il candidato si presenti in un batch di candidati campionati. Se unico = vero, questa è una probabilità.

Costruttori e distruttori

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)

Attributi pubblici

operation
sampled_candidates
sampled_expected_count
true_expected_count

Funzioni statiche pubbliche

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)

Structs

tensorflow :: ops :: FixedUnigramCandidateSampler :: Attrs

Setter attributi facoltativi per FixedUnigramCandidateSampler .

Attributi pubblici

operazione

Operation operation

sampled_candidates

::tensorflow::Output sampled_candidates

sampled_expected_count

::tensorflow::Output sampled_expected_count

true_expected_count

::tensorflow::Output true_expected_count

Funzioni pubbliche

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
)

Funzioni statiche pubbliche

Distorsione

Attrs Distortion(
  float x
)

NumReservedIds

Attrs NumReservedIds(
  int64 x
)

NumShards

Attrs NumShards(
  int64 x
)

seme

Attrs Seed(
  int64 x
)

seed2

Attrs Seed2(
  int64 x
)

Coccio

Attrs Shard(
  int64 x
)

Unigrams

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

VocabFile

Attrs VocabFile(
  StringPiece x
)