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 | |
wartość logiczna | |
Bufor danych <bajt[]> | setObject (wartości bajtów [], długi indeks) |
długi | rozmiar () |
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 |
---|