Сфера

публичный финальный класс Scope

Управляет группами связанных свойств при создании операций Tensorflow, таких как общий префикс имени.

Scope - это контейнер для общих свойств, применяемых к TensorFlow Ops. Обычный пользовательский код инициализирует Scope и предоставляет его классам построения Operation. Например:

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

Класс построения Operation получает 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, ...);
 

Объекты области не являются потокобезопасными.

Общественные конструкторы

Область действия (окружение ExecutionEnvironment )
Создайте новую область верхнего уровня.

Публичные методы

OperationBuilder
applyControlDependencies (построитель OperationBuilder )
Добавляет каждый операнд в controlDependencies в качестве входных данных для предоставленного построителя.
Исполнение
env ()
Возвращает среду выполнения, используемую этой областью.
Нить
makeOpName (строка defaultName)
Создайте уникальное имя для оператора, используя при необходимости предоставленное значение по умолчанию.
Сфера
withControlDependencies (элементы управления Iterable < Operand <? >>)
Возвращает новую область, в которой добавленные операции будут иметь предоставленные зависимости элементов управления.
Сфера
withName (строка opName)
Вернуть новую область, которая использует предоставленное имя для операции.
Сфера
withSubScope (String childScopeName)
Возвращает новую область, в которой добавленные операции будут иметь указанный префикс имени.

Унаследованные методы

Общественные конструкторы

public Scope ( ExecutionEnvironment env)

Создайте новую область верхнего уровня.

Параметры
env Среда выполнения, используемая областью.

Публичные методы

общедоступный OperationBuilder applyControlDependencies (построитель OperationBuilder )

Добавляет каждый операнд в controlDependencies в качестве входных данных для предоставленного построителя.

Параметры
строитель OperationBuilder для добавления управляющих входов в

public ExecutionEnvironment env ()

Возвращает среду выполнения, используемую этой областью.

общедоступная строка makeOpName (String defaultName)

Создайте уникальное имя для оператора, используя при необходимости предоставленное значение по умолчанию.

Обычно это вызывается только классами построения операторов.

Этот метод генерирует уникальное имя, соответствующее области имен, контролируемой этим экземпляром. Типичный строительный код оператора может выглядеть как

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

Примечание: если вы предоставляете составной класс построения оператора (т. Е. Класс, который создает набор связанных операций, вызывая другой код построения оператора), предоставленное имя будет действовать как подобласть для всех базовых операторов.

Параметры
defaultName имя для основного оператора.
Возврат
  • уникальное имя оператора.
Броски
IllegalArgumentException если имя по умолчанию недействительно.

public Scope withControlDependencies (элементы управления Iterable < Operand <? >>)

Возвращает новую область, в которой добавленные операции будут иметь предоставленные зависимости элементов управления.

Операции, созданные с помощью этой области, будут иметь контрольную грань от каждого из предоставленных элементов управления. Все остальные свойства наследуются от текущей области.

Параметры
контроль управлять зависимостями для операций, созданных с возвращенной областью видимости
Возврат
  • новая область действия с предоставленными зависимостями управления

public Scope withName (String opName)

Вернуть новую область, которая использует предоставленное имя для операции.

Операции, созданные в этой области, будут иметь имя в форме name/opName[_suffix] . Это позволяет более осмысленно называть конкретного оператора.

Имена должны соответствовать регулярному выражению [A-Za-z0-9.][A-Za-z0-9_.\-]*

Параметры
opName имя оператора в возвращаемой области
Возврат
  • новый Scope, который использует opName для операций.
Броски
IllegalArgumentException если имя недействительно

public Scope withSubScope (String childScopeName)

Возвращает новую область, в которой добавленные операции будут иметь указанный префикс имени.

Операции, созданные с этой областью, будут иметь name/childScopeName/ в качестве префикса. Фактическое имя будет уникальным в возвращаемой области. Все остальные свойства наследуются от текущей области.

Имя дочерней области должно соответствовать регулярному выражению [A-Za-z0-9.][A-Za-z0-9_.\-]*

Параметры
childScopeName имя для новой дочерней области
Возврат
  • новая подгруппа
Броски
IllegalArgumentException если имя недействительно