Un array multidimensionale tipizzato utilizzato in Tensorflow Lite.
L'handle nativo di un Tensor
è gestito da NativeInterpreterWrapper
e non deve essere chiuso dal client. Tuttavia, una volta chiuso NativeInterpreterWrapper
, l'handle del tensore verrà invalidato.
Classi nidificate
classe | Tensor.QuantizationParams | Parametri di quantizzazione che corrispondono alla tabella, QuantizationParameters , nel file dello schema del modello TFLite. |
Metodi pubblici
ByteBuffer astratto | asReadOnlyBuffer () Restituisce una visualizzazione ByteBuffer di sola lettura dei dati del tensore. |
tipo di dati astratto | tipo di dati () Restituisce il DataType degli elementi archiviati nel Tensor. |
astratto int | numByte () Restituisce la dimensione, in byte, dei dati del tensore. |
astratto int | numDimensioni () Restituisce il numero di dimensioni (a volte indicato come rank ) del tensore. |
astratto int | numeroElementi () Restituisce il numero di elementi in una vista appiattita (1D) del tensore. |
astratto Tensor.QuantizationParams | quantizzazioneParams () Restituisce i parametri di quantizzazione del tensore all'interno dell'interprete proprietario. |
astratto int[] | |
astratto int[] | formaFirma () Restituisce la forma originale del Tensore, ovvero le dimensioni di ciascuna dimensione, prima che fosse eseguito qualsiasi ridimensionamento. |
Metodi pubblici
public abstract ByteBuffer asReadOnlyBuffer ()
Restituisce una visualizzazione ByteBuffer
di sola lettura dei dati del tensore.
In generale, questo metodo è particolarmente utile per ottenere una vista di sola lettura dei dati tensoriali di output, *dopo* che l'inferenza è stata eseguita (ad esempio, tramite InterpreterApi.run(Object, Object)
). In particolare, alcuni grafici hanno output di forma dinamica, che possono rendere scomoda l'alimentazione di un buffer di output predefinito all'interprete. Esempio di utilizzo:
interpreter.run(input, null);
ByteBuffer outputBuffer = interpreter.getOutputTensor(0).asReadOnlyBuffer();
// Copy or read from outputBuffer.
ATTENZIONE: se il tensore non è stato ancora allocato, ad esempio prima dell'esecuzione dell'inferenza, il risultato non è definito. Si noti che il puntatore del tensore sottostante può anche cambiare quando il tensore viene invalidato in qualsiasi modo (ad esempio, se viene eseguita l'inferenza o il grafico viene ridimensionato), quindi *non* è sicuro mantenere un riferimento al buffer restituito oltre l'uso immediato subito dopo l'inferenza. Esempio di utilizzo *cattivo*:
ByteBuffer outputBuffer = interpreter.getOutputTensor(0).asReadOnlyBuffer();
interpreter.run(input, null);
// Copy or read from outputBuffer (which may now be invalid).
Getta
IllegalArgumentException | se i dati del tensore non sono stati allocati. |
---|
public abstract int numBytes ()
Restituisce la dimensione, in byte, dei dati del tensore.
public abstract int numDimensions ()
Restituisce il numero di dimensioni (a volte indicato come rank ) del tensore.
Sarà 0 per uno scalare, 1 per un vettore, 2 per una matrice, 3 per un tensore tridimensionale ecc.
public abstract int numElements ()
Restituisce il numero di elementi in una vista appiattita (1D) del tensore.
public abstract Tensor.QuantizationParams quantizationParams ()
Restituisce i parametri di quantizzazione del tensore all'interno dell'interprete proprietario.
Solo i tensori quantizzati hanno QuantizationParameters
validi. Per tensori che non sono quantizzati, i valori di scale e zero_point sono entrambi 0.
public abstract int[] forma ()
Restituisce la forma del tensore, ovvero le dimensioni di ciascuna dimensione.
ritorna
- un array in cui l'i-esimo elemento è la dimensione dell'i-esima dimensione del tensore.
public abstract int[] shapeSignature ()
Restituisce la forma originale del Tensore, ovvero le dimensioni di ciascuna dimensione, prima che fosse eseguito qualsiasi ridimensionamento. Le dimensioni sconosciute sono designate con un valore di -1.
ritorna
- un array in cui l'i-esimo elemento è la dimensione dell'i-esima dimensione del tensore.