fluxo tensor:: ops:: FixoUnigramCandidateSampler
#include <candidate_sampling_ops.h>
Gera rótulos para amostragem de candidatos com uma distribuição de unigramas aprendida.
Resumo
Um amostrador de unigrama poderia usar uma distribuição fixa de unigrama lida de um arquivo ou passada como uma matriz na memória, em vez de construir a distribuição a partir 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 em formato CSV, sendo o último campo o peso associado à palavra.
Para cada lote, esta operação escolhe um único conjunto de rótulos candidatos amostrados.
As vantagens da amostragem de candidatos por lote são a simplicidade e a possibilidade de multiplicação eficiente de matrizes densas. A desvantagem é que os candidatos amostrados devem ser escolhidos independentemente do contexto e dos verdadeiros rótulos.
Argumentos:
- escopo: um objeto Escopo
- 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 amostragem aleatória.
- único: se único for verdadeiro, fazemos uma amostragem com rejeição, de modo que todos os candidatos amostrados em um lote sejam únicos. Isto requer alguma aproximação para estimar as probabilidades de amostragem pós-rejeição.
- range_max: O amostrador irá amostrar números inteiros do intervalo [0, range_max).
Atributos opcionais (veja Attrs
):
- vocab_file: Cada linha válida neste arquivo (que deve ter um formato semelhante a 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 dos vocab_file e unigrams precisa ser passado para esta operação.
- 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 interna de unigramas. Como resultado, distorção = 1,0 fornece amostragem regular de unigramas (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 especial de palavra desconhecida seja 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 (juntamente com 'shard') indica o número de partições que estão sendo usadas no cálculo geral.
- fragmento: um amostrador pode ser usado para amostrar um subconjunto do intervalo original para acelerar todo o cálculo por meio do paralelismo. Este parâmetro (juntamente com 'num_shards') indica o número de partição específico de uma operação de amostragem, quando o particionamento está sendo usado.
- unigramas: uma lista de contagens ou probabilidades de unigramas, uma por ID em ordem sequencial. Exatamente um dos vocab_file e unigrams deve ser passado para esta operação.
- seed: Se seed ou seed2 forem definidos como diferentes de zero, o gerador de números aleatórios será propagado pela semente fornecida. Caso contrário, é semeado por uma semente aleatória.
- seed2: Uma segunda semente para evitar colisão de sementes.
Retorna:
-
Output
sampled_candidates: um vetor de comprimento num_sampled, no qual 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 se espera que cada candidato ocorra 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 se espera que o candidato ocorra 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) |
Estruturas | |
---|---|
tensorflow:: ops:: FixedUnigramCandidateSampler:: Attrs | Configuradores de atributos opcionais para FixedUnigramCandidateSampler . |
Atributos públicos
operação
Operation operation
sampled_candidates
::tensorflow::Output sampled_candidates
contagem_amostrada_esperada
::tensorflow::Output sampled_expected_count
contagem_verdadeira_esperada
::tensorflow::Output true_expected_count
Funções públicas
FixoUnigramCandidateSampler
FixedUnigramCandidateSampler( const ::tensorflow::Scope & scope, ::tensorflow::Input true_classes, int64 num_true, int64 num_sampled, bool unique, int64 range_max )
FixoUnigramCandidateSampler
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 )
Semente2
Attrs Seed2( int64 x )
Fragmento
Attrs Shard( int64 x )
Unigramas
Attrs Unigrams( const gtl::ArraySlice< float > & x )
Arquivo de vocabulário
Attrs VocabFile( StringPiece x )