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
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. |
---|