ConcreteFunction

공개 클래스 ConcreteFunction

입력 및 출력 서명이 있는 단일 함수로 호출할 수 있는 그래프입니다.

함수는 SavedModelBundle 에 정의된 tf.function을 호출할 수도 있습니다.

ConcreteFunction myFunction = savedModelBundle.function("myFunctionSignatureName");
 Map<String, Tensor> outputTensorMap = myFunction.call(inputTensorMap);
 

공개 방법

텐서
호출 ( 텐서 텐서)
단일 입력 및 출력으로 함수를 호출합니다.
맵<문자열, 텐서 >
호출 (Map<String, Tensor > 인수)
함수를 호출합니다.
무효의
닫다 ()
정적 콘크리트 함수
생성 ( 서명 서명, 세션 세션)
서명과 유효한 그래프 세션에서 함수를 만듭니다.
정적 콘크리트 함수
생성 (Function<Ops, Signature > functionBuilder)
새 그래프를 작성하여 함수를 생성합니다.
정적 콘크리트 함수
생성 ( 서명 서명, 그래프 그래프)
서명과 기존 그래프에서 함수를 만듭니다.
그래프
그래프 ()
이 함수의 그래프를 반환합니다.
무효의
저장 (문자열 내보내기Dir)
이 기능을 저장된 모델로 내보냅니다.
세션
세션 ()
이 함수를 호출할 때 그래프를 실행하는 데 사용된 세션을 반환합니다.

일반적으로 사용자는 함수 세션을 직접 처리할 필요가 없으며 대신 call(Map) 사용하여 그래프를 실행합니다.

서명
서명 ()
이 함수의 서명을 반환합니다.

상속된 메서드

공개 방법

공개 Tensor 호출 ( Tensor 텐서)

단일 입력 및 출력으로 함수를 호출합니다.

호출자는 모든 Tensor를 닫을 책임이 있습니다.

매개변수
텐서 입력 텐서
보고
  • 출력 텐서
던지기
IllegalArgumentException 함수에 여러 개의 입력 또는 출력 매개변수가 정의되어 있는 경우

공개 Map<String, Tensor > 호출 (Map<String, Tensor > 인수)

함수를 호출합니다.

호출자는 모든 Tensor를 닫을 책임이 있습니다.

매개변수
인수 함수에 입력을 전달할 텐서 목록(시그니처 이름으로 매핑됨)
보고
  • 함수 실행으로 인한 출력 텐서(시그니처 이름으로 매핑됨)
던지기
IllegalArgumentException

공공 무효 닫기 ()

public static ConcreteFunction create ( 서명 서명, 세션 세션)

서명과 유효한 그래프 세션에서 함수를 만듭니다.

함수는 세션이나 해당 그래프를 소유하지 않습니다. 즉, 수명이 함수 범위를 넘어 확장될 수 있습니다. 따라서 함수 사용 후 함수를 닫을 필요가 없습니다. 예:

try (Graph g = new Graph()) {
   Placeholder<TFloat32> input = tf.placeholder(TFloat32.class);
   Add<TFloat32> output = tf.math.add(input, tf.constant(2.0f));
   Signature signature = Signature.builder().input("x", input).output("y", output).build();

   try (Session s = new Session(g)) {
     // Auto-closing the function just as an example but this is not required since it has
     // no effect
     try (ConcreteFunction f = ConcreteFunction.create(signature, s);
         TFloat32 t = TFloat32.scalarOf(2.0f)) {
       assertEquals(4.0f, ((TFloat32)function.call(x)).getFloat());
     
     // Session s is still valid at this point
   }
   // Graph g is still valid at this point
 }
 }

매개변수
서명 생성할 함수의 서명
세션 초기화된 그래프에 대한 유효한 세션
보고
  • 새로운 기능

공개 정적 ConcreteFunction 생성 (Function<Ops, Signature > functionBuilder)

새 그래프를 작성하여 함수를 생성합니다.

functionBuilder 는 제공된 ERROR(/Ops) 인스턴스에서 함수 그래프를 초기화하고 입력 텐서를 공급하고 실행 시 출력 텐서를 가져오는 데 사용될 유효한 서명을 반환해야 합니다.

함수는 새 그래프와 결과 세션의 소유자가 됩니다. 따라서 함수가 삭제되면 모든 기본 리소스가 해제되도록 함수를 try-with-resources 블록으로 올바르게 묶어야 합니다. 예:

public class MyModel {

   public static Signature addTwo(Ops tf) {
     Placeholder<TFloat32> input = tf.placeholder(TFloat32.class);
     Add<TFloat32> output = tf.math.add(input, tf.constant(2.0f));
     return Signature.builder("addTwo").input("x", input).output("y", output).build();
   

   public static void main(String args[]) {
     try (ConcreteFunction function = ConcreteFunction.create(MyModel::addTwo);
         TFloat32 x = TFloat32.scalarOf(2.0f)) {
       assertEquals(4.0f, ((TFloat32)function.call(x)).getFloat());
     }
   }
 }
 }

매개변수
함수 빌더 함수 빌더
보고
  • 새로운 기능

public static ConcreteFunction create ( 서명 서명, 그래프 그래프)

서명과 기존 그래프에서 함수를 만듭니다.

함수는 그래프를 실행하는 데 사용된 세션의 소유권을 유지하지만 그래프 자체는 유지하지 않습니다. 즉, 후자의 수명이 함수 범위를 넘어 확장될 수 있습니다. 예:

try (Graph g = new Graph()) {
   Placeholder<TFloat32> input = tf.placeholder(TFloat32.class);
   Add<TFloat32> output = tf.math.add(input, tf.constant(2.0f));
   Signature signature = Signature.builder().input("x", input).output("y", output).build();

   try (ConcreteFunction f = ConcreteFunction.create(signature, g);
       TFloat32 x = TFloat32.scalarOf(2.0f)) {
     assertEquals(4.0f, ((TFloat32)function.call(x)).getFloat());
   
   // Graph g is still valid at this point
 }
 }

매개변수
서명 생성할 함수의 서명
그래프 유효하고 초기화된 그래프
보고
  • 새로운 기능

공개 그래프 그래프 ()

이 함수의 그래프를 반환합니다.

공개 무효 저장 (문자열 내보내기Dir)

이 기능을 저장된 모델로 내보냅니다.

이 방법은 SavedModel.exporter(exportDir).withFunction(this).export() 와 동일한 편리한 바로 가기입니다.

매개변수
내보내기 디렉터리 저장된 모델을 내보낼 디렉터리
던지기
IO예외 저장된 모델이나 변수 상태를 디스크에 쓸 수 없는 경우

공개 세션 세션 ()

이 함수를 호출할 때 그래프를 실행하는 데 사용된 세션을 반환합니다.

일반적으로 사용자는 함수 세션을 직접 처리할 필요가 없으며 대신 call(Map) 사용하여 그래프를 실행합니다. 그러나 어떤 경우에는 더 많은 실행 옵션을 허용하므로 세션에 직접 액세스해야 할 수도 있습니다.

보고
  • 기능 세션

공개 서명 서명 ()

이 함수의 서명을 반환합니다.

공개 문자열 toString ()