Scope
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Управляет группами связанных свойств при создании операций 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, ...);
Объекты области не являются потокобезопасными.
Публичные методы
ОперацияBuilder | |
среда выполнения | окружение () Возвращает среду выполнения, используемую этой областью. |
Нить | makeOpName (строка defaultName) Создайте уникальное имя для оператора, при необходимости используя предоставленное значение по умолчанию. |
Объем | withControlDependency (элементы управления Iterable< Operand <?>>) Возвращает новую область, в которой добавленные операции будут иметь предоставленные зависимости элементов управления. |
Объем | withName (строка opName) Верните новую область, которая использует указанное имя для операции. |
Объем | withSubScope (строка childScopeName) Возвращает новую область, в которой добавленные операции будут иметь указанный префикс имени. |
Унаследованные методы
Из класса java.lang.Object логическое значение | равно (Объект arg0) |
последний класс<?> | получитьКласс () |
интервал | хэш-код () |
окончательная пустота | уведомить () |
окончательная пустота | уведомитьВсе () |
Нить | toString () |
окончательная пустота | подождать (длинный arg0, int arg1) |
окончательная пустота | подождите (длинный arg0) |
окончательная пустота | ждать () |
Публичные конструкторы
Создайте новую область верхнего уровня.
Параметры
окружение | Среда выполнения, используемая областью действия. |
---|
Публичные методы
Добавляет каждый операнд в controlDependency в качестве входных данных управления для предоставленного построителя.
Параметры
строитель | OperationBuilder для добавления управляющих входов в |
---|
Возвращает среду выполнения, используемую этой областью.
общедоступная строка makeOpName (строка defaultName)
Создайте уникальное имя для оператора, при необходимости используя предоставленное значение по умолчанию.
Обычно это вызывается только классами построения операторов.
Этот метод генерирует уникальное имя, подходящее для области имен, контролируемой этим экземпляром. Типичный строительный код оператора может выглядеть так:
scope.env().opBuilder("Const", scope.makeOpName("Const"))...
Примечание. Если вы предоставляете составной класс построения операторов (т. е. класс, который создает набор связанных операций путем вызова другого кода построения операторов), предоставленное имя будет действовать как подобласть для всех базовых операторов.
Параметры
имя по умолчанию | имя базового оператора. |
---|
Возврат
- уникальное имя оператора.
Броски
IllegalArgumentException | если имя по умолчанию неверно. |
---|
общедоступная область действия сControlDependency (элементы управления Iterable< Operand <?>>)
Возвращает новую область, в которой добавленные операции будут иметь предоставленные зависимости элементов управления.
Операции, созданные с этой областью, будут иметь преимущество каждого из предоставленных элементов управления. Все остальные свойства наследуются от текущей области.
Параметры
элементы управления | зависимости управления для операций, созданных с возвращенной областью |
---|
Возврат
- новая область действия с предоставленными зависимостями управления
общедоступная область withName (String opName)
Верните новую область, которая использует указанное имя для операции.
Операции, созданные в этой области, будут иметь имя формы name/opName[_suffix]
. Это позволяет более осмысленно называть конкретный оператор.
Имена должны соответствовать регулярному выражению [A-Za-z0-9.][A-Za-z0-9_.\-]*
Параметры
имя_оператора | имя оператора в возвращаемой области |
---|
Возврат
- новая область, которая использует opName для операций.
Броски
IllegalArgumentException | если имя неверно |
---|
общедоступная область withSubScope (String childScopeName)
Возвращает новую область, в которой добавленные операции будут иметь указанный префикс имени.
Операции, созданные с этой областью, будут иметь префикс name/childScopeName/
. Фактическое имя будет уникальным в возвращаемой области. Все остальные свойства наследуются от текущей области.
Имя дочерней области должно соответствовать регулярному выражению [A-Za-z0-9.][A-Za-z0-9_.\-]*
Параметры
имя дочерней области | имя новой дочерней области |
---|
Броски
IllegalArgumentException | если имя неверно |
---|
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта Google Developers. Java – это зарегистрированный товарный знак корпорации Oracle и/или ее аффилированных лиц. Определенный контент лицензирован по лицензии numpy.
Последнее обновление: 2025-07-27 UTC.
[null,null,["Последнее обновление: 2025-07-27 UTC."],[],[],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.14/api_docs/java/org/tensorflow/op/Scope#Scope(org.tensorflow.ExecutionEnvironment))([ExecutionEnvironment](/versions/r2.14/api_docs/java/org/tensorflow/ExecutionEnvironment) env) Create a new top-level scope. |\n\n### Public Methods\n\n|-------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [OperationBuilder](/versions/r2.14/api_docs/java/org/tensorflow/OperationBuilder) | [applyControlDependencies](/versions/r2.14/api_docs/java/org/tensorflow/op/Scope#applyControlDependencies(org.tensorflow.OperationBuilder))([OperationBuilder](/versions/r2.14/api_docs/java/org/tensorflow/OperationBuilder) builder) Adds each Operand in controlDependencies as a control input to the provided builder. |\n| [ExecutionEnvironment](/versions/r2.14/api_docs/java/org/tensorflow/ExecutionEnvironment) | [env](/versions/r2.14/api_docs/java/org/tensorflow/op/Scope#env())() Returns the execution environment used by this scope. |\n| String | [makeOpName](/versions/r2.14/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.14/api_docs/java/org/tensorflow/op/Scope) | [withControlDependencies](/versions/r2.14/api_docs/java/org/tensorflow/op/Scope#withControlDependencies(java.lang.Iterable\u003corg.tensorflow.Operand\u003c?\u003e\u003e))(Iterable\\\u003c[Operand](/versions/r2.14/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.14/api_docs/java/org/tensorflow/op/Scope) | [withName](/versions/r2.14/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.14/api_docs/java/org/tensorflow/op/Scope) | [withSubScope](/versions/r2.14/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.14/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.14/api_docs/java/org/tensorflow/OperationBuilder)\n**applyControlDependencies**\n([OperationBuilder](/versions/r2.14/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.14/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.14/api_docs/java/org/tensorflow/op/Scope)\n**withControlDependencies**\n(Iterable\\\u003c[Operand](/versions/r2.14/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.14/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.14/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|--------------------------|------------------------|"]]