Gera rótulos para amostras de candidatos com uma distribuição de unigrama aprendida.
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.
Classes aninhadas
classe | FixedUnigramCandidateSampler.Options | Atributos opcionais para FixedUnigramCandidateSampler |
Constantes
Fragmento | OP_NAME | O nome desta operação, conforme conhecido pelo motor principal TensorFlow |
Métodos Públicos
estática FixedUnigramCandidateSampler | criar ( Scope escopo, Operando < TInt64 > trueClasses, Long numTrue, Long numSampled, Boolean única, Long RangeMax, Options ... Opções) Método de fábrica para criar uma classe envolvendo uma nova operação FixedUnigramCandidateSampler. |
estáticos FixedUnigramCandidateSampler.Options | distorção (distorção Float) |
estáticos FixedUnigramCandidateSampler.Options | numReservedIds (numReservedIds Long) |
estáticos FixedUnigramCandidateSampler.Options | numShards (numShards Long) |
Output < TInt64 > | sampledCandidates () Um vetor de comprimento num_sampled, no qual cada elemento é o ID de um candidato amostrado. |
Output < TFloat32 > | sampledExpectedCount () Um vetor de comprimento num_sampled, para cada candidato amostrado que representa o número de vezes que o candidato deve ocorrer em um lote de candidatos amostrados. |
estáticos FixedUnigramCandidateSampler.Options | sementes (semente Long) |
estáticos FixedUnigramCandidateSampler.Options | seed2 (seed2 Long) |
estáticos FixedUnigramCandidateSampler.Options | caco (caco Long) |
Output < TFloat32 > | trueExpectedCount () Uma matriz batch_size * num_true, representando o número de vezes que cada candidato deve ocorrer em um lote de candidatos amostrados. |
estáticos FixedUnigramCandidateSampler.Options | unigramas (List <float> unigramas) |
estáticos FixedUnigramCandidateSampler.Options | vocabFile (String vocabFile) |
Métodos herdados
Constantes
nome_op final String public static
O nome desta operação, conforme conhecido pelo motor principal TensorFlow
Métodos Públicos
public static FixedUnigramCandidateSampler criar ( Scope escopo, Operando < TInt64 > trueClasses, Long numTrue, Long numSampled, Boolean única, Long RangeMax, Options ... Opções)
Método de fábrica para criar uma classe envolvendo uma nova operação FixedUnigramCandidateSampler.
Parâmetros
alcance | escopo atual |
---|---|
trueClasses | Uma matriz batch_size * num_true, na qual cada linha contém os IDs de num_true target_classes no rótulo original correspondente. |
numTrue | Número de rótulos verdadeiros por contexto. |
numSampled | Número de candidatos a serem amostrados aleatoriamente. |
exclusivo | Se único for verdadeiro, fazemos a amostragem com rejeição, de modo 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. |
rangeMax | O amostrador irá amostrar inteiros do intervalo [0, range_max). |
opções | carrega valores de atributos opcionais |
Devoluções
- uma nova instância de FixedUnigramCandidateSampler
public static FixedUnigramCandidateSampler.Options distorção (distorção Float)
Parâmetros
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. |
---|
public static FixedUnigramCandidateSampler.Options numReservedIds (numReservedIds Long)
Parâmetros
numReservedIds | 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. |
---|
public static FixedUnigramCandidateSampler.Options numShards (numShards Long)
Parâmetros
numShards | 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. |
---|
pública Output < TInt64 > sampledCandidates ()
Um vetor de comprimento num_sampled, no qual cada elemento é o ID de um candidato amostrado.
pública Output < TFloat32 > sampledExpectedCount ()
Um vetor de comprimento num_sampled, para cada candidato amostrado que representa o número de vezes que o candidato deve ocorrer em um lote de candidatos amostrados. Se único = verdadeiro, então esta é uma probabilidade.
public static FixedUnigramCandidateSampler.Options semente (seed Long)
Parâmetros
semente | Se seed ou seed2 forem definidos como diferentes de zero, o gerador de número aleatório é propagado por um determinado seed. Caso contrário, é semeado por uma semente aleatória. |
---|
public static FixedUnigramCandidateSampler.Options seed2 (seed2 Long)
Parâmetros
seed2 | Uma segunda semente para evitar a colisão de sementes. |
---|
public static FixedUnigramCandidateSampler.Options Shard (caco Long)
Parâmetros
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. |
---|
pública Output < TFloat32 > trueExpectedCount ()
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.
public static FixedUnigramCandidateSampler.Options unigramas (List <float> unigramas)
Parâmetros
unigramas | Uma lista de contagens de unigrama ou probabilidades, uma por ID em ordem sequencial. Exatamente um de vocab_file e unigramas deve ser passado para este op. |
---|
public static FixedUnigramCandidateSampler.Options vocabFile (String vocabFile)
Parâmetros
vocabulário | 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. |
---|