انضم إلى TensorFlow في مؤتمر Google I / O ، 11-12 مايو سجل الآن

تينسورفلو :: العمليات :: ثابت UnigramCandidateSampler

#include <candidate_sampling_ops.h>

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

ملخص

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

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

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

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

الحجج:

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

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

  • vocab_file: كل سطر صالح في هذا الملف (الذي يجب أن يكون بتنسيق CSV) يتوافق مع معرف كلمة صالح. المعرفات بترتيب تسلسلي ، بدءًا من num_reserved_ids. من المتوقع أن يكون الإدخال الأخير في كل سطر قيمة مقابلة للعدد أو الاحتمال النسبي. يجب أن يتم تمرير واحد من vocab_file و unigrams إلى هذا المرجع.
  • تشويه: يستخدم هذا التشويه لتحريف توزيع احتمالية unigram. يتم رفع كل وزن أولاً إلى قوة التشويه قبل إضافته إلى توزيع unigram الداخلي. نتيجة لذلك ، يعطي التشويه = 1.0 أخذ عينات أحادية منتظمة (كما هو محدد بواسطة ملف المفردات) ، والتشويه = 0.0 يعطي توزيعًا موحدًا.
  • num_reserved_ids: اختياريًا ، يمكن إضافة بعض المعرفات المحجوزة في النطاق [0، ...، num_reserved_ids) بواسطة المستخدمين. إحدى حالات الاستخدام هي استخدام رمز مميز للكلمة غير المعروفة كمعرف 0. سيكون لهذه المعرفات احتمالية أخذ عينات تبلغ 0.
  • num_shards: يمكن استخدام أداة أخذ العينات لأخذ عينات من مجموعة فرعية من النطاق الأصلي من أجل تسريع الحساب بالكامل من خلال التوازي. تشير هذه المعلمة (مع "جزء") إلى عدد الأقسام التي يتم استخدامها في الحساب الكلي.
  • القدر: يمكن استخدام جهاز أخذ العينات لأخذ عينات من مجموعة فرعية من النطاق الأصلي من أجل تسريع الحساب بالكامل من خلال التوازي. تشير هذه المعلمة (جنبًا إلى جنب مع "num_shards") إلى رقم القسم المعين لمرجع العينات ، عند استخدام التقسيم.
  • unigrams: قائمة بأعداد أو احتمالات unigram ، واحد لكل معرّف بترتيب تسلسلي. يجب أن يتم تمرير واحد بالضبط من vocab_file و unigrams إلى هذا المرجع.
  • البذرة: إذا تم ضبط البذرة أو البذرة 2 على أن تكون غير صفرية ، فإن مولد الأرقام العشوائية يُبذر بواسطة البذرة المعينة. خلاف ذلك ، يتم بذرها بواسطة بذرة عشوائية.
  • seed2: بذرة ثانية لتجنب اصطدام البذور.

عائدات:

  • Output عينات_المرشحين: متجه بطول عدد_ عينات ، حيث يكون كل عنصر هو معرف المرشح المأخوذ من العينة.
  • Output صحيح_توقع_كونت: حجم_حجم_الدفعة * عدد_مصفوفة حقيقية ، يمثل عدد المرات التي يُتوقع فيها حدوث كل مرشح في مجموعة من العينات المرشحة. إذا كان فريد = صحيح ، فهذا احتمال.
  • Output sampled_uable_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)

السمات العامة

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

sampled_bit_count

::tensorflow::Output sampled_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
)

الأرقام المحجوزة

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
)

ملف Vocab

Attrs VocabFile(
  StringPiece x
)