Statycznie typowana tablica wielowymiarowa, której elementy są typu opisanego przez T.
Instancje Tensora nie są bezpieczne dla wątków.
OSTRZEŻENIE: Zasoby zużywane przez obiekt Tensor muszą zostać jawnie zwolnione poprzez wywołanie metody close()
, gdy obiekt nie jest już potrzebny. Na przykład, używając bloku try-with-resources:
try (Tensor t = Tensor.create(...)) {
doSomethingWith(t);
}
Metody publiczne
wartość logiczna | Wartość logiczna () Zwraca wartość w skalarnym tensorze Boolean . |
bajt[] | bajtyWartość () Zwraca wartość w skalarnym tensorze String . |
próżnia | zamknąć () Zwolnij zasoby powiązane z Tensorem. |
<U> U | kopiujDo (U dst) Kopiuje zawartość tensora do dst i zwraca dst . |
statyczny Tensor <?> | utwórz (obiekt obiektu) Tworzy tensor z obiektu, którego klasa jest sprawdzana w celu ustalenia, jaki powinien być podstawowy typ danych. |
statyczny <T> Tensor <T> | utwórz (typ Class<T>, kształt long[], dane ByteBuffer) Utwórz Tensor dowolnego typu z danymi z danego bufora. |
statyczny Tensor <Double> | |
statyczny Tensor <Długi> | |
statyczny tensor <liczba całkowita> | |
statyczny Tensor <Float> | |
statyczny <T> Tensor <T> | utwórz (obiekt obiektu, typ Class<T>) Tworzy Tensor z obiektu Java. |
Typ danych | Typ danych () Zwraca DataType elementów przechowywanych w Tensorze. |
podwójnie | podwójna wartość () Zwraca wartość w skalarnym tensorze Double . |
<U> Tensor <U> | oczekiwać (typ Class<U>) Zwraca ten obiekt Tensor o typie Tensor<U> . |
platforma | wartość zmiennoprzecinkowa () Zwraca wartość w skalarnym tensorze Float . |
wew | wartość całkowita () Zwraca wartość w skalarnym tensorze Integer . |
długi | długa wartość () Zwraca wartość w skalarnym Long tensorze. |
wew | liczba bajtów () Zwraca rozmiar danych tensora w bajtach. |
wew | liczba wymiarów () Zwraca liczbę wymiarów (czasami nazywaną rangą ) tensora. |
wew | liczba elementów () Zwraca liczbę elementów w spłaszczonym (1-W) widoku tensora. |
długi[] | |
Smyczkowy | doString () Zwraca ciąg opisujący typ i kształt Tensora. |
próżnia | |
próżnia | |
próżnia | |
próżnia | writeTo (ByteBuffer dst) Zapisz dane tensora w podanym buforze. |
próżnia |
Metody dziedziczone
Metody publiczne
publiczna wartość logiczna booleanValue ()
Zwraca wartość w skalarnym tensorze Boolean
.
Rzuca
Wyjątek IllegalArgument | jeśli Tensor nie reprezentuje skalara logicznego. |
---|
publiczny bajt[] bajtyWartość ()
Zwraca wartość w skalarnym tensorze String
.
Rzuca
Wyjątek IllegalArgument | jeśli Tensor nie reprezentuje skalara logicznego. |
---|
publiczna pustka zamknij ()
Zwolnij zasoby powiązane z Tensorem.
OSTRZEŻENIE: Należy to wywołać w przypadku wszystkich tensorów, które nie zostały wygenerowane w wyniku operacji chętnie, w przeciwnym razie nastąpi wyciek pamięci.
Obiekt Tensor nie jest już użyteczny po close
.
publiczny U copyTo (U dst)
Kopiuje zawartość tensora do dst
i zwraca dst
.
W przypadku tensorów nieskalarnych ta metoda kopiuje zawartość podstawowego tensora do tablicy Java. W przypadku tensorów skalarnych użyj zamiast tego jednego z bytesValue()
, floatValue()
, doubleValue()
, intValue()
, longValue()
lub booleanValue()
. Rodzaj i kształt dst
muszą być zgodne z tensorem. Na przykład:
int matrix[2][2] = { {1,2},{3,4} };
try(Tensor t = Tensor.create(matrix)) {
// Succeeds and prints "3"
int[][] copy = new int[2][2];
System.out.println(t.copyTo(copy)[1][0]);
// Throws IllegalArgumentException since the shape of dst does not match the shape of t.
int[][] dst = new int[4][1];
t.copyTo(dst);
}
Parametry
dst |
---|
Rzuca
Wyjątek IllegalArgument | jeśli tensor jest skalarem lub jeśli dst nie jest zgodny z tensorem (na przykład niedopasowane typy danych lub kształty). |
---|
publiczny statyczny Tensor <?> utwórz (obiekt obiektu)
Tworzy tensor z obiektu, którego klasa jest sprawdzana w celu ustalenia, jaki powinien być podstawowy typ danych.
Parametry
obj |
---|
Rzuca
Wyjątek IllegalArgument | jeśli obj nie jest kompatybilny z systemem typu TensorFlow. |
---|
public static Tensor <T> create (typ Class<T>, long[] kształt, dane ByteBuffer)
Utwórz Tensor dowolnego typu z danymi z danego bufora.
Tworzy Tensor o podanym kształcie dowolnego typu, w którym dane tensora zostały zakodowane w data
zgodnie ze specyfikacją interfejsu API TensorFlow C.
Parametry
typ | typ elementu tensorowego, reprezentowany jako obiekt klasy. |
---|---|
kształt | kształt tensora. |
dane | bufor zawierający dane tensora. |
Rzuca
Wyjątek IllegalArgument | Jeśli typ danych lub kształt tensora nie jest zgodny z buforem |
---|
public static Tensor <Double> utwórz (długi [] kształt, dane DoubleBuffer)
Utwórz Double
tensor z danymi z danego bufora.
Tworzy Tensor o podanym kształcie, kopiując elementy z bufora (zaczynając od jego bieżącej pozycji) do tensora. Na przykład, jeśli shape = {2,3}
(co reprezentuje macierz 2x3), to w buforze musi pozostać 6 elementów, które zostaną wykorzystane przez tę metodę.
Parametry
kształt | kształt tensora. |
---|---|
dane | bufor zawierający dane tensora. |
Rzuca
Wyjątek IllegalArgument | Jeśli kształt tensora nie jest zgodny z buforem |
---|
public static Tensor <Long> utwórz (długi [] kształt, dane LongBuffer)
Utwórz Long
tensor z danymi z danego bufora.
Tworzy Tensor o podanym kształcie, kopiując elementy z bufora (zaczynając od jego bieżącej pozycji) do tensora. Na przykład, jeśli shape = {2,3}
(co reprezentuje macierz 2x3), to w buforze musi pozostać 6 elementów, które zostaną wykorzystane przez tę metodę.
Parametry
kształt | kształt tensora. |
---|---|
dane | bufor zawierający dane tensora. |
Rzuca
Wyjątek IllegalArgument | Jeśli kształt tensora nie jest zgodny z buforem |
---|
public static Tensor <Integer> utwórz (długi [] kształt, dane IntBuffer)
Utwórz tensor Integer
z danymi z danego bufora.
Tworzy Tensor o podanym kształcie, kopiując elementy z bufora (zaczynając od jego bieżącej pozycji) do tensora. Na przykład, jeśli shape = {2,3}
(co reprezentuje macierz 2x3), to w buforze musi pozostać 6 elementów, które zostaną wykorzystane przez tę metodę.
Parametry
kształt | kształt tensora. |
---|---|
dane | bufor zawierający dane tensora. |
Rzuca
Wyjątek IllegalArgument | Jeśli kształt tensora nie jest zgodny z buforem |
---|
public static Tensor <Float> utwórz (długi [] kształt, dane FloatBuffer)
Utwórz tensor Float
z danymi z podanego bufora.
Tworzy Tensor o podanym kształcie, kopiując elementy z bufora (zaczynając od jego bieżącej pozycji) do tensora. Na przykład, jeśli shape = {2,3}
(co reprezentuje macierz 2x3), to w buforze musi pozostać 6 elementów, które zostaną wykorzystane przez tę metodę.
Parametry
kształt | kształt tensora. |
---|---|
dane | bufor zawierający dane tensora. |
Rzuca
Wyjątek IllegalArgument | Jeśli kształt tensora nie jest zgodny z buforem |
---|
public static Tensor <T> utwórz (obiekt obiektu, typ Class<T>)
Tworzy Tensor z obiektu Java.
Tensor
to wielowymiarowa tablica elementów o ograniczonym zestawie typów. Nie wszystkie obiekty Java można przekonwertować na Tensor
. W szczególności argument obj
musi być albo elementem pierwotnym (float, double, int, long, boolean, byte) albo wielowymiarową tablicą jednego z tych elementów pierwotnych. type
argumentu określa, jak interpretować pierwszy argument jako typ TensorFlow. Na przykład:
// Valid: A 64-bit integer scalar.
Tensor<Long> s = Tensor.create(42L, Long.class);
// Valid: A 3x2 matrix of floats.
float[][] matrix = new float[3][2];
Tensor<Float> m = Tensor.create(matrix, Float.class);
// Invalid: Will throw an IllegalArgumentException as an arbitrary Object
// does not fit into the TensorFlow type system.
Tensor<?> o = Tensor.create(new Object())
// Invalid: Will throw an IllegalArgumentException since there are
// a differing number of elements in each row of this 2-D array.
int[][] twoD = new int[2][];
twoD[0] = new int[1];
twoD[1] = new int[2];
Tensor<Integer> x = Tensor.create(twoD, Integer.class);
Tensory typu String
to wielowymiarowe tablice dowolnych sekwencji bajtów, więc można je inicjować z tablic elementów byte[]
. Na przykład: // Valid: A String tensor.
Tensor<String> s = Tensor.create(new byte[]{1, 2, 3}, String.class);
// Java Strings will need to be encoded into a byte-sequence.
String mystring = "foo";
Tensor<String> s = Tensor.create(mystring.getBytes("UTF-8"), String.class);
// Valid: Matrix of String tensors.
// Each element might have a different length.
byte[][][] matrix = new byte[2][2][];
matrix[0][0] = "this".getBytes("UTF-8");
matrix[0][1] = "is".getBytes("UTF-8");
matrix[1][0] = "a".getBytes("UTF-8");
matrix[1][1] = "matrix".getBytes("UTF-8");
Tensor<String> m = Tensor.create(matrix, String.class);
Parametry
obj | Obiekt do przekonwertowania na Tensor<T> . Należy pamiętać, że system typów nie sprawdza, czy jest on kompatybilny z typem T. Aby zapewnić bezpieczne tworzenie tensorów, użyj Tensors . |
---|---|
typ | Obiekt klasy reprezentujący typ T. |
Rzuca
Wyjątek IllegalArgument | jeśli obj nie jest kompatybilny z systemem typu TensorFlow. |
---|
publiczny double doubleValue ()
Zwraca wartość w skalarnym tensorze Double
.
Rzuca
Wyjątek IllegalArgument | jeśli tensor nie reprezentuje podwójnego skalara. |
---|
publiczny Tensor <U> oczekuje (typ Klasy<U>)
Zwraca ten obiekt Tensor o typie Tensor<U>
. Ta metoda jest przydatna, gdy podano wartość typu Tensor<?>
.
Parametry
typ | dowolna (różna od null) tablica prawidłowego typu. |
---|
Rzuca
Wyjątek IllegalArgument | jeśli rzeczywisty typ danych tego obiektu nie jest zgodny z typem U . |
---|
publiczny float floatValue ()
Zwraca wartość w skalarnym tensorze Float
.
Rzuca
Wyjątek IllegalArgument | jeśli Tensor nie reprezentuje skalara zmiennoprzecinkowego. |
---|
publiczna int intValue ()
Zwraca wartość w skalarnym tensorze Integer
.
Rzuca
Wyjątek IllegalArgument | jeśli Tensor nie reprezentuje skalara typu int. |
---|
publiczna długa długa wartość ()
Zwraca wartość w skalarnym Long
tensorze.
Rzuca
Wyjątek IllegalArgument | jeśli tensor nie reprezentuje długiego skalara. |
---|
public int numBytes ()
Zwraca rozmiar danych tensora w bajtach.
public int numDimensions ()
Zwraca liczbę wymiarów (czasami nazywaną rangą ) tensora.
Będzie wynosić 0 dla skalara, 1 dla wektora, 2 dla macierzy, 3 dla trójwymiarowego tensora itp.
public int numElements ()
Zwraca liczbę elementów w spłaszczonym (1-W) widoku tensora.
publiczny długi [] kształt ()
Zwraca kształt tensora, tj. rozmiary każdego wymiaru.
Powroty
- tablica, w której i-ty element jest rozmiarem i-tego wymiaru tensora.
publiczny ciąg do ciągu ()
Zwraca ciąg opisujący typ i kształt Tensora.
public void writeTo (LongBuffer dst)
public void writeTo (DoubleBuffer dst)
public void writeTo (IntBuffer dst)
public void writeTo (ByteBuffer dst)
Zapisz dane tensora w podanym buforze.
Kopiuje bajty numBytes()
do bufora w natywnej kolejności bajtów dla typów pierwotnych.
Parametry
dst | bufor docelowy |
---|
Rzuca
Wyjątek BufferOverflow | Jeśli w danym buforze nie ma wystarczającej ilości miejsca na dane w tym tensorze |
---|