FixedUnigramCandidateSampler

classe finale publiqueFixedUnigramCandidateSampler

Génère des étiquettes pour l'échantillonnage des candidats avec une distribution d'unigramme apprise.

Un échantillonneur d'unigramme pourrait utiliser une distribution d'unigramme fixe lue à partir d'un fichier ou transmise sous forme de tableau en mémoire au lieu de créer la distribution à partir de données à la volée. Il existe également une option permettant de fausser la distribution en appliquant un pouvoir de distorsion aux poids.

Le fichier de vocabulaire doit être au format de type CSV, le dernier champ étant le poids associé au mot.

Pour chaque lot, cette opération sélectionne un seul ensemble d’étiquettes candidates échantillonnées.

Les avantages de l’échantillonnage des candidats par lot sont la simplicité et la possibilité d’une multiplication matricielle dense efficace. L’inconvénient est que les candidats échantillonnés doivent être choisis indépendamment du contexte et des véritables étiquettes.

Classes imbriquées

classe FixeUnigramCandidateSampler.Options Attributs facultatifs pour FixedUnigramCandidateSampler

Constantes

Chaîne OP_NAME Le nom de cette opération, tel que connu par le moteur principal TensorFlow

Méthodes publiques

statiqueFixedUnigramCandidateSampler
créer ( Scope scope, Operand < TInt64 > trueClasses, Long numTrue, Long numSampled, Boolean unique, Long rangeMax, Options... options)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération FixedUnigramCandidateSampler.
statiqueFixedUnigramCandidateSampler.Options
distorsion (distorsion flottante)
statiqueFixedUnigramCandidateSampler.Options
numReservedIds (numReservedIds longs)
statiqueFixedUnigramCandidateSampler.Options
numShards (numShards longs)
Sortie < TInt64 >
candidats échantillonnés ()
Un vecteur de longueur num_sampled, dans lequel chaque élément est l'ID d'un candidat échantillonné.
Sortie < TFloat32 >
sampledExpectedCount ()
Un vecteur de longueur num_sampled, pour chaque candidat échantillonné, représentant le nombre de fois où le candidat devrait apparaître dans un lot de candidats échantillonnés.
statiqueFixedUnigramCandidateSampler.Options
graine (graine longue)
statiqueFixedUnigramCandidateSampler.Options
graine2 (graine longue2)
statiqueFixedUnigramCandidateSampler.Options
fragment (fragment long)
Sortie < TFloat32 >
trueExpectedCount ()
Une matrice batch_size * num_true, représentant le nombre de fois où chaque candidat est censé apparaître dans un lot de candidats échantillonnés.
statiqueFixedUnigramCandidateSampler.Options
unigrammes (List<Float> unigrammes)
statiqueFixedUnigramCandidateSampler.Options
fichiervocab (chaîne fichiervocab)

Méthodes héritées

Constantes

chaîne finale statique publique OP_NAME

Le nom de cette opération, tel que connu par le moteur principal TensorFlow

Valeur constante : « FixedUnigramCandidateSampler »

Méthodes publiques

public static FixedUnigramCandidateSampler créer ( Scope scope, Operand < TInt64 > trueClasses, Long numTrue, Long numSampled, Boolean unique, Long rangeMax, Options... options)

Méthode d'usine pour créer une classe encapsulant une nouvelle opération FixedUnigramCandidateSampler.

Paramètres
portée portée actuelle
vraiClasses Une matrice batch_size * num_true, dans laquelle chaque ligne contient les ID des classes cibles num_true dans l'étiquette d'origine correspondante.
numVrai Nombre de vraies étiquettes par contexte.
numSampled Nombre de candidats à échantillonner au hasard.
unique Si unique est vrai, nous échantillonnons avec rejet, de sorte que tous les candidats échantillonnés dans un lot soient uniques. Cela nécessite une certaine approximation pour estimer les probabilités d’échantillonnage après rejet.
plageMax L'échantillonneur échantillonnera les entiers de l'intervalle [0, range_max).
choix porte des valeurs d'attributs facultatifs
Retour
  • une nouvelle instance de FixedUnigramCandidateSampler

