Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Tensorflow :: ops :: FixedUnigramCandidateSampler

#include <candidate_sampling_ops.h>

Generiert Labels für Kandidatenstichproben mit einer erlernten Unigrammverteilung.

Zusammenfassung

Ein Unigramm-Sampler könnte eine feste Unigramm-Verteilung verwenden, die aus einer Datei gelesen oder als In-Memory-Array übergeben wird, anstatt die Verteilung aus Daten im laufenden Betrieb aufzubauen. Es besteht auch die Möglichkeit, die Verteilung durch Anwenden einer Verzerrungskraft auf die Gewichte zu verzerren.

Die Vokabeldatei sollte im CSV-ähnlichen Format vorliegen, wobei das letzte Feld die dem Wort zugeordnete Gewichtung ist.

Für jede Charge wählt diese Operation einen einzelnen Satz von Stichprobenetiketten aus.

Die Vorteile der Probenahme von Kandidaten pro Charge sind die Einfachheit und die Möglichkeit einer effizienten Multiplikation dichter Matrix. Der Nachteil ist, dass die in die Stichprobe einbezogenen Kandidaten unabhängig vom Kontext und von den tatsächlichen Bezeichnungen ausgewählt werden müssen.

Argumente:

  • scope: Ein Scope- Objekt
  • true_classes: Eine Batch_size * num_true-Matrix, in der jede Zeile die IDs der num_true-Zielklassen in der entsprechenden Originalbezeichnung enthält.
  • num_true: Anzahl der echten Labels pro Kontext.
  • num_sampled: Anzahl der Kandidaten, die zufällig ausgewählt werden sollen.
  • einzigartig: Wenn einzigartig wahr ist, werden wir mit Ablehnung abgetastet, sodass alle Stichprobenkandidaten in einem Stapel eindeutig sind. Dies erfordert eine gewisse Annäherung, um die Abtastwahrscheinlichkeiten nach der Zurückweisung abzuschätzen.
  • range_max: Der Sampler tastet ganze Zahlen aus dem Intervall [0, range_max] ab.

Optionale Attribute (siehe Attrs ):

  • vocab_file: Jede gültige Zeile in dieser Datei (die ein CSV-ähnliches Format haben sollte) entspricht einer gültigen Wort-ID. IDs sind in sequenzieller Reihenfolge, beginnend mit num_reserved_ids. Es wird erwartet, dass der letzte Eintrag in jeder Zeile ein Wert ist, der der Anzahl oder relativen Wahrscheinlichkeit entspricht. Genau eines von vocab_file und Unigrammen muss an diese Operation übergeben werden.
  • Verzerrung: Die Verzerrung wird verwendet, um die Unigrammwahrscheinlichkeitsverteilung zu verzerren. Jedes Gewicht wird zuerst auf die Stärke der Verzerrung angehoben, bevor es zur internen Unigrammverteilung hinzugefügt wird. Infolgedessen ergibt Verzerrung = 1,0 eine regelmäßige Unigrammabtastung (wie in der Vokabeldatei definiert), und Verzerrung = 0,0 ergibt eine gleichmäßige Verteilung.
  • num_reserved_ids: Optional können einige reservierte IDs von den Benutzern im Bereich [0, ..., num_reserved_ids] hinzugefügt werden. Ein Anwendungsfall besteht darin, dass ein spezielles unbekanntes Wort-Token als ID 0 verwendet wird. Diese IDs haben eine Abtastwahrscheinlichkeit von 0.
  • num_shards: Mit einem Sampler kann aus einer Teilmenge des ursprünglichen Bereichs abgetastet werden, um die gesamte Berechnung durch Parallelität zu beschleunigen. Dieser Parameter (zusammen mit 'shard') gibt die Anzahl der Partitionen an, die für die Gesamtberechnung verwendet werden.
  • shard: Ein Sampler kann verwendet werden, um aus einer Teilmenge des ursprünglichen Bereichs abzutasten, um die gesamte Berechnung durch Parallelität zu beschleunigen. Dieser Parameter (zusammen mit 'num_shards') gibt die bestimmte Partitionsnummer eines Sampler-Betriebs an, wenn die Partitionierung verwendet wird.
  • Unigramme: Eine Liste von Unigrammzählungen oder -wahrscheinlichkeiten, eine pro ID in sequentieller Reihenfolge. Genau eines von vocab_file und Unigrammen sollte an diese Operation übergeben werden.
  • Startwert: Wenn entweder Startwert oder Startwert2 auf einen Wert ungleich Null gesetzt ist, wird der Zufallszahlengenerator durch den angegebenen Startwert festgelegt. Andernfalls wird es durch einen zufälligen Startwert ausgesät.
  • seed2: Ein zweiter Samen, um eine Samenkollision zu vermeiden.

Kehrt zurück:

  • Output sampled_candidates: Ein Vektor der Länge num_sampled, in dem jedes Element die ID eines abgetasteten Kandidaten ist.
  • Output true_expected_count: Eine Batch_size * num_true-Matrix, die angibt, wie oft jeder Kandidat in einem Stapel von Stichprobenkandidaten erwartet wird. Wenn unique = true, ist dies eine Wahrscheinlichkeit.
  • Output sampled_expected_count: Ein Vektor der Länge num_sampled für jeden abgetasteten Kandidaten, der angibt, wie oft der Kandidat in einem Stapel von abgetasteten Kandidaten erwartet wird. Wenn unique = true, ist dies eine Wahrscheinlichkeit.

Konstruktoren und Destruktoren

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)

Öffentliche Attribute

operation
sampled_candidates
sampled_expected_count
true_expected_count

Öffentliche statische Funktionen

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)

Strukturen

tensorflow :: ops :: FixedUnigramCandidateSampler :: Attrs

Optionale Attributsetzer für FixedUnigramCandidateSampler .

Öffentliche Attribute

Operation

Operation operation

sampled_candidates

::tensorflow::Output sampled_candidates

sampled_expected_count

::tensorflow::Output sampled_expected_count

true_expected_count

::tensorflow::Output true_expected_count

Öffentliche Funktionen

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
)

Öffentliche statische Funktionen

Verzerrung

Attrs Distortion(
  float x
)

NumReservedIds

Attrs NumReservedIds(
  int64 x
)

NumShards

Attrs NumShards(
  int64 x
)

Samen

Attrs Seed(
  int64 x
)

Seed2

Attrs Seed2(
  int64 x
)

Scherbe

Attrs Shard(
  int64 x
)

Unigramme

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

VocabFile

Attrs VocabFile(
  StringPiece x
)