Un array multidimensionale digitato in TensorFlow Lite.
L'handle nativo di un Tensor
è gestito da NativeInterpreterWrapper
e
che non devono essere chiusi dal cliente. Tuttavia, una volta che NativeInterpreterWrapper
ha
chiuso, l'handle del tensore verrà invalidato.
Classi nidificate
classe | Tensor.QuantizationParams | Parametri di quantizzazione corrispondenti alla tabella QuantizationParameters nel
TFLite
File di schema del modello. |
Metodi pubblici
astratto ByteBuffer |
asReadOnlyBuffer()
Restituisce una visualizzazione
ByteBuffer di sola lettura dei dati del tensore. |
astratto DataType | |
astratto int |
numBytes()
Restituisce la dimensione, in byte, dei dati del tensore.
|
astratto int |
numDimensions()
Restituisce il numero di dimensioni (a volte indicate come ranking) del Tensor.
|
astratto int |
numElements()
Restituisce il numero di elementi in una vista bidimensionale (1-D) del tensore.
|
astratto Tensor.QuantizationParams |
quantizationParams()
Restituisce i parametri di quantizzazione del tensore all'interno dell'interprete proprietario.
|
astratto int[] | |
astratto int[] |
shapeSignature()
Restituisce la forma originale del tensore,
ovvero le dimensioni di ogni dimensione, prima di eseguire qualsiasi ridimensionamento.
|
Metodi pubblici
pubblica astratto ByteBuffer asReadOnlyBuffer ()
Restituisce una visualizzazione ByteBuffer
di sola lettura dei dati del tensore.
In generale, questo metodo è più utile per ottenere una visualizzazione di sola lettura dei dati di un tensore di output.
*dopo* l'esecuzione dell'inferenza (ad es. tramite InterpreterApi.run(Object, Object)
). Nella
particolare, alcuni grafici hanno output modellati dinamicamente, il che può rendere l'inserimento di un
del buffer di output all'interprete. Esempio di utilizzo:
interpreter.run(input, null);
ByteBuffer outputBuffer = interpreter.getOutputTensor(0).asReadOnlyBuffer();
// Copy or read from outputBuffer.
AVVISO: se il tensore non è stato ancora allocato, ad es. prima dell'esecuzione dell'inferenza, il risultato non è definito. Tieni presente che il puntatore tensore sottostante può cambiare anche quando tensore viene invalidato in qualsiasi modo (ad esempio, se l'inferenza viene eseguita o il grafico viene ridimensionato), quindi *non* è sicuro conservare un riferimento al buffer restituito oltre l'uso immediato a seguire l'inferenza. Esempio di utilizzo *errato*:
ByteBuffer outputBuffer = interpreter.getOutputTensor(0).asReadOnlyBuffer();
interpreter.run(input, null);
// Copy or read from outputBuffer (which may now be invalid).
Lanci
IllegalArgumentException | se i dati del tensore non sono stati allocati. |
---|