tensorflow:: ops:: نمونه‌بردار کاندیدای یونیگرام ثابت

#include <candidate_sampling_ops.h>

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

خلاصه

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

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

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

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

استدلال‌ها:

  • دامنه: یک شیء دامنه
  • 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 و unigrams باید به این گزینه ارسال شود.
  • اعوجاج: از اعوجاج برای کج کردن توزیع احتمال یونیگرام استفاده می‌شود. هر وزن ابتدا به توان اعوجاج می‌رسد و سپس به توزیع یونیگرام داخلی اضافه می‌شود. در نتیجه، اعوجاج = ۱.۰ نمونه‌گیری یونیگرام منظم (مطابق تعریف فایل واژگان) را نشان می‌دهد و اعوجاج = ۰.۰ توزیع یکنواخت را نشان می‌دهد.
  • num_reserved_ids: به صورت اختیاری، برخی از شناسه‌های رزرو شده می‌توانند توسط کاربران در محدوده [0، ...، num_reserved_ids) اضافه شوند. یک مورد استفاده این است که یک توکن کلمه ناشناخته خاص به عنوان شناسه 0 استفاده شود. این شناسه‌ها احتمال نمونه‌گیری 0 خواهند داشت.
  • num_shards: یک نمونه‌گیر می‌تواند برای نمونه‌گیری از زیرمجموعه‌ای از محدوده اصلی به منظور افزایش سرعت کل محاسبات از طریق موازی‌سازی استفاده شود. این پارامتر (همراه با 'shard') تعداد پارتیشن‌هایی را که در کل محاسبات استفاده می‌شوند، نشان می‌دهد.
  • shard: یک نمونه‌گیر می‌تواند برای نمونه‌گیری از زیرمجموعه‌ای از محدوده اصلی به منظور افزایش سرعت کل محاسبات از طریق موازی‌سازی استفاده شود. این پارامتر (همراه با 'num_shards') شماره پارتیشن خاص یک عملیات نمونه‌گیر را هنگام استفاده از پارتیشن‌بندی نشان می‌دهد.
  • یونیگرام‌ها: فهرستی از تعداد یا احتمال یونیگرام‌ها، یکی برای هر شناسه به ترتیب متوالی. دقیقاً یکی از vocab_file و یونیگرام‌ها باید به این گزینه ارسال شود.
  • دانه: اگر هر یک از دانه‌ها یا دانه ۲ روی غیر صفر تنظیم شوند، مولد اعداد تصادفی توسط دانه داده شده دانه‌گذاری می‌شود. در غیر این صورت، توسط یک دانه تصادفی دانه‌گذاری می‌شود.
  • seed2: یک دانه دوم برای جلوگیری از برخورد دانه‌ها.

بازده:

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

سازنده‌ها و مخرب‌ها

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

تعداد_مورد_انتظار_درست

::tensorflow::Output true_expected_count

کارکردهای عمومی

نمونه‌بردار کاندید یونیگرام ثابت

 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
)

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

اعوجاج

Attrs Distortion(
  float x
)

شناسه‌های رزرو شده‌ی Num

Attrs NumReservedIds(
  int64 x
)

نام‌شاردها

Attrs NumShards(
  int64 x
)

بذر

Attrs Seed(
  int64 x
)

سید۲

Attrs Seed2(
  int64 x
)

شارد

Attrs Shard(
  int64 x
)

یونیگرام‌ها

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

فایل واژگان

Attrs VocabFile(
  StringPiece x
)