Tensor

interface pública Tensor

Uma matriz multidimensional tipada usada no Tensorflow Lite.

O identificador nativo de um Tensor é gerenciado por NativeInterpreterWrapper e não precisa ser fechado pelo cliente. No entanto, quando NativeInterpreterWrapper for fechado, o identificador do tensor será invalidado.

Classes aninhadas

classe Tensor.QuantizationParams Parâmetros de quantização que correspondem à tabela, QuantizationParameters, no arquivo de esquema do modelo TFLite. 

Métodos públicos

abstrato ByteBuffer
asReadOnlyBuffer()
Retorna uma visualização ByteBuffer somente leitura dos dados do tensor.
abstrato DataType
Função dataType()
Retorna o DataType dos elementos armazenados no tensor.
abstrato int
numBytes()
Retorna o tamanho, em bytes, dos dados do tensor.
abstrato int
numDimensions()
Retorna o número de dimensões (às vezes chamadas de classificação) do tensor.
abstrato int
numElements()
Retorna o número de elementos em uma visualização nivelada (1-D) do tensor.
abstrato Tensor.QuantizationParams
quantizationParams()
Retorna os parâmetros de quantização do tensor no intérprete proprietário.
abstrato int[]
forma()
Retorna o formato do tensor, ou seja, os tamanhos de cada dimensão.
abstrato int[]
shapeSignature()
Retorna a forma original do tensor, ou seja, os tamanhos de cada dimensão antes de qualquer redimensionamento.

Métodos públicos

public ByteBuffer asReadOnlyBuffer ()

Retorna uma visualização ByteBuffer somente leitura dos dados do tensor.

Em geral, esse método é mais útil para conseguir uma visualização somente leitura dos dados do tensor de saída, *após* a inferência (por exemplo, via InterpreterApi.run(Object, Object)). Em particular, alguns gráficos têm saídas com formato dinâmico, o que pode tornar estranho a alimentação de um buffer de saída predefinido para o intérprete. Exemplo de uso:

 interpreter.run(input, null);
 ByteBuffer outputBuffer = interpreter.getOutputTensor(0).asReadOnlyBuffer();
 // Copy or read from outputBuffer.

AVISO: se o tensor ainda não tiver sido alocado, por exemplo, antes que a inferência tenha sido executada, o resultado será indefinido. O ponteiro do tensor subjacente também pode mudar quando o tensor é invalidado de alguma forma (por exemplo, se a inferência é executada ou o gráfico é redimensionado). Portanto, não é seguro manter uma referência ao buffer retornado além do uso imediato após a inferência. Exemplo de uso *ruim*:

 ByteBuffer outputBuffer = interpreter.getOutputTensor(0).asReadOnlyBuffer();
 interpreter.run(input, null);
 // Copy or read from outputBuffer (which may now be invalid).

Gera
IllegalArgumentException caso os dados do tensor não tenham sido alocados.

public abstrato DataType dataType ()

Retorna o DataType dos elementos armazenados no tensor.

public int numBytes ()

Retorna o tamanho, em bytes, dos dados do tensor.

public abstrata int numDimensions ()

Retorna o número de dimensões (às vezes chamadas de classificação) do tensor.

Será 0 para um escalar, 1 para um vetor, 2 para uma matriz, 3 para um tensor tridimensional etc.

public abstrata int numElements ()

Retorna o número de elementos em uma visualização nivelada (1-D) do tensor.

público abstrato Tensor.QuantizationParams quantizationParams ()

Retorna os parâmetros de quantização do tensor no intérprete proprietário.

Somente os tensores quantizados têm um QuantizationParameters válido. Para tensores não quantizados, os valores de scale e zero_point são 0.

public abstrata int[] forma ()

Retorna o formato do tensor, ou seja, os tamanhos de cada dimensão.

Retorna
  • uma matriz em que o i-th elemento é o tamanho da i-ésima dimensão do tensor.

public abstrata int[] shapeSignature ()

Retorna a forma original do tensor, ou seja, os tamanhos de cada dimensão antes de qualquer redimensionamento. Dimensões desconhecidas são designadas com um valor de -1.

Retorna
  • uma matriz em que o i-th elemento é o tamanho da i-ésima dimensão do tensor.