Buffer per la memorizzazione dei dati del tensore di stringa.
I valori vengono archiviati come un array di TF_TString
, racchiuso internamente con tensorflow::tstring
, che è essenzialmente una versione portatile di std::string
.
I dati del buffer devono essere inizializzati solo una volta, chiamando ERROR(/#init(NdArray, Function))
e il buffer deve essere stato allocato con spazio sufficiente (utilizzare ERROR(/#computeSize(NdArray, Function))
prima di sapere esattamente quanti byte sono necessari per memorizzare i dati).
Dopo che i suoi dati sono stati inizializzati, il buffer è di sola lettura poiché non è possibile modificare in modo sicuro un valore senza reinizializzare tutti i dati.
Metodi pubblici
<T> statico lungo | computeSize ( ByteSequenceProvider <?> byteSequenceProvider) Calcola quanti byte sono necessari per archiviare i dati specificati in un buffer di stringhe. |
Buffer dati <byte[]> | copyTo ( DataBuffer <byte[]> dst, dimensione lunga) Scrivi i riferimenti degli oggetti nell'array di origine in questo buffer. |
byte[] | getObject (indice lungo) |
<T> vuoto | |
booleano | èSolaLettura () |
Buffer dati <byte[]> | setObject (valori byte[], indice lungo) |
lungo | misurare () |
Buffer dati <byte[]> | slice (indice lungo, dimensione lunga) |
Metodi ereditati
Metodi pubblici
public static long computeSize ( ByteSequenceProvider <?> byteSequenceProvider)
Calcola quanti byte sono necessari per archiviare i dati specificati in un buffer di stringhe.
Parametri
byteSequenceProvider | produce sequenze di byte |
---|
ritorna
- numero di byte necessari per memorizzare i dati.
public DataBuffer <byte[]> copyTo ( DataBuffer <byte[]> dst, dimensione lunga)
Scrivi i riferimenti degli oggetti nell'array di origine in questo buffer.
Se sono presenti più valori da copiare rispetto alla dimensione del buffer di destinazione, ovvero size > dst.size()
, non viene trasferito alcun valore e viene generata un'eccezione BufferOverflowException. D'altra parte, se ci sono più valori da copiare rispetto alla dimensione del buffer di origine, ad esempio > src.size()
, viene lanciata un'eccezione BufferUnderfloatException.
Altrimenti, questo metodo copia n = size
da questo buffer nel buffer di destinazione.
Parametri
dst | il buffer di destinazione in cui vengono copiati i valori; non deve essere questo buffer |
---|---|
misurare | numero di valori da copiare nel buffer di destinazione |
ritorna
- questo buffer
public byte[] getObject (indice lungo)
public void init ( ByteSequenceProvider <T> byteSequenceProvider)
Inizializza i dati di questo buffer.
Anche se non viene applicato a livello di codice, è obbligatorio che questo metodo venga chiamato solo una volta dopo la creazione del buffer. Il buffer deve essere stato allocato in base allo stesso set di dati, chiamando la priorità ERROR(/#computeSize(NdArray, Function))
per assicurarsi che ci sia spazio sufficiente per archiviarlo.
Parametri
byteSequenceProvider | produce sequenze di byte da utilizzare come dati tensoriali |
---|