ML Topluluk Günü 9 Kasım! TensorFlow, JAX güncellemeler için bize katılın ve daha fazla bilgi edinin

tensorflow :: ops :: FixedUnigramCandidateSampler

#include <candidate_sampling_ops.h>

Öğrenilmiş bir unigram dağılımı ile aday örnekleme için etiketler oluşturur.

Özet

Bir unigram örnekleyici, dağıtımı anında verilerden oluşturmak yerine, bir dosyadan okunan veya bir bellek içi dizi olarak iletilen sabit bir unigram dağıtımı kullanabilir. Ağırlıklara bir distorsiyon gücü uygulayarak dağılımı çarpıtma seçeneği de vardır.

Kelime dosyası, son alan kelime ile ilişkili ağırlık olacak şekilde CSV benzeri formatta olmalıdır.

Her parti için, bu işlem tek bir örneklenmiş aday etiket kümesi seçer.

Parti başına örnekleme adaylarının avantajları basitlik ve verimli yoğun matris çarpımı olasılığıdır. Dezavantajı, örneklenen adayların bağlamdan ve gerçek etiketlerden bağımsız olarak seçilmesinin gerekmesidir.

Argümanlar:

  • kapsam: Bir Scope nesnesi
  • true_classes: batch_size * num_true matrisi; burada her satır, ilgili orijinal etiketteki num_true hedef_ sınıflarının kimliklerini içerir.
  • num_true: Bağlam başına gerçek etiketlerin sayısı.
  • num_sampled: Rastgele örneklenecek aday sayısı.
  • benzersiz: Benzersiz doğruysa, bir partideki tüm örneklenen adayların benzersiz olması için ret ile örnekleme yaparız. Bu, reddetme sonrası örnekleme olasılıklarını tahmin etmek için bazı tahminler gerektirir.
  • range_max: Örnekleyici, [0, aralık_maks) aralığındaki tam sayıları örnekleyecektir.

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

  • vocab_file: Bu dosyadaki her geçerli satır (CSV benzeri bir biçime sahip olmalıdır), geçerli bir kelime kimliğine karşılık gelir. Kimlikler, num_reserved_ids'den başlayarak sıralı sıradadır. Her satırdaki son girişin, sayıya veya göreli olasılığa karşılık gelen bir değer olması beklenir. Bu operasyona kelime_dosyası ve unigramlardan tam olarak biri aktarılmalıdır.
  • bozulma: Bozulma, unigram olasılık dağılımını çarpıtmak için kullanılır. Her ağırlık, dahili unigram dağılımına eklenmeden önce distorsiyonun gücüne yükseltilir. Sonuç olarak, distorsiyon = 1.0, düzenli unigram örneklemesi (kelime dosyası ile tanımlandığı gibi) verir ve distorsiyon = 0.0, düzgün bir dağılım verir.
  • 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 durumu, özel bir bilinmeyen kelime simgesinin Kimlik 0 olarak kullanılmasıdır. Bu kimliklerin örnekleme olasılığı 0 olacaktır.
  • num_shards: Tüm hesaplamayı paralellik yoluyla hızlandırmak için orijinal aralığın bir alt kümesinden örneklemek için bir örnekleyici kullanılabilir. Bu parametre ('parça' ile birlikte) genel hesaplamada kullanılan bölümlerin sayısını gösterir.
  • parça: Paralellik yoluyla tüm hesaplamayı hızlandırmak için orijinal aralığın bir alt kümesinden örneklemek için bir örnekleyici kullanılabilir. Bu parametre ('num_shards' ile birlikte), bölümleme kullanılırken bir örnekleyici işleminin belirli bölüm numarasını gösterir.
  • unigrams: Sıralı sırayla her kimlik için bir tane olmak üzere unigram sayıları veya olasılıklarının bir listesi. Bu operasyona tam olarak kelime_dosyası ve unigramlardan biri aktarılmalıdır.
  • seed: Çekirdek veya tohum2 sıfırdan farklı olacak şekilde ayarlanmışsa, rastgele sayı oluşturucu verilen tohum tarafından tohumlanır. Aksi takdirde, rastgele bir tohumla tohumlanır.
  • seed2: Tohum çarpışmasını önlemek için ikinci bir tohum.

İadeler:

  • Output sampled_candidates: Num_örneklenen uzunluk vektörü; burada her öğe, örneklenmiş bir adayın kimliğidir.
  • Output true_expected_count A batch_size * num_true matris, her bir aday örneklenmiş bir aday toplu meydana beklenen sayısını temsil eder. Unique = true ise, bu bir olasılıktır.
  • Output örneklenen_beklenen_sayı: Her örneklenen aday için, örneklenen adayların bir grubunda adayın ortaya çıkmasının beklendiği sayıları temsil eden, num_sampled uzunluk vektörü. 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

Genel statik işlevler

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

sampled_candidates

::tensorflow::Output sampled_candidates

sampled_expected_count

::tensorflow::Output sampled_expected_count

true_expected_count

::tensorflow::Output true_expected_count

Kamusal işlevler

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
)

Genel statik işlevler

Çarpıtma

Attrs Distortion(
  float x
)

NumReservedIds

Attrs NumReservedIds(
  int64 x
)

NumShards

Attrs NumShards(
  int64 x
)

Tohum

Attrs Seed(
  int64 x
)

Tohum2

Attrs Seed2(
  int64 x
)

Parça

Attrs Shard(
  int64 x
)

Unigram'lar

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

VocabFile

Attrs VocabFile(
  StringPiece x
)