przepływ tensorowy:: ops:: Naprawiono próbnik UnigramCandidate

#include <candidate_sampling_ops.h>

Generuje etykiety dla próbkowania kandydatów z wyuczonym rozkładem unigramów.

Streszczenie

Próbnik unigramów mógłby wykorzystać stałą dystrybucję unigramów odczytaną z pliku lub przekazaną jako tablica w pamięci, zamiast budować dystrybucję na podstawie danych w locie. Istnieje również możliwość pochylenia rozkładu poprzez zastosowanie mocy zniekształcenia do ciężarków.

Plik słownika powinien być w formacie CSV, przy czym ostatnie pole zawiera wagę związaną ze słowem.

Dla każdej partii ta operacja wybiera jeden zestaw próbek potencjalnych etykiet.

Zaletami pobierania próbek kandydatów na partię jest prostota i możliwość wydajnego mnożenia gęstej macierzy. Wadą jest to, że wybrani kandydaci muszą być wybierani niezależnie od kontekstu i prawdziwych etykiet.

Argumenty:

  • zakres: Obiekt Scope
  • true_classes: macierz wsadowa size_size * num_true, w której każdy wiersz zawiera identyfikatory num_true target_classes w odpowiedniej oryginalnej etykiecie.
  • num_true: Liczba prawdziwych etykiet na kontekst.
  • num_sampled: Liczba kandydatów do losowej próby.
  • unikatowy: jeśli wartość Unikalność ma wartość true, pobieramy próbkę z odrzuceniem, tak aby wszyscy kandydaci objęci próbą w partii byli unikatowi. Wymaga to pewnego przybliżenia w celu oszacowania prawdopodobieństw pobierania próbek po odrzuceniu.
  • zakres_maks.: Próbnik będzie próbkował liczby całkowite z przedziału [0, zakres_maks.).

Opcjonalne atrybuty (patrz Attrs ):

  • vocab_file: Każda prawidłowa linia w tym pliku (który powinien mieć format podobny do CSV) odpowiada prawidłowemu identyfikatorowi słowa. Identyfikatory są uporządkowane sekwencyjnie, zaczynając od num_reserved_ids. Oczekuje się, że ostatni wpis w każdym wierszu będzie wartością odpowiadającą liczbie lub prawdopodobieństwu względnemu. Do tej operacji należy przekazać dokładnie jeden z plików vocab_file i unigramów.
  • zniekształcenie: Zniekształcenie służy do zniekształcenia rozkładu prawdopodobieństwa unigramu. Każda waga jest najpierw podnoszona do mocy zniekształcenia przed dodaniem do wewnętrznego rozkładu unigramów. W rezultacie zniekształcenie = 1,0 daje regularne próbkowanie unigramów (zgodnie z definicją w pliku słownika), a zniekształcenie = 0,0 daje równomierny rozkład.
  • num_reserved_ids: Opcjonalnie użytkownicy mogą dodać niektóre zastrzeżone identyfikatory z zakresu [0, ..., num_reserved_ids). Jednym z przypadków użycia jest użycie specjalnego tokenu nieznanego słowa jako identyfikatora 0. Prawdopodobieństwo próbkowania tych identyfikatorów będzie wynosić 0.
  • num_shards: Próbnik może zostać użyty do próbkowania z podzbioru pierwotnego zakresu, aby przyspieszyć całe obliczenia poprzez równoległość. Ten parametr (wraz z „shard”) wskazuje liczbę partycji używanych w ogólnych obliczeniach.
  • fragment: można użyć próbnika do próbkowania z podzbioru pierwotnego zakresu, aby przyspieszyć całe obliczenia poprzez równoległość. Ten parametr (wraz z „num_shards”) wskazuje konkretny numer partycji operacji próbnika, gdy używane jest partycjonowanie.
  • unigramy: lista zliczeń lub prawdopodobieństw unigramów, po jednym na każdy identyfikator w kolejności sekwencyjnej. Do tej operacji należy przekazać dokładnie jeden z plików vocab_file i unigramów.
  • ziarno: Jeśli ziarno lub ziarno2 jest ustawione na wartość różną od zera, generator liczb losowych jest zaszczepiany przez dane ziarno. W przeciwnym razie jest on zaszczepiany losowo.
  • nasiono2: Drugie ziarno, aby uniknąć kolizji nasion.

Zwroty:

  • Output sampled_candidates: wektor o długości num_sampled, w którym każdy element jest identyfikatorem wybranego kandydata.
  • Output true_expected_count: macierz Batchsize * num_true, reprezentująca oczekiwaną liczbę wystąpień każdego kandydata w partii wybranych kandydatów. Jeśli unikalny=true, to jest to prawdopodobieństwo.
  • Output sampled_expected_count: wektor o długości num_sampled dla każdego wybranego kandydata reprezentujący oczekiwaną liczbę wystąpień kandydata w partii wybranych kandydatów. Jeśli unikalny=true, to jest to prawdopodobieństwo.

Konstruktory i destruktory

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)

Atrybuty publiczne

operation
sampled_candidates
sampled_expected_count
true_expected_count

Publiczne funkcje statyczne

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)

Struktury

tensorflow:: ops:: NaprawionoUnigramCandidateSampler:: Attrs

Opcjonalne moduły ustawiające atrybuty dla FixUnigramCandidateSampler .

Atrybuty publiczne

operacja

Operation operation

próbki_kandydatów

::tensorflow::Output sampled_candidates

próbkowana_oczekiwana_liczba

::tensorflow::Output sampled_expected_count

prawda_oczekiwana_liczba

::tensorflow::Output true_expected_count

Funkcje publiczne

Naprawiono próbnik UnigramCandidate

 FixedUnigramCandidateSampler(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input true_classes,
  int64 num_true,
  int64 num_sampled,
  bool unique,
  int64 range_max
)

Naprawiono próbnik UnigramCandidate

 FixedUnigramCandidateSampler(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input true_classes,
  int64 num_true,
  int64 num_sampled,
  bool unique,
  int64 range_max,
  const FixedUnigramCandidateSampler::Attrs & attrs
)

Publiczne funkcje statyczne

Zniekształcenie

Attrs Distortion(
  float x
)

Liczba zarezerwowanych identyfikatorów

Attrs NumReservedIds(
  int64 x
)

Liczba odłamków

Attrs NumShards(
  int64 x
)

Nasionko

Attrs Seed(
  int64 x
)

Nasiona2

Attrs Seed2(
  int64 x
)

Czerep

Attrs Shard(
  int64 x
)

Unigramy

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

Plik Vocab

Attrs VocabFile(
  StringPiece x
)