نطاق

نطاق الطبقة النهائية العامة

يدير مجموعات من الخصائص ذات الصلة عند إنشاء عمليات Tensorflow ، مثل بادئة الاسم الشائع.

Scope عبارة عن حاوية للخصائص الشائعة المطبقة على TensorFlow Ops. يهيئ كود المستخدم العادي Scope لفئات بناء العمليات. على سبيل المثال:

Scope scope = new Scope(graph);
 Constant c = Constant.create(scope, 42);
 

تكتسب فئة بناء العمليات نطاقًا ، وتستخدمه لتعيين الخصائص على عمليات Tensorflow الأساسية. على سبيل المثال:

// An operator class that adds a constant.
 public class Constant {
   public static Constant create(Scope scope, ...) {
      scope.graph().opBuilder(
        "Const", scope.makeOpName("Const"))
        .setAttr(...)
        .build()
      ...
   
 }
 }

التسلسل الهرمي للنطاق:

يوفر Scope طرقًا متنوعة with() تنشئ نطاقًا جديدًا. النطاق الجديد عادة به خاصية واحدة تم تغييرها بينما يتم توريث الخصائص الأخرى من النطاق الرئيسي.

مثال على استخدام Constant تنفيذه على النحو السابق:

Scope root = new Scope(graph);

 // The linear subscope will generate names like linear/...
 Scope linear = Scope.withSubScope("linear");

 // This op name will be "linear/W"
 Constant.create(linear.withName("W"), ...);

 // This op will be "linear/Const", using the default
 // name provided by Constant
 Constant.create(linear, ...);

 // This op will be "linear/Const_1", using the default
 // name provided by Constant and making it unique within
 // this scope
 Constant.create(linear, ...);
 

كائنات النطاق ليست آمنة مع مؤشر الترابط.

المقاولون العامون

النطاق ( التنفيذ البيئي)
قم بإنشاء نطاق مستوى أعلى جديد.

الطرق العامة

عملية باني
applicationControlDependencies (منشئ OperationBuilder )
يضيف كل عامل في controlDependencies كمدخل تحكم للمنشئ المقدم.
التنفيذالبيئة
إنف ()
إرجاع بيئة التنفيذ التي يستخدمها هذا النطاق.
خيط
makeOpName (String defaultName )
قم بإنشاء اسم فريد لعامل التشغيل ، باستخدام الاسم الافتراضي المقدم إذا لزم الأمر.
نطاق
withControlDependencies (Iterable < المعامل <>> الضوابط)
يُرجع نطاقًا جديدًا حيث ستحتوي العمليات المضافة على تبعيات التحكم المتوفرة.
نطاق
withName (String opName)
قم بإرجاع نطاق جديد يستخدم الاسم المقدم لمرجع.
نطاق
withSubScope (String childScopeName)
يُرجع نطاقًا جديدًا حيث سيكون للعمليات المضافة بادئة الاسم المقدمة.

الطرق الموروثة

المقاولون العامون

النطاق العام ( التنفيذ البيئي)

قم بإنشاء نطاق مستوى أعلى جديد.

المعلمات
الحسد بيئة التنفيذ التي يستخدمها النطاق.

الطرق العامة

الجمهور OperationBuilder applyControlDependencies ( OperationBuilder باني)

يضيف كل عامل في controlDependencies كمدخل تحكم للمنشئ المقدم.

المعلمات
باني OperationBuilder لإضافة مدخلات التحكم إلى

التنفيذ العام البيئة البيئية ()

إرجاع بيئة التنفيذ التي يستخدمها هذا النطاق.

السلسلة العامة makeOpName (String defaultName )

قم بإنشاء اسم فريد لعامل التشغيل ، باستخدام الاسم الافتراضي المقدم إذا لزم الأمر.

عادة ما يتم استدعاء هذا فقط بواسطة فئات بناء المشغل.

تنشئ هذه الطريقة اسمًا فريدًا ، مناسبًا لنطاق الاسم الذي يتحكم فيه هذا المثيل. قد يبدو كود بناء المشغل النموذجي مثل

scope.env().opBuilder("Const", scope.makeOpName("Const"))...
 

ملاحظة: إذا قمت بتوفير فئة بناء المشغل المركب (أي فئة تنشئ مجموعة من العمليات ذات الصلة عن طريق استدعاء كود بناء المشغل الآخر) ، فسيعمل الاسم المقدم كنطاق فرعي لجميع المشغلين الأساسيين.

المعلمات
الاسم الافتراضي اسم المشغل الأساسي.
عائدات
  • اسم فريد للمشغل.
رميات
غير الشرعيين استثناء حجة إذا كان الاسم الافتراضي غير صالح.

العام نطاق withControlDependencies (Iterable < المعامل <>> الضوابط)

يُرجع نطاقًا جديدًا حيث ستحتوي العمليات المضافة على تبعيات التحكم المتوفرة.

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

المعلمات
ضوابط تبعيات التحكم للعمليات التي تم إنشاؤها باستخدام النطاق الذي تم إرجاعه
عائدات
  • نطاق جديد مع تبعيات التحكم المقدمة

public Scope withName (String opName)

قم بإرجاع نطاق جديد يستخدم الاسم المقدم لمرجع.

سيكون للعمليات التي تم إنشاؤها ضمن هذا النطاق اسم باسم النموذج name/opName[_suffix] . يتيح لك هذا تسمية عامل معين بشكل أكثر جدوى.

يجب أن تتطابق الأسماء مع التعبير العادي [A-Za-z0-9.][A-Za-z0-9_.\-]*

المعلمات
الاسم اسم عامل في النطاق الذي تم إرجاعه
عائدات
  • نطاق جديد يستخدم opName للعمليات.
رميات
غير الشرعيين استثناء حجة إذا كان الاسم غير صالح

public Scope withSubScope (String childScopeName)

يُرجع نطاقًا جديدًا حيث سيكون للعمليات المضافة بادئة الاسم المقدمة.

العمليات التي تم إنشاؤها باستخدام هذا النطاق سيكون لها name/childScopeName/ كبادئة. سيكون الاسم الفعلي فريدًا في النطاق الذي تم إرجاعه. يتم توريث كافة الخصائص الأخرى من النطاق الحالي.

يجب أن يتطابق اسم النطاق الفرعي مع التعبير العادي [A-Za-z0-9.][A-Za-z0-9_.\-]*

المعلمات
childScopeName اسم النطاق الفرعي الجديد
عائدات
  • نطاق فرعي جديد
رميات
غير الشرعيين استثناء حجة إذا كان الاسم غير صالح