tensorflow::ops::FixedUnigramCandidateSampler

#include <candidate_sampling_ops.h>

Öğrenilmiş tek kelimelik dağılım kullanarak aday örnekleme için etiketler oluşturur.

Özet

Tek kelime örnekleyicisi, dağılımı verilerden anlık olarak oluşturmak yerine, bir dosyadan okunan veya bellek içi dizi olarak aktarılan sabit bir tek kelime dağılımını kullanabilir. Ayrıca, ağırlıklara bir bozulma gücü uygulayarak dağılımı çarpıtma seçeneği de mevcuttur.

Sözlük dosyası CSV benzeri bir formatta olmalı ve son alan, kelimeyle ilişkilendirilen ağırlığı içermelidir.

Bu işlem, her bir parti için örneklenmiş aday etiketlerden tek bir küme seçer.

Adayların toplu olarak örneklenmesinin avantajları, basitlik ve verimli yoğun matris çarpımı olasılığıdır. Dezavantajı ise örneklenen adayların bağlamdan ve gerçek etiketlerden bağımsız olarak seçilmesi gerekliliğidir.

Argümanlar:

  • kapsam: Bir Kapsam nesnesi
  • true_classes: Her satırında ilgili orijinal etiketteki num_true hedef sınıfın kimliklerini içeren, batch_size * num_true boyutunda bir matris.
  • num_true: Bağlam başına doğru etiket sayısı.
  • num_sampled: Rastgele örnekleme yapılacak aday sayısı.
  • Benzersiz: Eğer benzersizlik doğruysa, tüm örneklenen adayların benzersiz olması için reddetme koşuluyla örnekleme yaparız. Bu, reddetme sonrası örnekleme olasılıklarını tahmin etmek için bazı yaklaştırmalar gerektirir.
  • range_max: Örnekleyici, [0, range_max) aralığından tamsayılar örnekleyecektir.

İsteğe bağlı özellikler (bkz. Attrs ):

  • vocab_file: Bu dosyadaki (CSV benzeri bir formatta olması gereken) her geçerli satır, geçerli bir kelime kimliğine karşılık gelir. Kimlikler, num_reserved_ids'den başlayarak sıralı bir düzendedir. Her satırdaki son girdinin, sayıma veya göreceli olasılığa karşılık gelen bir değer olması beklenir. Bu işleme yalnızca vocab_file ve unigrams'tan biri geçirilmelidir.
  • Bozulma: Bozulma, tek kelime olasılık dağılımını çarpıtmak için kullanılır. Her ağırlık, dahili tek kelime dağılımına eklenmeden önce bozulmanın kuvvetine yükseltilir. Sonuç olarak, bozulma = 1,0 düzenli tek kelime örneklemesi (sözlük dosyasında tanımlandığı gibi) sağlar ve bozulma = 0,0 tekdüze bir dağılım sağlar.
  • num_reserved_ids: İsteğe bağlı olarak, kullanıcılar tarafından [0, ..., num_reserved_ids) aralığında bazı ayrılmış kimlikler eklenebilir. Bir kullanım örneği, özel bir bilinmeyen kelime belirtecinin 0 numaralı kimlik olarak kullanılmasıdır. Bu kimliklerin örnekleme olasılığı 0 olacaktır.
  • num_shards: Bir örnekleyici, paralellik yoluyla tüm hesaplamayı hızlandırmak için orijinal aralığın bir alt kümesinden örnekleme yapmak üzere kullanılabilir. Bu parametre ('shard' ile birlikte), genel hesaplamada kullanılan bölüm sayısını gösterir.
  • shard: Bir örnekleyici, paralellik yoluyla tüm hesaplamayı hızlandırmak için orijinal aralığın bir alt kümesinden örnekleme yapmak üzere kullanılabilir. Bu parametre ('num_shards' ile birlikte), bölümleme kullanıldığında bir örnekleyici işleminin belirli bölüm numarasını gösterir.
  • unigrams: Sıralı olarak her kimlik için bir tane olmak üzere unigram sayılarının veya olasılıklarının listesi. Bu işleme yalnızca vocab_file ve unigrams'tan biri geçirilmelidir.
  • seed: Eğer seed veya seed2 sıfırdan farklı bir değere ayarlanırsa, rastgele sayı üreteci verilen seed değeriyle başlatılır. Aksi takdirde, rastgele bir seed değeriyle başlatılır.
  • seed2: Tohum çakışmasını önlemek için ikinci bir tohum.

İadeler:

  • Örneklenen adayların kimliklerini içeren her bir elemanın yer aldığı, num_sampled uzunluğunda bir vektör Output .
  • true_expected_count Output : Örneklenen adaylar grubunda her adayın kaç kez ortaya çıkmasının beklendiğini gösteren, batch_size * num_true boyutunda bir matris. unique=true ise, bu bir olasılıktır.
  • `sampled_expected_count` Output : Örneklenen her aday için, adayın örneklenen adaylar grubunda kaç kez ortaya çıkmasının beklendiğini temsil eden, `num_sampled` uzunluğunda bir vektör. Eğer `unique=true` ise, bu bir olasılıktır.

Yapıcılar ve Yıkıcılar

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)

Genel özellikler

operation
sampled_candidates
sampled_expected_count
true_expected_count

Herkese açık statik fonksiyonlar

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)

Yapılar

tensorflow::ops::FixedUnigramCandidateSampler::Attrs

FixedUnigramCandidateSampler için isteğe bağlı öznitelik ayarlayıcıları.

Genel özellikler

operasyon

Operation operation

örneklenen_adaylar

::tensorflow::Output sampled_candidates

örneklenen_beklenen_sayı

::tensorflow::Output sampled_expected_count

gerçek_beklenen_sayı

::tensorflow::Output true_expected_count

Kamusal işlevler

SabitUnigramAdayÖrnekleyici

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

SabitUnigramAdayÖrnekleyici

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

Herkese açık statik fonksiyonlar

Çarpıtma

Attrs Distortion(
  float x
)

AyrılmışKimlik Sayısı

Attrs NumReservedIds(
  int64 x
)

Parça Sayısı

Attrs NumShards(
  int64 x
)

Tohum

Attrs Seed(
  int64 x
)

Tohum2

Attrs Seed2(
  int64 x
)

Parça

Attrs Shard(
  int64 x
)

Tek kelimeler

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

VocabFile

Attrs VocabFile(
  StringPiece x
)