ByteSequenceTensorBuffer

klasa publiczna ByteSequenceTensorBuffer

Bufor do przechowywania danych tensora łańcucha.

Wartości są przechowywane jako tablica TF_TString , wewnętrznie opakowana za pomocą tensorflow::tstring , który jest zasadniczo przenośną wersją std::string .

Dane bufora muszą zostać zainicjowane tylko raz, wywołując ERROR(/#init(NdArray, Function)) , a buforowi musi zostać przydzielona wystarczająca ilość miejsca (użyj ERROR(/#computeSize(NdArray, Function)) przed wykonaniem wiedzieć dokładnie, ile bajtów potrzeba do przechowywania danych).

Po zainicjowaniu danych bufor jest tylko do odczytu, ponieważ nie jest możliwa bezpieczna zmiana wartości bez ponownej inicjalizacji całych danych.

Metody publiczne

statyczny <T> długi
computeSize ( ByteSequenceProvider <?> byteSequenceProvider)
Oblicza liczbę bajtów wymaganych do przechowywania danych w buforze ciągu.
Bufor danych <bajt[]>
copyTo ( Bufor danych <bajt[]> dst, długi rozmiar)
Zapisz odniesienia do obiektów w tablicy źródłowej w tym buforze.
bajt[]
getObject (długi indeks)
<T> nieważne
init ( ByteSequenceProvider <T> byteSequenceProvider)
Zainicjuj dane tego bufora.
wartość logiczna
Bufor danych <bajt[]>
setObject (wartości bajtów [], długi indeks)
długi
Bufor danych <bajt[]>
plasterek (długi indeks, długi rozmiar)

Metody dziedziczone

Metody publiczne

public static long computeSize ( ByteSequenceProvider <?> byteSequenceProvider)

Oblicza liczbę bajtów wymaganych do przechowywania danych w buforze ciągu.

Parametry
dostawca sekwencji bajtów generuje sekwencje bajtów
Zwroty
  • liczba bajtów wymagana do przechowywania danych.

public DataBuffer <bajt[]> copyTo ( DataBuffer <bajt[]> dst, długi rozmiar)

Zapisz odniesienia do obiektów w tablicy źródłowej w tym buforze.

Jeśli jest więcej wartości do skopiowania niż rozmiar bufora docelowego, tj. size > dst.size() , wówczas żadne wartości nie są przesyłane i zgłaszany jest wyjątek BufferOverflowException. Z drugiej strony, jeśli istnieje więcej wartości do skopiowania niż rozmiar bufora źródłowego, tj. > src.size() , zgłaszany jest wyjątek BufferUnderfloatException.

W przeciwnym razie ta metoda kopiuje wartości n = size z tego bufora do bufora docelowego.

Parametry
dst bufor docelowy, do którego kopiowane są wartości; nie może być tym buforem
rozmiar liczba wartości do skopiowania do bufora docelowego
Zwroty
  • ten bufor

bajt publiczny[] getObject (długi indeks)

public void init ( ByteSequenceProvider <T> byteSequenceProvider)

Zainicjuj dane tego bufora.

Chociaż nie jest to wymuszane programowo, obowiązkowe jest wywołanie tej metody tylko raz po utworzeniu bufora. Bufor musiał zostać przydzielony zgodnie z tym samym zestawem danych, wywołując wcześniej ERROR(/#computeSize(NdArray, Function)) aby upewnić się, że jest wystarczająco dużo miejsca do jego przechowywania.

Parametry
dostawca sekwencji bajtów generuje sekwencje bajtów do wykorzystania jako dane tensora

publiczna wartość logiczna isReadOnly ()

public DataBuffer <bajt[]> setObject (wartości bajtów[], długi indeks)

publiczny długi rozmiar ()

public DataBuffer <bajt[]> kawałek (długi indeks, duży rozmiar)