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) 사용하여 그래프를 실행합니다.

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

상속된 메서드

부울
같음 (개체 arg0)
마지막 수업<?>
getClass ()
정수
해시코드 ()
최종 무효
알림 ()
최종 무효
통지모두 ()
toString ()
최종 무효
대기 (long arg0, int arg1)
최종 무효
기다리세요 (긴 arg0)
최종 무효
기다리다 ()
추상적인 공백
닫다 ()

공개 방법

공개 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 ()