Conozca lo último en aprendizaje automático, IA generativa y más en el
Simposio WiML 2023.
Scope
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Administra grupos de propiedades relacionadas al crear operaciones de Tensorflow, como un prefijo de nombre común.
Un Scope
es un contenedor de propiedades comunes aplicadas a TensorFlow Ops. El código de usuario normal inicializa un Scope
y lo proporciona a las clases de creación de Operaciones. Por ejemplo:
Scope scope = new Scope(graph);
Constant c = Constant.create(scope, 42);
Una clase de construcción Operation adquiere un Scope y lo usa para establecer propiedades en las operaciones subyacentes de Tensorflow. Por ejemplo:
// 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()
...
}
}
Jerarquía de alcance:
Un Scope
proporciona varios métodos with()
que crean un nuevo ámbito. Normalmente, el nuevo ámbito tiene una propiedad cambiada, mientras que otras propiedades se heredan del ámbito principal.
Un ejemplo 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, ...);
Los objetos de ámbito no son seguros para subprocesos.
Métodos públicos
OperationBuilder | |
EjecuciónEntorno | env () Devuelve el entorno de ejecución utilizado por este ámbito. |
Cuerda | makeOpName (String nombre predeterminado) Cree un nombre único para un operador, utilizando un valor predeterminado proporcionado si es necesario. |
Alcance | withControlDependencies (Iterable< Operando <?>> controles) Devuelve un nuevo ámbito en el que las operaciones agregadas tendrán las dependencias de control proporcionadas. |
Alcance | withName (Cadena opName) Devuelve un nuevo ámbito que utiliza el nombre proporcionado para una operación. |
Alcance | withSubScope (String childScopeName) Devuelve un nuevo ámbito en el que las operaciones agregadas tendrán el prefijo de nombre proporcionado. |
Métodos Heredados
De la clase java.lang.Object booleano | es igual a (Objeto arg0) |
clase final<?> | obtenerClase () |
En t | código hash () |
vacío final | notificar () |
vacío final | notificar a todos () |
Cuerda | a la cadena () |
vacío final | espera (largo arg0, int arg1) |
vacío final | espera (largo arg0) |
vacío final | espera () |
Constructores Públicos
Cree un nuevo ámbito de nivel superior.
Parámetros
env | El entorno de ejecución utilizado por el ámbito. |
---|
Métodos públicos
Agrega cada Operando en controlDependencies como una entrada de control al constructor proporcionado.
Parámetros
constructor | OperationBuilder para agregar entradas de control a |
---|
Entorno de ejecución público env ()
Devuelve el entorno de ejecución utilizado por este ámbito.
public String makeOpName (String defaultName)
Cree un nombre único para un operador, utilizando un valor predeterminado proporcionado si es necesario.
Esto normalmente lo llaman solo las clases de construcción de operadores.
Este método genera un nombre único, apropiado para el ámbito de nombre controlado por esta instancia. El código de construcción de un operador típico podría parecerse a
scope.env().opBuilder("Const", scope.makeOpName("Const"))...
Nota: si proporciona una clase de creación de operadores compuestos (es decir, una clase que crea un conjunto de operaciones relacionadas llamando a otro código de creación de operadores), el nombre proporcionado actuará como un subámbito para todos los operadores subyacentes.
Parámetros
nombre predeterminado | nombre del operador subyacente. |
---|
Devoluciones
- nombre único para el operador.
Lanza
Argumento de excepción ilegal | si el nombre predeterminado no es válido. |
---|
Ámbito público con dependencias de control ( controles iterables < operando <?>>)
Devuelve un nuevo ámbito en el que las operaciones agregadas tendrán las dependencias de control proporcionadas.
Las operaciones creadas con este ámbito tendrán una ventaja de control de cada uno de los controles proporcionados. Todas las demás propiedades se heredan del ámbito actual.
Parámetros
control S | dependencias de control para operaciones creadas con el ámbito devuelto |
---|
Devoluciones
- un nuevo ámbito con las dependencias de control proporcionadas
Alcance público con nombre (String opName )
Devuelve un nuevo ámbito que utiliza el nombre proporcionado para una operación.
Las operaciones creadas dentro de este ámbito tendrán un nombre de la forma name/opName[_suffix]
. Esto le permite nombrar un operador específico de manera más significativa.
Los nombres deben coincidir con la expresión regular [A-Za-z0-9.][A-Za-z0-9_.\-]*
Parámetros
opName | nombre de un operador en el ámbito devuelto |
---|
Devoluciones
- un nuevo Scope que usa opName para operaciones.
Lanza
Argumento de excepción ilegal | si el nombre no es válido |
---|
Ámbito público con Subámbito (String childScopeName)
Devuelve un nuevo ámbito en el que las operaciones agregadas tendrán el prefijo de nombre proporcionado.
Las operaciones creadas con este alcance tendrán name/childScopeName/
como prefijo. El nombre real será único en el ámbito devuelto. Todas las demás propiedades se heredan del ámbito actual.
El nombre del ámbito secundario debe coincidir con la expresión regular [A-Za-z0-9.][A-Za-z0-9_.\-]*
Parámetros
childScopeName | nombre para el nuevo ámbito secundario |
---|
Lanza
Argumento de excepción ilegal | si el nombre no es válido |
---|
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados. Cierto contenido está sujeto a la licencia de NumPy.
Última actualización: 2022-10-27 (UTC)
[null,null,["Última actualización: 2022-10-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.11/api_docs/java/org/tensorflow/op/Scope#Scope(org.tensorflow.ExecutionEnvironment))([ExecutionEnvironment](/versions/r2.11/api_docs/java/org/tensorflow/ExecutionEnvironment) env) Create a new top-level scope. |\n\n### Public Methods\n\n|-------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [OperationBuilder](/versions/r2.11/api_docs/java/org/tensorflow/OperationBuilder) | [applyControlDependencies](/versions/r2.11/api_docs/java/org/tensorflow/op/Scope#applyControlDependencies(org.tensorflow.OperationBuilder))([OperationBuilder](/versions/r2.11/api_docs/java/org/tensorflow/OperationBuilder) builder) Adds each Operand in controlDependencies as a control input to the provided builder. |\n| [ExecutionEnvironment](/versions/r2.11/api_docs/java/org/tensorflow/ExecutionEnvironment) | [env](/versions/r2.11/api_docs/java/org/tensorflow/op/Scope#env())() Returns the execution environment used by this scope. |\n| String | [makeOpName](/versions/r2.11/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.11/api_docs/java/org/tensorflow/op/Scope) | [withControlDependencies](/versions/r2.11/api_docs/java/org/tensorflow/op/Scope#withControlDependencies(java.lang.Iterable\u003corg.tensorflow.Operand\u003c?\u003e\u003e))(Iterable\\\u003c[Operand](/versions/r2.11/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.11/api_docs/java/org/tensorflow/op/Scope) | [withName](/versions/r2.11/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.11/api_docs/java/org/tensorflow/op/Scope) | [withSubScope](/versions/r2.11/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.11/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.11/api_docs/java/org/tensorflow/OperationBuilder)\n**applyControlDependencies**\n([OperationBuilder](/versions/r2.11/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.11/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.11/api_docs/java/org/tensorflow/op/Scope)\n**withControlDependencies**\n(Iterable\\\u003c[Operand](/versions/r2.11/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.11/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.11/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|--------------------------|------------------------|"]]