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);
}
}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.
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 |
|---|
publiczny statyczny 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 podstawowych. 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);
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"; Tensors = 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 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 . |
|---|
public 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 |
|---|