tensorflow :: ops :: FixedUnigramCandidateSampler

#include <candidate_sampling_ops.h>

Gera rótulos para amostras de candidatos com uma distribuição de unigrama aprendida.

Resumo

Um amostrador de unigrama poderia usar uma distribuição de unigrama fixa lida de um arquivo ou passada como um array na memória, em vez de construir a distribuição de dados em tempo real. Também existe a opção de distorcer a distribuição aplicando um poder de distorção aos pesos.

O arquivo de vocabulário deve estar no formato CSV, com o último campo sendo o peso associado à palavra.

Para cada lote, esta operação escolhe um único conjunto de rótulos candidatos de amostra.

As vantagens da amostragem de candidatos por lote são a simplicidade e a possibilidade de multiplicação de matriz densa eficiente. A desvantagem é que os candidatos amostrados devem ser escolhidos independentemente do contexto e dos rótulos verdadeiros.

Argumentos:

  • escopo: um objeto Scope
  • true_classes: uma matriz batch_size * num_true, na qual cada linha contém os IDs de num_true target_classes no rótulo original correspondente.
  • num_true: número de rótulos verdadeiros por contexto.
  • num_sampled: Número de candidatos para amostrar aleatoriamente.
  • exclusivo: se exclusivo for verdadeiro, fazemos a amostragem com rejeição, de forma que todos os candidatos amostrados em um lote sejam únicos. Isso requer alguma aproximação para estimar as probabilidades de amostragem pós-rejeição.
  • range_max: O amostrador irá amostrar inteiros do intervalo [0, range_max).

Atributos opcionais (consulte Attrs ):

  • vocab_file: Cada linha válida neste arquivo (que deve ter um formato semelhante ao CSV) corresponde a um ID de palavra válido. Os IDs estão em ordem sequencial, começando em num_reserved_ids. Espera-se que a última entrada em cada linha seja um valor correspondente à contagem ou probabilidade relativa. Exatamente um de vocab_file e unigramas precisa ser passado para este op.
  • distorção: a distorção é usada para distorcer a distribuição de probabilidade do unigrama. Cada peso é primeiro elevado à potência da distorção antes de ser adicionado à distribuição unigrama interna. Como resultado, distorção = 1,0 fornece amostragem unigrama regular (conforme definido pelo arquivo de vocabulário) e distorção = 0,0 fornece uma distribuição uniforme.
  • num_reserved_ids: opcionalmente, alguns IDs reservados podem ser adicionados no intervalo [0, ..., num_reserved_ids) pelos usuários. Um caso de uso é que um token de palavra desconhecida especial é usado como ID 0. Esses IDs terão uma probabilidade de amostragem de 0.
  • num_shards: um amostrador pode ser usado para amostrar de um subconjunto do intervalo original para acelerar todo o cálculo por meio do paralelismo. Este parâmetro (junto com 'shard') indica o número de partições que estão sendo usadas na computação geral.
  • fragmento: um amostrador pode ser usado para amostrar de um subconjunto do intervalo original para acelerar todo o cálculo por meio do paralelismo. Este parâmetro (junto com 'num_shards') indica o número de partição particular de uma operação de amostrador, quando o particionamento está sendo usado.
  • unigramas: uma lista de contagens de unigrama ou probabilidades, uma por ID em ordem sequencial. Exatamente um de vocab_file e unigrams deve ser passado para este op.
  • seed: Se seed ou seed2 forem definidos como diferentes de zero, o gerador de números aleatórios é propagado pelo seed fornecido. Caso contrário, é semeado por uma semente aleatória.
  • seed2: Uma segunda semente para evitar a colisão de sementes.

Retorna:

  • Output sampled_candidates: um vetor de comprimento num_sampled, em que cada elemento é o ID de um candidato amostrado.
  • Output true_expected_count: uma matriz batch_size * num_true, representando o número de vezes que cada candidato deve ocorrer em um lote de candidatos amostrados. Se único = verdadeiro, então esta é uma probabilidade.
  • Output sampled_expected_count: um vetor de comprimento num_sampled, para cada candidato amostrado, representando o número de vezes que o candidato deve ocorrer em um lote de candidatos amostrados. Se único = verdadeiro, então esta é uma probabilidade.

Construtores e Destruidores

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

Funções 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)

Structs

tensorflow :: ops :: FixedUnigramCandidateSampler :: Attrs

Configuradores de atributos opcionais para FixedUnigramCandidateSampler .

Atributos públicos

Operação

Operation operation

sampled_candidates

::tensorflow::Output sampled_candidates

amostra_expectativa_conta

::tensorflow::Output sampled_expected_count

true_expected_count

::tensorflow::Output true_expected_count

Funções públicas

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
)

Funções estáticas públicas

Distorção

Attrs Distortion(
  float x
)

NumReservedIds

Attrs NumReservedIds(
  int64 x
)

NumShards

Attrs NumShards(
  int64 x
)

Semente

Attrs Seed(
  int64 x
)

Seed2

Attrs Seed2(
  int64 x
)

Fragmento

Attrs Shard(
  int64 x
)

Unigramas

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

VocabFile

Attrs VocabFile(
  StringPiece x
)