ConcreteFunction

classe pública ConcreteFunction

Um gráfico que pode ser invocado como uma função única, com assinatura de entrada e saída.

Uma função também pode invocar um tf.function definido em SavedModelBundle .

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

Métodos Públicos

Tensor
chamada ( tensor tensor)
Invoca uma função com uma única entrada e saída.
Mapa<String, Tensor >
chamada (Map<String, Tensor > argumentos)
Invoca uma função.
vazio
fechar ()
Função concreta estática
criar ( assinatura , sessão de sessão )
Crie uma função a partir de uma assinatura e uma sessão gráfica válida.
Função concreta estática
criar (Function<Ops, Assinatura > functionBuilder)
Cria uma função construindo um novo gráfico.
Função concreta estática
criar ( assinatura , gráfico gráfico)
Crie uma função a partir de uma assinatura e de um gráfico existente.
Gráfico
gráfico ()
Retorna o gráfico desta função
vazio
salvar (String exportDir)
Exporte esta função como um modelo salvo.
Sessão
sessão ()
Retorna a sessão usada para executar o gráfico ao chamar esta função

Em geral, um usuário não precisa lidar diretamente com a sessão de uma função e, em vez disso, contar com call(Map) para executar o gráfico.

Assinatura
assinatura ()
Retorna a assinatura desta função
Corda

Métodos herdados

booleano
é igual (objeto arg0)
aula final<?>
getClass ()
interno
código hash ()
vazio final
notificar ()
vazio final
notificar todos ()
Corda
toString ()
vazio final
espere (long arg0, int arg1)
vazio final
espere (arg0 longo)
vazio final
espere ()
vazio abstrato
fechar ()

Métodos Públicos

chamada de tensor público ( tensor tensor)

Invoca uma função com uma única entrada e saída.

O chamador é responsável por fechar todos os Tensores.

Parâmetros
tensor tensor de entrada
Devoluções
  • tensor de saída
Lança
IllegalArgumentException se houver vários parâmetros de entrada ou saída definidos na função

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

Invoca uma função.

O chamador é responsável por fechar todos os Tensores.

Parâmetros
argumentos lista de tensores a serem passados ​​na entrada para a função, mapeados por seu nome de assinatura
Devoluções
  • tensores de saída resultantes da execução da função, mapeados por seu nome de assinatura
Lança
IllegalArgumentException

fechamento de vazio público ()

public static ConcreteFunction create ( assinatura , sessão de sessão )

Crie uma função a partir de uma assinatura e de uma sessão gráfica válida.

A função não será proprietária da sessão nem do seu gráfico, o que significa que seu tempo de vida pode se estender além do escopo da função. Portanto a função não precisa ser fechada após seu uso. Por exemplo:

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
assinatura assinatura da função para criar
sessão uma sessão válida para um gráfico inicializado
Devoluções
  • uma nova função

public static ConcreteFunction create (Function<Ops, Signature > functionBuilder)

Cria uma função construindo um novo gráfico.

O functionBuilder deve inicializar o gráfico da função a partir da instância ERROR(/Ops) fornecida e retornar uma assinatura válida que será usada para alimentar os tensores de entrada e buscar os tensores de saída na execução.

A função será a proprietária do novo gráfico e da sessão resultante. Portanto, a função deve ser delimitada adequadamente por um bloco try-with-resources para garantir que todos os recursos nativos serão liberados quando a função for descartada. Por exemplo:

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
funçãoBuilder construtor de função
Devoluções
  • a nova função

public static ConcreteFunction create ( assinatura , gráfico gráfico)

Crie uma função a partir de uma assinatura e de um gráfico existente.

A função manterá a propriedade da sessão usada para executar o gráfico, mas não do gráfico em si, o que significa que o tempo de vida deste último pode se estender além do escopo da função. Por exemplo:

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
assinatura assinatura da função para criar
gráfico um gráfico válido e inicializado
Devoluções
  • uma nova função

gráfico gráfico público ()

Retorna o gráfico desta função

salvamento público vazio (String exportDir)

Exporte esta função como um modelo salvo.

Este método é um atalho conveniente equivalente a SavedModel.exporter(exportDir).withFunction(this).export()

Parâmetros
exportDir diretório para onde exportar o modelo salvo
Lança
IOException se o modelo salvo ou o estado da variável não puder ser gravado no disco

sessão de sessão pública ()

Retorna a sessão usada para executar o gráfico ao chamar esta função

Em geral, um usuário não precisa lidar diretamente com a sessão de uma função e, em vez disso, contar com call(Map) para executar o gráfico. Mas em alguns casos, o acesso direto à sessão pode ser necessário, pois permite mais opções de execução.

Devoluções
  • a sessão de função

Assinatura pública ()

Retorna a assinatura desta função

String pública paraString ()