Scope
bookmark_borderbookmark
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
گروه هایی از ویژگی های مرتبط را هنگام ایجاد عملیات تنسورفلو، مانند پیشوند نام رایج، مدیریت می کند.
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 ایمن نیستند .
روش های عمومی
OperationBuilder | |
محیط اجرا | env () محیط اجرایی استفاده شده توسط این محدوده را برمی گرداند. |
رشته | makeOpName (رشته پیش فرض نام) یک نام منحصر به فرد برای یک اپراتور، با استفاده از یک پیش فرض ارائه شده در صورت لزوم ایجاد کنید. |
دامنه | withControlDependencies (کنترل های تکرارپذیر< Operand <?>>) محدوده جدیدی را برمیگرداند که در آن عملیات اضافه شده وابستگیهای کنترلی ارائه شده را خواهند داشت. |
دامنه | withName (رشته opName) یک محدوده جدید که از نام ارائه شده برای یک op استفاده می کند، برگردانید. |
دامنه | withSubScope (رشته childScopeName) محدوده جدیدی را برمیگرداند که در آن عملیات اضافهشده دارای پیشوند نام ارائهشده خواهد بود. |
روش های ارثی
از کلاس java.lang.Object بولی | برابر است (شیء arg0) |
کلاس نهایی<?> | getClass () |
بین المللی | هش کد () |
باطل نهایی | اطلاع رسانی () |
باطل نهایی | اطلاع رسانی به همه () |
رشته | toString () |
باطل نهایی | صبر کنید (long arg0، int arg1) |
باطل نهایی | صبر کنید (طولانی arg0) |
باطل نهایی | صبر کن () |
سازندگان عمومی
یک محدوده سطح بالای جدید ایجاد کنید.
پارامترها
env | محیط اجرای مورد استفاده توسط دامنه. |
---|
روش های عمومی
هر عملوند را در controlDependencies به عنوان ورودی کنترلی به سازنده ارائه شده اضافه می کند.
پارامترها
سازنده | OperationBuilder برای افزودن ورودی های کنترلی به |
---|
محیط اجرایی استفاده شده توسط این محدوده را برمی گرداند.
رشته عمومی makeOpName (رشته پیش فرض نام)
یک نام منحصر به فرد برای یک اپراتور، با استفاده از یک پیش فرض ارائه شده در صورت لزوم ایجاد کنید.
این معمولاً فقط توسط کلاس های ساختمان اپراتور فراخوانی می شود.
این روش یک نام منحصر به فرد ایجاد می کند که برای دامنه نام کنترل شده توسط این نمونه مناسب است. کد ساختمان اپراتور معمولی ممکن است به نظر برسد
scope.env().opBuilder("Const", scope.makeOpName("Const"))...
توجه: اگر یک کلاس ساختمان اپراتور مرکب ارائه دهید (یعنی کلاسی که مجموعه ای از عملیات مرتبط را با فراخوانی کد ساختمان اپراتور دیگر ایجاد می کند)، نام ارائه شده به عنوان یک زیرمجموعه برای همه عملگرهای زیربنایی عمل می کند.
پارامترها
نام پیش فرض | نام اپراتور اصلی |
---|
پرتاب می کند
IllegalArgumentException | اگر نام پیش فرض نامعتبر باشد. |
---|
دامنه عمومی withControlDependencies (کنترل های تکرارپذیر< Operand <?>>)
محدوده جدیدی را برمیگرداند که در آن عملیات اضافه شده وابستگیهای کنترلی ارائه شده را خواهند داشت.
عملیات ایجاد شده با این محدوده دارای یک لبه کنترل از هر یک از کنترل های ارائه شده خواهد بود. تمام خصوصیات دیگر از محدوده فعلی به ارث برده می شوند.
پارامترها
کنترل ها | کنترل وابستگی ها برای عملیات های ایجاد شده با محدوده بازگشتی |
---|
برمی گرداند
- یک دامنه جدید با وابستگی های کنترلی ارائه شده
حوزه عمومی withName (رشته opName)
یک محدوده جدید که از نام ارائه شده برای یک op استفاده می کند، برگردانید.
عملیات ایجاد شده در این محدوده، نام فرم name/opName[_suffix]
را خواهد داشت. این به شما امکان می دهد یک اپراتور خاص را با معنی بیشتری نام ببرید.
نام ها باید با عبارت منظم [A-Za-z0-9.][A-Za-z0-9_.\-]*
مطابقت داشته باشند
پارامترها
opName | نام یک اپراتور در محدوده بازگشتی |
---|
برمی گرداند
- یک Scope جدید که از opName برای عملیات استفاده می کند.
پرتاب می کند
IllegalArgumentException | اگر نام نامعتبر باشد |
---|
محدوده عمومی withSubScope (رشته childScopeName)
محدوده جدیدی را برمیگرداند که در آن عملیات اضافهشده دارای پیشوند نام ارائهشده خواهد بود.
عملیات ایجاد شده با این محدوده name/childScopeName/
را به عنوان پیشوند خواهد داشت. نام واقعی در محدوده بازگشتی منحصر به فرد خواهد بود. تمام خصوصیات دیگر از محدوده فعلی به ارث برده می شوند.
نام دامنه فرزند باید با عبارت منظم [A-Za-z0-9.][A-Za-z0-9_.\-]*
مطابقت داشته باشد.
پارامترها
childScopeName | نام دامنه فرزند جدید |
---|
پرتاب می کند
IllegalArgumentException | اگر نام نامعتبر باشد |
---|
جز در مواردی که غیراز این ذکر شده باشد، محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است. مجوز برخی از محتواها تحت مجوز numpy است.
تاریخ آخرین بهروزرسانی 2025-07-26 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-07-26 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Scope\n\npublic final class **Scope** \nManages groups of related properties when creating Tensorflow Operations, such as a common name\nprefix.\n\nA `Scope` is a container for common properties applied to TensorFlow Ops. Normal user\ncode initializes a `Scope` and provides it to Operation building classes. For example:\n\n Scope scope = new Scope(graph);\n Constant c = Constant.create(scope, 42);\n \nAn Operation building class acquires a Scope, and uses it to set properties on the underlying\nTensorflow ops. For example:\n\n // An operator class that adds a constant.\n public class Constant {\n public static Constant create(Scope scope, ...) {\n scope.graph().opBuilder(\n \"Const\", scope.makeOpName(\"Const\"))\n .setAttr(...)\n .build()\n ...\n }\n }\n \n**Scope hierarchy:**\n\nA `Scope` provides various `with()` methods that create a new scope. The new scope\ntypically has one property changed while other properties are inherited from the parent scope.\n\nAn example using `Constant` implemented as before:\n\n Scope root = new Scope(graph);\n\n // The linear subscope will generate names like linear/...\n Scope linear = Scope.withSubScope(\"linear\");\n\n // This op name will be \"linear/W\"\n Constant.create(linear.withName(\"W\"), ...);\n\n // This op will be \"linear/Const\", using the default\n // name provided by Constant\n Constant.create(linear, ...);\n\n // This op will be \"linear/Const_1\", using the default\n // name provided by Constant and making it unique within\n // this scope\n Constant.create(linear, ...);\n \nScope objects are **not** thread-safe.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n### Public Constructors\n\n|---|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| | [Scope](/versions/r2.12/api_docs/java/org/tensorflow/op/Scope#Scope(org.tensorflow.ExecutionEnvironment))([ExecutionEnvironment](/versions/r2.12/api_docs/java/org/tensorflow/ExecutionEnvironment) env) Create a new top-level scope. |\n\n### Public Methods\n\n|-------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [OperationBuilder](/versions/r2.12/api_docs/java/org/tensorflow/OperationBuilder) | [applyControlDependencies](/versions/r2.12/api_docs/java/org/tensorflow/op/Scope#applyControlDependencies(org.tensorflow.OperationBuilder))([OperationBuilder](/versions/r2.12/api_docs/java/org/tensorflow/OperationBuilder) builder) Adds each Operand in controlDependencies as a control input to the provided builder. |\n| [ExecutionEnvironment](/versions/r2.12/api_docs/java/org/tensorflow/ExecutionEnvironment) | [env](/versions/r2.12/api_docs/java/org/tensorflow/op/Scope#env())() Returns the execution environment used by this scope. |\n| String | [makeOpName](/versions/r2.12/api_docs/java/org/tensorflow/op/Scope#makeOpName(java.lang.String))(String defaultName) Create a unique name for an operator, using a provided default if necessary. |\n| [Scope](/versions/r2.12/api_docs/java/org/tensorflow/op/Scope) | [withControlDependencies](/versions/r2.12/api_docs/java/org/tensorflow/op/Scope#withControlDependencies(java.lang.Iterable\u003corg.tensorflow.Operand\u003c?\u003e\u003e))(Iterable\\\u003c[Operand](/versions/r2.12/api_docs/java/org/tensorflow/Operand)\\\u003c?\\\u003e\\\u003e controls) Returns a new scope where added operations will have the provided control dependencies. |\n| [Scope](/versions/r2.12/api_docs/java/org/tensorflow/op/Scope) | [withName](/versions/r2.12/api_docs/java/org/tensorflow/op/Scope#withName(java.lang.String))(String opName) Return a new scope that uses the provided name for an op. |\n| [Scope](/versions/r2.12/api_docs/java/org/tensorflow/op/Scope) | [withSubScope](/versions/r2.12/api_docs/java/org/tensorflow/op/Scope#withSubScope(java.lang.String))(String childScopeName) Returns a new scope where added operations will have the provided name prefix. |\n\n### Inherited Methods\n\nFrom class java.lang.Object \n\n|------------------|---------------------------|\n| boolean | equals(Object arg0) |\n| final Class\\\u003c?\\\u003e | getClass() |\n| int | hashCode() |\n| final void | notify() |\n| final void | notifyAll() |\n| String | toString() |\n| final void | wait(long arg0, int arg1) |\n| final void | wait(long arg0) |\n| final void | wait() |\n\nPublic Constructors\n-------------------\n\n#### public\n**Scope**\n([ExecutionEnvironment](/versions/r2.12/api_docs/java/org/tensorflow/ExecutionEnvironment) env)\n\nCreate a new top-level scope. \n\n##### Parameters\n\n| env | The execution environment used by the scope. |\n|-----|----------------------------------------------|\n\nPublic Methods\n--------------\n\n#### public [OperationBuilder](/versions/r2.12/api_docs/java/org/tensorflow/OperationBuilder)\n**applyControlDependencies**\n([OperationBuilder](/versions/r2.12/api_docs/java/org/tensorflow/OperationBuilder) builder)\n\nAdds each Operand in controlDependencies as a control input to the provided builder. \n\n##### Parameters\n\n| builder | OperationBuilder to add control inputs to |\n|---------|-------------------------------------------|\n\n#### public [ExecutionEnvironment](/versions/r2.12/api_docs/java/org/tensorflow/ExecutionEnvironment)\n**env**\n()\n\nReturns the execution environment used by this scope. \n\n#### public String\n**makeOpName**\n(String defaultName)\n\nCreate a unique name for an operator, using a provided default if necessary.\n\nThis is normally called only by operator building classes.\n\nThis method generates a unique name, appropriate for the name scope controlled by this\ninstance. Typical operator building code might look like\n\n scope.env().opBuilder(\"Const\", scope.makeOpName(\"Const\"))...\n \n**Note:** if you provide a composite operator building class (i.e, a class that creates a\nset of related operations by calling other operator building code), the provided name will act\nas a subscope to all underlying operators.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n##### Parameters\n\n| defaultName | name for the underlying operator. |\n|-------------|-----------------------------------|\n\n##### Returns\n\n- unique name for the operator. \n\n##### Throws\n\n| IllegalArgumentException | if the default name is invalid. |\n|--------------------------|---------------------------------|\n\n#### public [Scope](/versions/r2.12/api_docs/java/org/tensorflow/op/Scope)\n**withControlDependencies**\n(Iterable\\\u003c[Operand](/versions/r2.12/api_docs/java/org/tensorflow/Operand)\\\u003c?\\\u003e\\\u003e controls)\n\nReturns a new scope where added operations will have the provided control dependencies.\n\nOps created with this scope will have a control edge from each of the provided controls. All\nother properties are inherited from the current scope.\n\n\u003cbr /\u003e\n\n##### Parameters\n\n| controls | control dependencies for ops created with the returned scope |\n|----------|--------------------------------------------------------------|\n\n##### Returns\n\n- a new scope with the provided control dependencies \n\n#### public [Scope](/versions/r2.12/api_docs/java/org/tensorflow/op/Scope)\n**withName**\n(String opName)\n\nReturn a new scope that uses the provided name for an op.\n\nOperations created within this scope will have a name of the form `name/opName[_suffix]`. This lets you name a specific operator more meaningfully.\n\nNames must match the regular expression `[A-Za-z0-9.][A-Za-z0-9_.\\-]*`\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n##### Parameters\n\n| opName | name for an operator in the returned scope |\n|--------|--------------------------------------------|\n\n##### Returns\n\n- a new Scope that uses opName for operations. \n\n##### Throws\n\n| IllegalArgumentException | if the name is invalid |\n|--------------------------|------------------------|\n\n#### public [Scope](/versions/r2.12/api_docs/java/org/tensorflow/op/Scope)\n**withSubScope**\n(String childScopeName)\n\nReturns a new scope where added operations will have the provided name prefix.\n\nOps created with this scope will have `name/childScopeName/` as the prefix. The actual\nname will be unique in the returned scope. All other properties are inherited from the current\nscope.\n\nThe child scope name must match the regular expression `[A-Za-z0-9.][A-Za-z0-9_.\\-]*`\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n##### Parameters\n\n| childScopeName | name for the new child scope |\n|----------------|------------------------------|\n\n##### Returns\n\n- a new subscope \n\n##### Throws\n\n| IllegalArgumentException | if the name is invalid |\n|--------------------------|------------------------|"]]