tensorflow:: ops:: FixedUnigramCandidateSampler

#include <candidate_sampling_ops.h>

يقوم بتوليد تصنيفات لأخذ عينات المرشحين باستخدام توزيع أحادي الكلمات المتعلم.

ملخص

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

يجب أن يكون ملف المفردات بتنسيق مشابه لملف CSV، مع وجود الحقل الأخير الذي يمثل الوزن المرتبط بالكلمة.

لكل دفعة، تقوم هذه العملية باختيار مجموعة واحدة من التصنيفات المرشحة التي تم أخذ عينات منها.

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

الحجج:

  • النطاق: كائن النطاق
  • true_classes: مصفوفة بحجم batch_size * num_true، حيث يحتوي كل صف على معرفات num_true target_classes في التصنيف الأصلي المقابل.
  • num_true: عدد التصنيفات الصحيحة لكل سياق.
  • عدد العينات: عدد المرشحين الذين سيتم اختيارهم عشوائياً.
  • إذا كانت خاصية "فريد" صحيحة، فإننا نختار عينة مع رفض، بحيث تكون جميع العناصر المختارة في كل دفعة فريدة. يتطلب هذا بعض التقريب لتقدير احتمالات أخذ العينات بعد الرفض.
  • range_max: سيقوم برنامج أخذ العينات بأخذ عينات من الأعداد الصحيحة من الفترة [0, range_max).

السمات الاختيارية (انظر Attrs ):

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

NumReservedIds

Attrs NumReservedIds(
  int64 x
)

NumShards

Attrs NumShards(
  int64 x
)

بذرة

Attrs Seed(
  int64 x
)

البذرة 2

Attrs Seed2(
  int64 x
)

قشرة

Attrs Shard(
  int64 x
)

الأحرف المفردة

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

ملف المفردات

Attrs VocabFile(
  StringPiece x
)