Scope

classe Âmbito public final

Gerencia grupos de propriedades relacionadas ao criar operações do Tensorflow, como um prefixo de nome comum.

Um Scope é um recipiente para propriedades comuns aplicados a TensorFlow oper. Código de usuário normal inicializa um Scope e fornece-lo para as classes de construção operação. Por exemplo:

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

Uma classe de construção de operação 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 with() métodos que criam um novo escopo. O novo escopo normalmente tem uma propriedade alterada, enquanto outras propriedades são herdadas do escopo pai.

Um exemplo de uso 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, ...);
 

Objetos de escopo não são thread-safe.

Construtores Públicos

Âmbito ( ExecutionEnvironment env)
Crie um novo escopo de nível superior.

Métodos Públicos

OperationBuilder
applyControlDependencies ( OperationBuilder construtor)
Inclui cada Operando em controlDependencies como uma entrada de controle para o construtor fornecido.
ExecutionEnvironment
env ()
Retorna o ambiente de execução usado por este escopo.
Fragmento
makeOpName (String DefaultName)
Crie um nome exclusivo para um operador, usando um padrão fornecido, se necessário.
Alcance
withControlDependencies (Iterable < Operando <? >> controles)
Retorna um novo escopo onde as operações adicionadas terão as dependências de controle fornecidas.
Alcance
withName (String opName)
Retorne um novo escopo que usa o nome fornecido para uma op.
Alcance
withSubScope (String childScopeName)
Retorna um novo escopo onde as operações adicionadas terão o prefixo de nome fornecido.

Métodos herdados

Construtores Públicos

Âmbito público ( ExecutionEnvironment env)

Crie um novo escopo de nível superior.

Parâmetros
env O ambiente de execução usado pelo escopo.

Métodos Públicos

pública OperationBuilder applyControlDependencies ( OperationBuilder construtor)

Inclui cada Operando em controlDependencies como uma entrada de controle para o construtor fornecido.

Parâmetros
construtor OperationBuilder para adicionar entradas de controle a

pública ExecutionEnvironment env ()

Retorna o ambiente de execução usado por este escopo.

Cordas makeOpName pública (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. Código de construção operador típico pode parecer

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

Nota: se você fornecer uma classe de operadores construção composta (ou seja, uma classe que cria um conjunto de operações relacionadas ao chamar outro código de construção do operador), o nome fornecido irá funcionar como um subscope a todos os operadores subjacentes.

Parâmetros
defaultName nome do operador subjacente.
Devoluções
  • nome exclusivo do operador.
Lança
Exceção de argumento ilegal se o nome padrão for inválido.

pública Âmbito withControlDependencies (Iterable < Operando <? >> controles)

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 borda 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

pública Scope withName (String opName)

Retorne um novo escopo que usa o nome fornecido para uma op.

Operações criados neste âmbito terá um nome do formulário 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 de um operador no escopo retornado
Devoluções
  • um novo Scope que usa opName para operações.
Lança
Exceção de argumento ilegal se o nome é inválido

pública Scope withSubScope (String childScopeName)

Retorna um novo escopo onde as operações adicionadas terão o prefixo de nome fornecido.

Ops criados com este escopo terá 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 criança deve corresponder à expressão regular [A-Za-z0-9.][A-Za-z0-9_.\-]*

Parâmetros
childScopeName nome para o novo escopo filho
Devoluções
  • um novo subescopo
Lança
Exceção de argumento ilegal se o nome é inválido