Scope

محدوده کلاس نهایی عمومی

گروه هایی از ویژگی های مرتبط را هنگام ایجاد عملیات تنسورفلو، مانند پیشوند نام رایج، مدیریت می کند.

Scope محفظه ای برای ویژگی های رایج اعمال شده در TensorFlow Ops است. کد کاربر عادی یک Scope را مقداردهی اولیه می کند و آن را در اختیار کلاس های Operation building قرار می دهد. به عنوان مثال:

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

یک کلاس Operation building یک Scope می‌گیرد و از آن برای تنظیم ویژگی‌های عملیات 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, ...);
 

اشیاء Scope از نظر thread ایمن نیستند .

سازندگان عمومی

محدوده ( Environment Env)
یک محدوده سطح بالای جدید ایجاد کنید.

روش های عمومی

OperationBuilder
اعمال (سازنده OperationBuilder )
مشخصات دستگاه را اعمال می کند و هر Operand را در controlDependencies به عنوان ورودی کنترلی به سازنده ارائه شده اضافه می کند.
OperationBuilder
applicationControlDependencies (سازنده OperationBuilder )
هر عملوند را در controlDependencies به عنوان ورودی کنترلی به سازنده ارائه شده اضافه می کند.
محیط اجرا
env ()
محیط اجرایی استفاده شده توسط این محدوده را برمی گرداند.
رشته
getDeviceString ()
رشته دستگاه را از محدوده باز می گرداند.
رشته
makeOpName (رشته پیش فرض نام)
یک نام منحصر به فرد برای یک اپراتور، با استفاده از یک پیش فرض ارائه شده در صورت لزوم ایجاد کنید.
دامنه
withControlDependencies (تکرارپذیر< Op > کنترل)
محدوده جدیدی را برمی‌گرداند که در آن عملیات اضافه شده وابستگی‌های کنترلی ارائه شده را خواهند داشت.
دامنه
withDevice ( DeviceSpec deviceSpec)
محدوده جدیدی را که از مشخصات دستگاه ارائه شده برای عملیات استفاده می‌کند، بازگردانید.
دامنه
withName (رشته opName)
یک محدوده جدید که از نام ارائه شده برای یک op استفاده می کند، برگردانید.
دامنه
withNameAsSubScope (رشته پیش فرض نام)
محدوده جدیدی را برمی‌گرداند که در آن عملیات اضافه شده با نام عملیات این حوزه (تنظیم شده توسط withName(String) ) یا پیش‌فرض داده شده در صورت تنظیم نشده، پیشوند می‌شوند.
دامنه
withSubScope (رشته childScopeName)
محدوده جدیدی را برمی‌گرداند که در آن عملیات اضافه‌شده دارای پیشوند نام ارائه‌شده خواهد بود.

روش های ارثی

سازندگان عمومی

محدوده عمومی ( Environment Env)

یک محدوده سطح بالای جدید ایجاد کنید.

پارامترها
env محیط اجرای مورد استفاده توسط دامنه.

روش های عمومی

اعمال عمومی OperationBuilder (سازنده OperationBuilder )

مشخصات دستگاه را اعمال می کند و هر Operand را در controlDependencies به عنوان ورودی کنترلی به سازنده ارائه شده اضافه می کند.

پارامترها
سازنده OperationBuilder برای افزودن ورودی های کنترل و مشخصات دستگاه به

عمومی OperationBuilder applicationControlDependencies (سازنده OperationBuilder )

هر عملوند را در controlDependencies به عنوان ورودی کنترلی به سازنده ارائه شده اضافه می کند.

پارامترها
سازنده OperationBuilder برای افزودن ورودی های کنترلی به

عمومی ExecutionEnvironment env ()

محیط اجرایی استفاده شده توسط این محدوده را برمی گرداند.

رشته عمومی getDeviceString ()

رشته دستگاه را از محدوده باز می گرداند.

رشته عمومی makeOpName (رشته پیش فرض نام)

یک نام منحصر به فرد برای یک اپراتور، با استفاده از یک پیش فرض ارائه شده در صورت لزوم ایجاد کنید.

این معمولاً فقط توسط کلاس های ساختمان اپراتور فراخوانی می شود.

این روش یک نام منحصر به فرد ایجاد می کند که برای دامنه نام کنترل شده توسط این نمونه مناسب است. کد ساختمان اپراتور معمولی ممکن است به نظر برسد

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

