جریان تنسور:: عملیات:: FixedUnigramCandidateSampler

#include <candidate_sampling_ops.h>

برچسب‌هایی را برای نمونه‌گیری کاندید با توزیع یک‌گرم آموخته‌شده تولید می‌کند.

خلاصه

یک نمونه‌گر یونیگرام می‌تواند از توزیع ثابت یونیگرام که از یک فایل خوانده می‌شود یا به‌عنوان آرایه‌ای در حافظه ارسال می‌شود، به جای ایجاد توزیع از داده‌های در حال پرواز، استفاده کند. همچنین گزینه ای برای کج کردن توزیع با اعمال قدرت اعوجاج به وزنه ها وجود دارد.

فایل واژگان باید در قالب CSV مانند باشد و آخرین فیلد وزن مرتبط با کلمه باشد.

برای هر دسته، این عملیات یک مجموعه واحد از برچسب های کاندید نمونه برداری شده را انتخاب می کند.

از مزایای کاندیدهای نمونه برداری در هر دسته، سادگی و امکان ضرب ماتریس متراکم کارآمد است. نقطه ضعف این است که نامزدهای نمونه باید مستقل از زمینه و برچسب های واقعی انتخاب شوند.

استدلال ها:

  • scope: یک شی Scope
  • true_classes: یک ماتریس batch_size * num_true که در آن هر سطر حاوی شناسه های num_true target_classes در برچسب اصلی مربوطه است.
  • num_true: تعداد برچسب های واقعی در هر زمینه.
  • num_sampled: تعداد داوطلبانی که به صورت تصادفی نمونه گیری می کنند.
  • منحصربه‌فرد: اگر منحصربه‌فرد درست باشد، با رد نمونه‌برداری می‌کنیم، به طوری که همه نامزدهای نمونه‌گیری شده در یک دسته منحصربه‌فرد هستند. این نیاز به تقریبی برای تخمین احتمالات نمونه برداری پس از رد دارد.
  • range_max: نمونه‌گر اعداد صحیح را از بازه [0، range_max نمونه‌برداری می‌کند.

ویژگی های اختیاری (به Attrs مراجعه کنید):

  • vocab_file: هر خط معتبر در این فایل (که باید قالبی شبیه CSV داشته باشد) با یک شناسه کلمه معتبر مطابقت دارد. شناسه ها به ترتیب ترتیب هستند و از num_reserved_ids شروع می شوند. انتظار می رود آخرین ورودی در هر خط مقداری باشد که با تعداد یا احتمال نسبی مطابقت دارد. دقیقاً یکی از vocab_file و unigram ها باید به این گزینه منتقل شود.
  • اعوجاج: اعوجاج برای انحراف توزیع احتمال یک گرم استفاده می شود. هر وزن ابتدا قبل از اضافه شدن به توزیع یونیگرم داخلی به قدرت اعوجاج افزایش می یابد. در نتیجه، اعوجاج = 1.0 نمونه گیری unigram منظم (همانطور که توسط فایل vocab تعریف شده است) و اعوجاج = 0.0 توزیع یکنواختی را ارائه می دهد.
  • num_reserved_ids: به صورت اختیاری، برخی از شناسه های رزرو شده را می توان در محدوده [0، ...، num_reserved_ids) توسط کاربران اضافه کرد. یک مورد استفاده این است که یک رمز کلمه ناشناخته خاص به عنوان ID 0 استفاده می شود. این شناسه ها احتمال نمونه برداری 0 خواهند داشت.
  • num_shards: یک نمونه‌گر می‌تواند برای نمونه‌برداری از زیرمجموعه‌ای از محدوده اصلی به منظور سرعت بخشیدن به کل محاسبات از طریق موازی‌سازی استفاده شود. این پارامتر (همراه با 'shard') تعداد پارتیشن هایی را نشان می دهد که در محاسبات کلی استفاده می شوند.
  • shard: یک نمونه‌گر می‌تواند برای نمونه‌برداری از زیرمجموعه‌ای از محدوده اصلی به منظور سرعت بخشیدن به کل محاسبات از طریق موازی‌سازی استفاده شود. این پارامتر (همراه با 'num_shards') شماره پارتیشن خاص یک نمونه کار را در هنگام استفاده از پارتیشن بندی نشان می دهد.
  • unigrams: فهرستی از تعداد یا احتمالات یونیگرام، یک عدد در هر شناسه به ترتیب متوالی. دقیقاً یکی از vocab_file و unigram ها باید به این گزینه منتقل شود.
  • seed: اگر دانه یا seed2 غیر صفر باشد، مولد اعداد تصادفی توسط دانه داده شده بذر می شود. در غیر این صورت، توسط یک بذر تصادفی بذر می شود.
  • seed2: دانه دوم برای جلوگیری از برخورد دانه.

برمی‌گرداند:

  • Output sampled_candidates: بردار طول num_sampled که در آن هر عنصر شناسه یک کاندید نمونه است.
  • Output true_expected_count: یک ماتریس batch_size * num_true، نشان دهنده تعداد دفعاتی است که انتظار می رود هر نامزد در دسته ای از کاندیداهای نمونه گیری شده رخ دهد. اگر منحصر به فرد = درست است، پس این یک احتمال است.
  • Output sampled_expected_count: یک بردار با طول num_sampled، برای هر کاندید نمونه گیری شده نشان دهنده تعداد دفعاتی است که انتظار می رود کاندید در دسته ای از کاندیدهای نمونه انجام شود. اگر منحصر به فرد = درست است، پس این یک احتمال است.

سازندگان و ویرانگرها

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)

صفات عمومی

operation
sampled_candidates
sampled_expected_count
true_expected_count

توابع استاتیک عمومی

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)

سازه ها

tensorflow:: ops:: FixedUnigramCandidateSampler:: Attrs

تنظیم کننده های ویژگی اختیاری برای FixedUnigramCandidateSampler .

صفات عمومی

عمل

Operation operation

نمونه_نامزدها

::tensorflow::Output sampled_candidates

نمونه_انتظار_شده

::tensorflow::Output sampled_expected_count

true_expected_count

::tensorflow::Output true_expected_count

توابع عمومی

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
)

توابع استاتیک عمومی

اعوجاج

Attrs Distortion(
  float x
)

NumReservedIds

Attrs NumReservedIds(
  int64 x
)

NumShards

Attrs NumShards(
  int64 x
)

بذر

Attrs Seed(
  int64 x
)

دانه 2

Attrs Seed2(
  int64 x
)

تکه شکسته

Attrs Shard(
  int64 x
)

Unigrams

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

VocabFile

Attrs VocabFile(
  StringPiece x
)