MetadataExtractor

classe pública MetadataExtractor

Carrega metadados do TFLite Model FlatBuffer.

O FlatBuffer do modelo do TFLite pode ser gerado usando o arquivo de esquema do modelo do TFLite.

Alguns modelos contêm um Flatbuffer de metadados TFLite, que registra mais informações sobre o que o modelo faz e como interpretá-lo. O Flatbuffer de metadados do TFLite pode ser gerado usando o arquivo de esquema de metadados do TFLite.

É permitido transmitir um modelo FlatBuffer sem metadados do TFLite. No entanto, invocar métodos que leem de metadados TFLite causará erros durante a execução.

Da mesma forma, é permitido passar um modelo FlatBuffer sem arquivos associados. No entanto, invocar métodos que leiam os arquivos associados causará erros no ambiente de execução.

Embora o modelo TFLite FlatBuffer ofereça suporte a vários subgráficos, o TFLite Interpreter oferece suporte apenas a um único subgráfico até o momento. Consulte a instrução sobre como especificar o subgráfico durante a conversão para mais informações. Portanto, MetadataExtractor omite o índice de subgráfico como uma entrada nos próprios métodos.

Classes aninhadas

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

Construtores públicos

MetadataExtractor(buffer ByteBuffer)
Cria um MetadataExtractor com o modelo TFLite FlatBuffer.

Métodos públicos

InputStream
getAssociatedFile(String fileName)
Recebe o arquivo associado compactado com o fileName especificado.
Set<String>
getAssociatedFileNames()
Recebe os nomes dos arquivos associados.
int
getInputTensorCount()
Recebe a contagem de tensores de entrada no modelo.
TensorMetadata
getInputTensorMetadata(int inputIndex)
Recebe os metadados do tensor de entrada especificado por inputIndex.
MetadataExtractor.QuantizationParams
getInputTensorQuantizationParams(int inputIndex)
Recebe os parâmetros de quantização para o tensor de entrada especificado por inputIndex.
int[]
getInputTensorShape(int inputIndex)
Recebe o formato do tensor de entrada com inputIndex.
byte
getInputTensorType(int inputIndex)
Recebe o ERROR(/TensorType) do tensor de entrada com inputIndex.
ModelMetadata
getModelMetadata()
Recebe o gerenciador raiz dos metadados do modelo.
int
getOutputTensorCount()
Recebe a contagem de tensores de saída no modelo.
TensorMetadata
getOutputTensorMetadata(int outputIndex)
Recebe os metadados do tensor de saída especificado por outputIndex.
MetadataExtractor.QuantizationParams
getOutputTensorQuantizationParams(int outputIndex)
Recebe os parâmetros de quantização para o tensor de saída especificado por outputIndex.
int[]
getOutputTensorShape(int outputIndex)
Recebe o formato do tensor de saída com outputIndex.
byte
getOutputTensorType(int outputIndex)
Recebe o ERROR(/TensorType) do tensor de saída com outputIndex.
boolean
Função hasMetadata()
Retorna true se o modelo tiver metadados.
booleano final
isMinimumParserVersionSatisfied()
Retornará true se a versão mínima do analisador exigida pelo flatbuffer de metadados fornecido for anterior ou igual à versão do analisador de metadados em que essa biblioteca MetadataExtractor está confiante.

Métodos herdados

Construtores públicos

public MetadataExtractor (buffer ByteBuffer)

Cria um MetadataExtractor com o modelo TFLite FlatBuffer.

Parâmetros
buffer o modelo TFLite FlatBuffer
Gera
IllegalArgumentException se o número de tensores de entrada ou saída no modelo não corresponder ao número nos metadados
IOException se ocorrer um erro ao ler o modelo como um arquivo ZIP

Métodos públicos

public InputStream getAssociatedFile (String fileName)

Recebe o arquivo associado compactado com o fileName especificado.

Parâmetros
fileName o nome do arquivo associado
Retorna
  • o stream de entrada bruto que contém o arquivo especificado
Gera
IllegalStateException se o modelo não for um arquivo ZIP
IllegalArgumentException se o arquivo especificado não existir no modelo

public Set<String> getAssociatedFileNames ()

Recebe os nomes dos arquivos associados.

Retorna
  • os nomes dos arquivos associados
Gera
IllegalStateException se o modelo não for um arquivo ZIP

public int getInputTensorCount ()

Recebe a contagem de tensores de entrada no modelo.

público TensorMetadata getInputTensorMetadata (int inputIndex)

Recebe os metadados do tensor de entrada especificado por inputIndex.

Parâmetros
inputIndex o índice do tensor de entrada desejado
Gera
IllegalStateException se o modelo não contiver metadados de modelo

public MetadataExtractor.QuantizationParams getInputTensorQuantizationParams (int inputIndex)

Recebe os parâmetros de quantização para o tensor de entrada especificado por inputIndex.

Parâmetros
inputIndex o índice do tensor de entrada desejado

public int[] getInputTensorShape (int inputIndex)

Recebe o formato do tensor de entrada com inputIndex.

Parâmetros
inputIndex o índice do tensor de entrada desejado

public byte getInputTensorType (int inputIndex)

Recebe o ERROR(/TensorType) do tensor de entrada com inputIndex.

Parâmetros
inputIndex o índice do tensor de entrada desejado

public ModelMetadata getModelMetadata ()

Recebe o gerenciador raiz dos metadados do modelo.

Gera
IllegalStateException se o modelo não contiver metadados de modelo

public int getOutputTensorCount ()

Recebe a contagem de tensores de saída no modelo.

public TensorMetadata getOutputTensorMetadata (int outputIndex)

Recebe os metadados do tensor de saída especificado por outputIndex.

Parâmetros
outputIndex o índice do tensor de saída desejado
Gera
IllegalStateException se o modelo não contiver metadados de modelo

public MetadataExtractor.QuantizationParams getOutputTensorQuantizationParams (int outputIndex)

Recebe os parâmetros de quantização para o tensor de saída especificado por outputIndex.

Parâmetros
outputIndex o índice do tensor de saída desejado

public int[] getOutputTensorShape (int outputIndex)

Recebe o formato do tensor de saída com outputIndex.

Parâmetros
outputIndex o índice do tensor de saída desejado

public byte getOutputTensorType (int outputIndex)

Recebe o ERROR(/TensorType) do tensor de saída com outputIndex.

Parâmetros
outputIndex o índice do tensor de saída desejado

public booleano hasMetadata ()

Retorna true se o modelo tiver metadados. Caso contrário, retorna false.

public final booleano isMinimumParserVersionSatisfied ()

Retornará true se a versão mínima do analisador exigida pelo flatbuffer de metadados fornecido for anterior ou igual à versão do analisador de metadados em que essa biblioteca MetadataExtractor está confiante. Nesse caso, todos os campos dos metadados podem ser analisados corretamente com a biblioteca extratora de metadados. Caso contrário, retorna false.

Por exemplo, suponha que a versão do analisador de metadados seja 1.14.1,

  • ele retornará true se a versão mínima necessária do analisador for a mesma ou mais antiga, como 1.14.1 ou 1.14.0. A versão nula precede todas as versões numéricas, porque alguns flatbuffers de metadados são gerados antes da primeira versão com controle de versão;
  • ela retornará false se a versão mínima necessária do analisador for mais recente, como 1.14.2.