ConcreteFunction

función concreta de clase pública

Un gráfico que se puede invocar como una función única, con una firma de entrada y salida.

Una función también puede invocar una función tf.function definida en un SavedModelBundle .

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

Métodos públicos

Tensor
llamada ( tensor tensor)
Invoca una función con una única entrada y salida.
Mapa<Cadena, Tensor >
llamar (Mapa<Cadena, Tensor > argumentos)
Invoca una función.
vacío
cerca ()
Función concreta estática
crear (firma firma , sesión de sesión )
Cree una función a partir de una firma y una sesión gráfica válida.
Función concreta estática
crear (Función <Ops, Firma > generador de funciones)
Crea una función construyendo un nuevo gráfico.
Función concreta estática
crear (firma firma , gráfico gráfico)
Cree una función a partir de una firma y un gráfico existente.
Gráfico
gráfico ()
Devuelve la gráfica de esta función.
vacío
guardar (cadena exportDir)
Exporte esta función como un modelo guardado.
Sesión
sesión ()
Devuelve la sesión utilizada para ejecutar el gráfico al llamar a esta función

En general, un usuario no necesita manejar directamente la sesión de una función y confiar en call(Map) para ejecutar el gráfico.

Firma
firma ()
Devuelve la firma de esta función.
Cadena

Métodos heredados

Métodos públicos

llamada pública de tensor ( tensor tensor)

Invoca una función con una única entrada y salida.

La persona que llama es responsable de cerrar todos los tensores.

Parámetros
tensor tensor de entrada
Devoluciones
  • tensor de salida
Lanza
Excepción de argumento ilegal si hay múltiples parámetros de entrada o salida definidos en la función

llamada pública Map<String, Tensor > (Map<String, Tensor > argumentos)

Invoca una función.

La persona que llama es responsable de cerrar todos los tensores.

Parámetros
argumentos lista de tensores para pasar la entrada a la función, mapeados por su nombre de firma
Devoluciones
  • tensores de salida resultantes de la ejecución de la función, mapeados por su nombre de firma
Lanza
Excepción de argumento ilegal

cierre público vacío ()

creación pública estática de ConcreteFunction (firma de firma , sesión de sesión )

Cree una función a partir de una firma y una sesión gráfica válida.

La función no será propietaria de la sesión ni de su gráfico, lo que significa que su vida útil puede extenderse más allá del alcance de la función. Por lo tanto, no es necesario cerrar la función después de su uso. Por ejemplo:

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

Parámetros
firma firma de la función a crear
sesión una sesión válida para un gráfico inicializado
Devoluciones
  • una nueva función

Creación de función concreta estática pública (Función <Ops, Firma > Generador de funciones)

Crea una función construyendo un nuevo gráfico.

El functionBuilder debe inicializar el gráfico de funciones desde la instancia ERROR(/Ops) proporcionada y devolver una firma válida que se utilizará para alimentar los tensores de entrada y recuperar los tensores de salida en la ejecución.

La función será la propietaria del nuevo gráfico y su sesión resultante. Por lo tanto, la función debe incluirse adecuadamente con un bloque try-with-resources para garantizar que todos los recursos nativos se liberen una vez que se descarte la función. Por ejemplo:

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());
     }
   }
 }
 }

Parámetros
constructor de funciones constructor de funciones
Devoluciones
  • la nueva función

creación pública estática de ConcreteFunction (firma de firma , gráfico gráfico )

Cree una función a partir de una firma y un gráfico existente.

La función mantendrá la propiedad de la sesión utilizada para ejecutar el gráfico, pero no del gráfico en sí, lo que significa que la vida útil de este último puede extenderse más allá del alcance de la función. Por ejemplo:

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

Parámetros
firma firma de la función a crear
gráfico un gráfico válido e inicializado
Devoluciones
  • una nueva función

gráfico gráfico público ()

Devuelve la gráfica de esta función.

guardar vacío público (cadena exportDir)

Exporte esta función como un modelo guardado.

Este método es un atajo conveniente equivalente a SavedModel.exporter(exportDir).withFunction(this).export()

Parámetros
exportDir directorio donde exportar el modelo guardado
Lanza
IOExcepción si el modelo guardado o el estado de la variable no se pueden escribir en el disco

sesión de sesión pública ()

Devuelve la sesión utilizada para ejecutar el gráfico al llamar a esta función

En general, un usuario no necesita manejar directamente la sesión de una función y confiar en call(Map) para ejecutar el gráfico. Pero en algunos casos, puede ser necesario el acceso directo a la sesión, ya que permite más opciones de ejecución.

Devoluciones
  • la sesión de función

firma pública firma ()

Devuelve la firma de esta función.

cadena pública a cadena ()