تدفق التوتر:: العمليات:: تم إصلاح UnigramCandidateSampler

#include <candidate_sampling_ops.h>

يُنشئ تسميات لأخذ العينات المرشحة باستخدام توزيع أحادي جرام مكتسب.

ملخص

يمكن لأخذ عينات unigram استخدام توزيع unigram ثابت للقراءة من ملف أو تمريره كمصفوفة في الذاكرة بدلاً من إنشاء التوزيع من البيانات بسرعة. يوجد أيضًا خيار لتحريف التوزيع من خلال تطبيق قوة تشويه على الأوزان.

يجب أن يكون ملف المفردات بتنسيق 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 إلى هذا المرجع.
  • التشويه: يتم استخدام التشويه لتشويه توزيع احتمالية أحادي جرام. يتم رفع كل وزن أولاً إلى قوة التشويه قبل إضافته إلى توزيع الأحادي الداخلي. ونتيجة لذلك، فإن التشويه = 1.0 يعطي عينة منتظمة من أحادي جرام (كما هو محدد في ملف المفردات)، والتشويه = 0.0 يعطي توزيعًا موحدًا.
  • num_reserved_ids: بشكل اختياري، يمكن إضافة بعض المعرفات المحجوزة في النطاق [0، ...، num_reserved_ids) من قبل المستخدمين. إحدى حالات الاستخدام هي أنه يتم استخدام رمز مميز خاص لكلمة غير معروفة كمعرف 0. سيكون لهذه المعرفات احتمالية أخذ العينات 0.
  • num_shards: يمكن استخدام أداة أخذ العينات لأخذ عينات من مجموعة فرعية من النطاق الأصلي من أجل تسريع العملية الحسابية بأكملها من خلال التوازي. تشير هذه المعلمة (مع 'shard') إلى عدد الأقسام المستخدمة في الحساب الإجمالي.
  • shard: يمكن استخدام أداة أخذ العينات لأخذ عينات من مجموعة فرعية من النطاق الأصلي من أجل تسريع الحساب بالكامل من خلال التوازي. تشير هذه المعلمة (مع 'num_shards') إلى رقم القسم المحدد لعملية أخذ العينات، عند استخدام التقسيم.
  • unigrams: قائمة بأعداد أو احتمالات unigram، واحدة لكل معرف بترتيب تسلسلي. يجب تمرير واحد بالضبط من vocab_file وunigrams إلى هذا المرجع.
  • البذرة: إذا تم ضبط البذرة أو البذرة 2 على قيمة غير صفرية، فسيتم بذرة مولد الأرقام العشوائية بواسطة البذرة المعطاة. خلاف ذلك، يتم زرعها بواسطة بذرة عشوائية.
  • بذرة 2: بذرة ثانية لتجنب اصطدام البذور.

العوائد:

  • Output عينات_المرشحين: متجه بطول 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

Sampled_candidates

::tensorflow::Output sampled_candidates

Sampled_expected_count

::tensorflow::Output sampled_expected_count

true_expected_count

::tensorflow::Output true_expected_count

الوظائف العامة

تم إصلاح UnigramCandidateSampler

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

تم إصلاح UnigramCandidateSampler

 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
)

نومشاردز

Attrs NumShards(
  int64 x
)

بذرة

Attrs Seed(
  int64 x
)

البذور2

Attrs Seed2(
  int64 x
)

قشرة

Attrs Shard(
  int64 x
)

يونيجرامز

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

VocabFile

Attrs VocabFile(
  StringPiece x
)