ByteSequenceTensorBuffer

classe pubblica ByteSequenceTensorBuffer

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
init ( ByteSequenceProvider <T> byteSequenceProvider)
Inizializza i dati di questo buffer.
booleano
Buffer dati <byte[]>
setObject (valori byte[], indice lungo)
lungo
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

booleano pubblico isReadOnly ()

public DataBuffer <byte[]> setObject (valori byte[], indice lungo)

dimensione lunga pubblica ()

public DataBuffer <byte[]> porzione (indice lungo, dimensione lunga)