توجه: اگر یک کلاس ساختمان اپراتور مرکب ارائه دهید (یعنی کلاسی که مجموعه ای از عملیات مرتبط را با فراخوانی کد ساختمان اپراتور دیگر ایجاد می کند)، نام ارائه شده به عنوان یک زیرمجموعه برای همه عملگرهای زیربنایی عمل می کند.

پارامترها
پیش فرض نام نام اپراتور اصلی
برمی گرداند
  • نام منحصر به فرد اپراتور
پرتاب می کند
IllegalArgumentException اگر نام پیش فرض نامعتبر باشد.

دامنه عمومی باControlDependencies (تکرارپذیر< Op > کنترل)

محدوده جدیدی را برمی‌گرداند که در آن عملیات اضافه شده وابستگی‌های کنترلی ارائه شده را خواهند داشت.

عملیات ایجاد شده با این محدوده دارای یک لبه کنترل از هر یک از کنترل های ارائه شده خواهد بود. تمام خصوصیات دیگر از محدوده فعلی به ارث برده می شوند.

پارامترها
کنترل ها کنترل وابستگی ها برای عملیات های ایجاد شده با محدوده بازگشتی
برمی گرداند
  • یک دامنه جدید با وابستگی های کنترلی ارائه شده

محدوده عمومی با دستگاه ( DeviceSpec deviceSpec)

محدوده جدیدی را که از مشخصات دستگاه ارائه شده برای عملیات استفاده می کند، برگردانید.

عملیات ایجاد شده در این محدوده، عملیات ایجاد شده را بر روی دستگاه(های) مطابق با مشخصات ارائه شده قرار می دهد.

پارامترها
deviceSpec مشخصات دستگاه برای یک اپراتور در محدوده بازگشتی
برمی گرداند
  • یک Scope جدید که از opName برای عملیات استفاده می کند.

محدوده عمومی withName (رشته opName)

یک محدوده جدید که از نام ارائه شده برای یک op استفاده می کند، برگردانید.

عملیات ایجاد شده در این محدوده، نام فرم name/opName[_suffix] را خواهد داشت. این به شما امکان می دهد یک اپراتور خاص را با معنی بیشتری نام ببرید.

نام ها باید با عبارت منظم [A-Za-z0-9.][A-Za-z0-9_.\-]* مطابقت داشته باشند

پارامترها
opName نام یک اپراتور در محدوده بازگشتی
برمی گرداند
  • یک Scope جدید که از opName برای عملیات استفاده می کند.
پرتاب می کند
IllegalArgumentException اگر نام نامعتبر باشد

محدوده عمومی withNameAsSubScope (رشته پیش فرض نام)

محدوده جدیدی را برمی‌گرداند که در آن عملیات اضافه شده با نام عملیات این حوزه (تنظیم شده توسط withName(String) ) یا پیش‌فرض داده شده در صورت تنظیم نشده، پیشوند می‌شوند. این در نظر گرفته شده است که برای عملیات کامپوزیت استفاده شود.

عملیات ایجاد شده با این محدوده دارای پیشوند name/opName/ خواهد بود. نام واقعی در محدوده بازگشتی منحصر به فرد خواهد بود. تمام خصوصیات دیگر از محدوده فعلی به ارث برده می شوند.

نام دامنه پیش‌فرض فرزند باید با عبارت منظم [A-Za-z0-9.][A-Za-z0-9_.\-]* مطابقت داشته باشد.

پارامترها
نام پیش فرض نام دامنه فرعی اگر نام این محدوده تنظیم نشده باشد.
برمی گرداند
  • یک زیرمجموعه جدید
پرتاب می کند
IllegalArgumentException اگر نام نامعتبر باشد

محدوده عمومی withSubScope (رشته childScopeName)

محدوده جدیدی را برمی‌گرداند که در آن عملیات اضافه‌شده دارای پیشوند نام ارائه‌شده خواهد بود.

عملیات ایجاد شده با این محدوده name/childScopeName/ را به عنوان پیشوند خواهد داشت. نام واقعی در محدوده بازگشتی منحصر به فرد خواهد بود. تمام خصوصیات دیگر از محدوده فعلی به ارث برده می شوند.

نام دامنه فرزند باید با عبارت منظم [A-Za-z0-9.][A-Za-z0-9_.\-]* مطابقت داشته باشد.

پارامترها
childScopeName نام دامنه فرزند جدید
برمی گرداند
  • یک زیرمجموعه جدید
پرتاب می کند
IllegalArgumentException اگر نام نامعتبر باشد