Distorsion statique publique FixedUnigramCandidateSampler.Options (distorsion flottante)

Paramètres
Distorsion La distorsion est utilisée pour fausser la distribution de probabilité de l'unigramme. Chaque poids est d'abord augmenté à la puissance de la distorsion avant de s'ajouter à la distribution interne de l'unigramme. En conséquence, distorsion = 1,0 donne un échantillonnage d'unigramme régulier (tel que défini par le fichier de vocabulaire) et distorsion = 0,0 donne une distribution uniforme.

public statique FixUnigramCandidateSampler.Options numReservedIds (Long numReservedIds)

Paramètres
numReservedIds En option, certains identifiants réservés peuvent être ajoutés dans la plage [0, ..., num_reserved_ids) par les utilisateurs. Un cas d'utilisation est qu'un jeton de mot inconnu spécial est utilisé comme ID 0. Ces ID auront une probabilité d'échantillonnage de 0.

public statique FixUnigramCandidateSampler.Options numShards (Long numShards)

Paramètres
nombre de fragments Un échantillonneur peut être utilisé pour échantillonner un sous-ensemble de la plage d'origine afin d'accélérer l'ensemble du calcul grâce au parallélisme. Ce paramètre (avec 'shard') indique le nombre de partitions utilisées dans le calcul global.

Sortie publique < TInt64 > sampledCandidates ()

Un vecteur de longueur num_sampled, dans lequel chaque élément est l'ID d'un candidat échantillonné.

Sortie publique < TFloat32 > sampledExpectedCount ()

Un vecteur de longueur num_sampled, pour chaque candidat échantillonné, représentant le nombre de fois où le candidat devrait apparaître dans un lot de candidats échantillonnés. Si unique=true, alors c'est une probabilité.

graine publique statique FixedUnigramCandidateSampler.Options (graine longue)

Paramètres
graine Si seed ou seed2 sont définis comme étant différents de zéro, le générateur de nombres aléatoires est amorcé par la graine donnée. Sinon, il est ensemencé par une graine aléatoire.

public statique FixUnigramCandidateSampler.Options seed2 (Long seed2)

Paramètres
graine2 Une deuxième graine pour éviter la collision des graines.

Partition statique publique FixedUnigramCandidateSampler.Options (partition longue)

Paramètres
tesson Un échantillonneur peut être utilisé pour échantillonner un sous-ensemble de la plage d'origine afin d'accélérer l'ensemble du calcul grâce au parallélisme. Ce paramètre (avec 'num_shards') indique le numéro de partition particulier d'une opération d'échantillonnage, lorsque le partitionnement est utilisé.

Sortie publique < TFloat32 > trueExpectedCount ()

Une matrice batch_size * num_true, représentant le nombre de fois où chaque candidat est censé apparaître dans un lot de candidats échantillonnés. Si unique=true, alors c'est une probabilité.

Unigrammes statiques publics FixedUnigramCandidateSampler.Options (Unigrammes List<Float>)

Paramètres
unigrammes Une liste de décomptes ou de probabilités d'unigrammes, un par ID dans un ordre séquentiel. Exactement l'un des vocabulaire_file et unigrammes doit être transmis à cette opération.

public statique FixedUnigramCandidateSampler.Options vocabFile (String vocabFile)

Paramètres
fichiervocab Chaque ligne valide de ce fichier (qui doit avoir un format de type CSV) correspond à un identifiant de mot valide. Les identifiants sont classés dans un ordre séquentiel, en commençant par num_reserved_ids. La dernière entrée de chaque ligne devrait être une valeur correspondant au nombre ou à la probabilité relative. Exactement l'un des vocabulaire_file et unigrammes doit être transmis à cette opération.