Scope
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Gerencia grupos de propriedades relacionadas ao criar operações do Tensorflow, como um prefixo de nome comum.
Um Scope
é um contêiner para propriedades comuns aplicadas ao TensorFlow Ops. O código de usuário normal inicializa um Scope
e o fornece às classes de construção de Operação. Por exemplo:
Scope scope = new Scope(graph);
Constant c = Constant.create(scope, 42);
Uma classe de construção Operation adquire um escopo e o usa para definir propriedades nas operações subjacentes do Tensorflow. Por exemplo:
// 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()
...
}
}
Hierarquia de escopo:
Um Scope
fornece vários métodos with()
que criam um novo escopo. O novo escopo normalmente tem uma propriedade alterada enquanto outras propriedades são herdadas do escopo pai.
Um exemplo usando Constant
implementado como antes:
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, ...);
Os objetos de escopo não são thread-safe.
Métodos Públicos
OperationBuilder | |
Ambiente de Execução | env () Retorna o ambiente de execução usado por este escopo. |
Corda | makeOpName (String nome padrão) Crie um nome exclusivo para um operador, usando um padrão fornecido, se necessário. |
Escopo | withControlDependencies (controles Iterable< Operand <?>>) Retorna um novo escopo onde as operações adicionadas terão as dependências de controle fornecidas. |
Escopo | withName (String opName) Retorne um novo escopo que use o nome fornecido para uma operação. |
Escopo | withSubScope (String childScopeName) Retorna um novo escopo onde as operações adicionadas terão o prefixo do nome fornecido. |
Métodos herdados
Da classe java.lang.Object booleano | é igual (objeto arg0) |
aula final<?> | getClass () |
interno | código hash () |
vazio final | notificar () |
vazio final | notificar todos () |
Corda | toString () |
vazio final | espere (long arg0, int arg1) |
vazio final | espere (arg0 longo) |
vazio final | espere () |
Construtores Públicos
Crie um novo escopo de nível superior.
Parâmetros
ambiente | O ambiente de execução usado pelo escopo. |
---|
Métodos Públicos
Adiciona cada operando em controlDependencies como uma entrada de controle ao construtor fornecido.
Parâmetros
construtor | OperationBuilder para adicionar entradas de controle ao |
---|
Retorna o ambiente de execução usado por este escopo.
String pública makeOpName (String defaultName)
Crie um nome exclusivo para um operador, usando um padrão fornecido, se necessário.
Isso normalmente é chamado apenas por classes de construção de operadores.
Este método gera um nome exclusivo, apropriado para o escopo do nome controlado por esta instância. O código típico de construção de operador pode ser parecido com
scope.env().opBuilder("Const", scope.makeOpName("Const"))...
Nota: se você fornecer uma classe de construção de operador composta (ou seja, uma classe que cria um conjunto de operações relacionadas chamando outro código de construção de operador), o nome fornecido atuará como um subescopo para todos os operadores subjacentes.
Parâmetros
nome padrão | nome do operador subjacente. |
---|
Devoluções
- nome exclusivo para o operador.
Lança
IllegalArgumentException | se o nome padrão for inválido. |
---|
Escopo público comControlDependencies (controles Iterable< Operand <?>>)
Retorna um novo escopo onde as operações adicionadas terão as dependências de controle fornecidas.
As operações criadas com este escopo terão uma vantagem de controle de cada um dos controles fornecidos. Todas as outras propriedades são herdadas do escopo atual.
Parâmetros
controles | controlar dependências para operações criadas com o escopo retornado |
---|
Devoluções
- um novo escopo com as dependências de controle fornecidas
Escopo público withName (String opName)
Retorne um novo escopo que use o nome fornecido para uma operação.
As operações criadas neste escopo terão um nome no formato name/opName[_suffix]
. Isso permite nomear um operador específico de forma mais significativa.
Os nomes devem corresponder à expressão regular [A-Za-z0-9.][A-Za-z0-9_.\-]*
Parâmetros
opName | nome para um operador no escopo retornado |
---|
Devoluções
- um novo escopo que usa opName para operações.
Lança
IllegalArgumentException | se o nome for inválido |
---|
Escopo público withSubScope (String childScopeName)
Retorna um novo escopo onde as operações adicionadas terão o prefixo do nome fornecido.
As operações criadas com este escopo terão name/childScopeName/
como prefixo. O nome real será exclusivo no escopo retornado. Todas as outras propriedades são herdadas do escopo atual.
O nome do escopo filho deve corresponder à expressão regular [A-Za-z0-9.][A-Za-z0-9_.\-]*
Parâmetros
filhoScopeName | nome para o novo escopo filho |
---|
Lança
IllegalArgumentException | se o nome for inválido |
---|
Exceto no caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas. Alguns conteúdos são licenciados com a licença numpy.
Última atualização 2025-07-27 UTC.
[null,null,["Última atualização 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|--------------------------|------------------------|"]]