범위

공개 최종 수업 범위

일반 이름 접두사와 같은 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 env)
새 최상위 범위를 만듭니다.

공개 방법

OperationBuilder
applyControlDependencies ( OperationBuilder 빌더)
제공된 빌더에 제어 입력으로 controlDependencies의 각 피연산자를 추가합니다.
ExecutionEnvironment
env ()
이 범위에서 사용하는 실행 환경을 반환합니다.
makeOpName (문자열 defaultName)
필요한 경우 제공된 기본값을 사용하여 운영자의 고유 한 이름을 만듭니다.
범위
withControlDependencies (Iterable < 피연산자 <? >> 컨트롤)
추가 된 작업에 제공된 컨트롤 종속성이있는 새 범위를 반환합니다.
범위
withName (문자열 opName)
작업에 제공된 이름을 사용하는 새 범위를 반환합니다.
범위
withSubScope (문자열 childScopeName)
추가 된 작업에 제공된 이름 접두사가있는 새 범위를 반환합니다.

상속 된 메서드

공개 생성자

공용 범위 ( ExecutionEnvironment env)

새 최상위 범위를 만듭니다.

매개 변수
env 범위에서 사용하는 실행 환경입니다.

공개 방법

공용 OperationBuilder applyControlDependencies ( OperationBuilder 빌더)

제공된 빌더에 제어 입력으로 controlDependencies의 각 피연산자를 추가합니다.

매개 변수
건축업자 제어 입력을 추가 할 OperationBuilder

public ExecutionEnvironment env ()

이 범위에서 사용하는 실행 환경을 반환합니다.

공용 문자열 makeOpName (문자열 defaultName)

필요한 경우 제공된 기본값을 사용하여 운영자의 고유 한 이름을 만듭니다.

이것은 일반적으로 운영자 건물 클래스에서만 호출됩니다.

이 메서드는이 인스턴스에서 제어하는 ​​이름 범위에 적합한 고유 한 이름을 생성합니다. 일반적인 운영자 건물 코드는

scope.env().opBuilder("Const", scope.makeOpName("Const"))...
 
과 같습니다.

참고 : 복합 연산자 빌드 클래스 (즉, 다른 연산자 빌드 코드를 호출하여 관련 작업 집합을 생성하는 클래스)를 제공하는 경우 제공된 이름은 모든 기본 연산자에 대한 하위 범위 역할을합니다.

매개 변수
defaultName 기본 연산자의 이름입니다.
보고
  • 운영자의 고유 한 이름입니다.
던짐
IllegalArgumentException 기본 이름이 유효하지 않은 경우.

ControlDependencies가있는 공용 범위 (Iterable < 피연산자 <? >> 컨트롤)

추가 된 작업에 제공된 컨트롤 종속성이있는 새 범위를 반환합니다.

이 범위로 생성 된 작업에는 제공된 각 컨트롤의 컨트롤 에지가 있습니다. 다른 모든 속성은 현재 범위에서 상속됩니다.

매개 변수
통제 수단 반환 된 범위로 생성 된 작업에 대한 종속성 제어
보고
  • 제공된 제어 종속성이있는 새 범위

공용 범위 withName (문자열 opName)

작업에 제공된 이름을 사용하는 새 범위를 반환합니다.

이 범위 내에서 생성 된 작업은 name/opName[_suffix] 형식의 name/opName[_suffix] . 이를 통해 특정 연산자의 이름을보다 의미있게 지정할 수 있습니다.

이름은 정규 표현식 [A-Za-z0-9.][A-Za-z0-9_.\-]* 와 일치해야합니다 [A-Za-z0-9.][A-Za-z0-9_.\-]*

매개 변수
opName 반환 된 범위의 연산자 이름
보고
  • 작업에 opName을 사용하는 새 범위
던짐
IllegalArgumentException 이름이 유효하지 않은 경우

공용 범위 withSubScope (문자열 childScopeName)

추가 된 작업에 제공된 이름 접두사가있는 새 범위를 반환합니다.

이 범위로 생성 된 작업에는 접두사로 name/childScopeName/ 이 있습니다. 실제 이름은 반환 된 범위에서 고유합니다. 다른 모든 속성은 현재 범위에서 상속됩니다.

하위 범위 이름은 정규식 [A-Za-z0-9.][A-Za-z0-9_.\-]* 와 일치해야합니다 [A-Za-z0-9.][A-Za-z0-9_.\-]*

매개 변수
childScopeName 새 하위 범위의 이름
보고
  • 새로운 하위 범위
던짐
IllegalArgumentException 이름이 유효하지 않은 경우