Wielowymiarowa tablica typowa używana w Tensorflow Lite.
Nickiem natywnym elementu Tensor
zarządza NativeInterpreterWrapper
i nie
nie muszą być zamykane przez klienta. Jednak gdy NativeInterpreterWrapper
zostanie zamknięty, uchwyt tensora zostanie unieważniony.
Zagnieżdżone klasy
klasa | Tensor.QuantizationParams | Parametry kwantyzacji, które odpowiadają tabeli QuantizationParameters w sekcji
TFLite
Plik schematu modelu. |
Metody publiczne
abstrakcyjne ByteBuffer |
asReadOnlyBuffer()
Zwraca widok
ByteBuffer danych tensora tylko do odczytu. |
abstrakcyjne DataType | |
abstrakcyjne int, |
numBytes()
Zwraca rozmiar danych tensora (w bajtach).
|
abstrakcyjne int, |
numDimensions()
Zwraca liczbę wymiarów (czasami nazywanych rankingiem) Tensor.
|
abstrakcyjne int, |
numElements()
Zwraca liczbę elementów w widoku spłaszczonym (1-D) tensora.
|
abstrakcyjne Tensor.QuantizationParams |
quantizationParams()
Zwraca parametry kwantyzacji tensora w interpreterze będącym jego właścicielem.
|
abstrakcyjne int[] | |
abstrakcyjne int[] |
shapeSignature()
Zwraca pierwotny kształt Tensor,
(tj. rozmiary każdego wymiaru – przed zmianą rozmiaru).
|
Metody publiczne
publiczne abstrakcyjne ByteBuffer asReadOnlyBuffer ()
Zwraca widok ByteBuffer
danych tensora tylko do odczytu.
Ogólnie metoda ta jest najbardziej przydatna do uzyskania widoku danych tensora wyjściowego tylko do odczytu,
*po* przeprowadzeniu wnioskowania (np. przez InterpreterApi.run(Object, Object)
). W
Niektóre wykresy mają dynamicznie kształtowane dane wyjściowe, co może sprawić, że przesyłanie
i buforować dane w tłumaczeniu. Przykład użycia:
interpreter.run(input, null);
ByteBuffer outputBuffer = interpreter.getOutputTensor(0).asReadOnlyBuffer();
// Copy or read from outputBuffer.
OSTRZEŻENIE: jeśli tensor nie został jeszcze przydzielony, np. przed wnioskowaniem, wynik jest niezdefiniowany. Pamiętaj, że bazowy wskaźnik tensora może się też zmienić, gdy tensor jest w jakikolwiek sposób unieważniony (np. po przeprowadzeniu wnioskowania lub zmianie rozmiaru wykresu), więc odniesienie do zwróconego bufora *nie* jest bezpieczne poza bezpośrednim użyciem zgodnie z tym wnioskowaniem. Przykład *nieprawidłowego* użycia:
ByteBuffer outputBuffer = interpreter.getOutputTensor(0).asReadOnlyBuffer();
interpreter.run(input, null);
// Copy or read from outputBuffer (which may now be invalid).
Rzuty
IllegalArgumentException | jeśli dane tensora nie zostały przydzielone. |
---|
publiczne abstrakcyjne int, . numBytes ()
Zwraca rozmiar danych tensora (w bajtach).
publiczne abstrakcyjne int, . numDimensions ()
Zwraca liczbę wymiarów (czasami nazywanych rankingiem) Tensor.
Ta wartość będzie wynosić 0 dla skalarnego, 1 dla wektora, 2 dla macierzy, 3 dla tensora trójwymiarowego itd.
publiczne abstrakcyjne int, . numElements ()
Zwraca liczbę elementów w widoku spłaszczonym (1-D) tensora.
publiczne abstrakcyjne Tensor.QuantizationParams quantizationParams ()
Zwraca parametry kwantyzacji tensora w interpreterze będącym jego właścicielem.
Tylko poddane kwantyzacji tensory mają prawidłową wartość QuantizationParameters
. Dla tensorów, które nie są
poddane kwantyzacji, wartości skali i punktu zerowego wynoszą 0.
publiczne abstrakcyjne int[] . kształt ()
Zwraca kształt funkcji Tensor, czyli rozmiary każdego wymiaru.
Zwroty
- tablica, gdzie i-ty element to rozmiar i-tego wymiaru tensora.
publiczne abstrakcyjne int[] . shapeSignature ()
Zwraca pierwotny kształt Tensor, (tj. rozmiary każdego wymiaru – przed zmianą rozmiaru). Nieznane wymiary to wyznaczony z wartością -1.
Zwroty
- tablica, gdzie i-ty element to rozmiar i-tego wymiaru tensora.