Statycznie typowana wielowymiarowa tablica, której elementy są typu opisanego przez T.
Wystąpienia tensora nie są bezpieczne dla wątków.
OSTRZEŻENIE: Zasoby zużywane przez obiekt Tensor muszą zostać jawnie zwolnione przez 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
boolean | booleanValue () Zwraca wartość w skalarnym tensorze Boolean . |
bajt[] | bytesValue () Zwraca wartość w skalarnym tensorze typu String . |
unieważnić | zamknij () Zwolnij zasoby powiązane z Tensorem. |
<U> U | copyTo (U dst) Kopiuje zawartość tensora do dst i zwraca dst . |
Tensor statyczny <?> | utwórz (obiekt obj) Tworzy tensor z obiektu, którego klasa jest sprawdzana w celu ustalenia, jaki powinien być bazowy typ danych. |
static <T> Tensor <T> | create (typ Class <T>, kształt long [], dane ByteBuffer) Utwórz Tensor dowolnego typu z danymi z danego bufora. |
Tensor statyczny <Podwójny> | |
Tensor statyczny <Long> | |
statyczny Tensor <Integer> | |
statyczny Tensor <Float> | |
static <T> Tensor <T> | create (Object obj, typ Class <T>) Tworzy tensor z obiektu Java. |
Typ danych | |
podwójnie | doubleValue () Zwraca wartość w skalarnym tensorze Double . |
<U> Tensor <U> | oczekiwać (typ klasy <U>) Zwraca ten obiekt Tensor z typem Tensor<U> . |
pływak | floatValue () Zwraca wartość w skalarnym Float . |
int | |
długo | |
int | numBytes () Zwraca rozmiar w bajtach danych tensora. |
int | numDimensions () Zwraca liczbę wymiarów (czasami określanych jako ranga ) tensora. |
int | numElements () Zwraca liczbę elementów w spłaszczonym (1-D) widoku tensora. |
długo[] | |
Strunowy | toString () Zwraca ciąg opisujący typ i kształt Tensora. |
unieważnić | |
unieważnić | |
unieważnić | |
unieważnić | writeTo (ByteBuffer dst) Zapisz dane tensora do podanego bufora. |
unieważnić |
Dziedziczone metody
Metody publiczne
public boolean booleanValue ()
Zwraca wartość w skalarnym tensorze Boolean
.
Rzuty
IllegalArgumentException | jeśli Tensor nie reprezentuje boolowskiego skalara. |
---|
public byte [] bytesValue ()
Zwraca wartość w skalarnym tensorze typu String
.
Rzuty
IllegalArgumentException | jeśli Tensor nie reprezentuje boolowskiego skalara. |
---|
public void close ()
Zwolnij zasoby powiązane z Tensorem.
OSTRZEŻENIE: To musi być wywołane dla wszystkich tensorów, które nie zostały wyprodukowane przez gorliwą operację, w przeciwnym razie pamięć zostanie przecieka.
Obiekt Tensor nie nadaje się już do użytku po close
powrotu.
public 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 należy bytesValue()
tego użyć jednego z bytesValue()
, floatValue()
, doubleValue()
, intValue()
, longValue()
lub booleanValue()
. Typ 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);
}
}
Rzuty
IllegalArgumentException | jeśli tensor jest skalarem lub jeśli dst nie jest zgodny z tensorem (na przykład niedopasowane typy danych lub kształty). |
---|
public static Tensor <?> create (Object obj)
Tworzy tensor z obiektu, którego klasa jest sprawdzana w celu ustalenia, jaki powinien być bazowy typ danych.
Rzuty
IllegalArgumentException | jeśli obj nie jest zgodny z systemem typu TensorFlow. |
---|
public static Tensor <T> create (typ Class <T>, kształt long [], dane ByteBuffer)
Utwórz Tensor dowolnego typu z danymi z danego bufora.
Tworzy Tensor z podanym kształtem dowolnego typu, w którym dane tensora zostały zakodowane w data
zgodnie ze specyfikacją API TensorFlow C.
Parametry
rodzaj | typ elementu tensora, reprezentowany jako obiekt klasy. |
---|---|
kształt | kształt tensora. |
dane | bufor zawierający dane tensora. |
Rzuty
IllegalArgumentException | Jeśli typ danych tensora lub kształt nie jest zgodny z buforem |
---|
public static Tensor <Double> create (long [] shape, DoubleBuffer data)
Utwórz Double
Tensor z danymi z podanego bufora.
Tworzy Tensor o danym 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ą zużyte przez tę metodę.
Parametry
kształt | kształt tensora. |
---|---|
dane | bufor zawierający dane tensora. |
Rzuty
IllegalArgumentException | Jeśli kształt tensora nie jest zgodny z buforem |
---|
public static Tensor <Long> create (long [] shape, LongBuffer data)
Utwórz Long
Tensor z danymi z podanego bufora.
Tworzy Tensor o danym 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ą zużyte przez tę metodę.
Parametry
kształt | kształt tensora. |
---|---|
dane | bufor zawierający dane tensora. |
Rzuty
IllegalArgumentException | Jeśli kształt tensora nie jest zgodny z buforem |
---|
public static Tensor <Integer> create (long [] shape, IntBuffer data)
Utwórz Tensor Integer
z danymi z podanego bufora.
Tworzy Tensor o danym 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ą zużyte przez tę metodę.
Parametry
kształt | kształt tensora. |
---|---|
dane | bufor zawierający dane tensora. |
Rzuty
IllegalArgumentException | Jeśli kształt tensora nie jest zgodny z buforem |
---|
public static Tensor <Float> create (long [] shape, FloatBuffer data)
Utwórz Float
Tensor z danymi z podanego bufora.
Tworzy Tensor o danym 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ą zużyte przez tę metodę.
Parametry
kształt | kształt tensora. |
---|---|
dane | bufor zawierający dane tensora. |
Rzuty
IllegalArgumentException | Jeśli kształt tensora nie jest zgodny z buforem |
---|
public static Tensor <T> create (Object obj, Class <T> type)
Tworzy tensor z obiektu Java.
Tensor
to wielowymiarowa tablica elementów o ograniczonym zestawie typów. Nie wszystkie obiekty Java można przekształcić w Tensor
. W szczególności argument obj
musi być albo prostym (float, double, int, long, boolean, byte) albo wielowymiarową tablicą jednego z tych prymitywów. Argument type
określa, jak należy interpretować jako pierwszy argument typu 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 mogą być inicjowane 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 konwersji na Tensor<T> . Należy zwrócić uwagę, że system typów nie sprawdza, czy jest on zgodny z typem T. Aby utworzyć tensory z bezpieczeństwem typów, użyj opcji Tensors . |
---|---|
rodzaj | Obiekt klasy reprezentujący typ T. |
Rzuty
IllegalArgumentException | jeśli obj nie jest zgodny z systemem typu TensorFlow. |
---|
public double doubleValue ()
Zwraca wartość w skalarnym tensorze Double
.
Rzuty
IllegalArgumentException | jeśli Tensor nie reprezentuje podwójnego skalara. |
---|
publicznego Tensor <U> spodziewać (Class <U> typ)
Zwraca ten obiekt Tensor z typem Tensor<U>
. Ta metoda jest przydatna, gdy ma się wartość typu Tensor<?>
.
Parametry
rodzaj | dowolna (niezerowa) tablica poprawnego typu. |
---|
Rzuty
IllegalArgumentException | jeśli rzeczywisty typ danych tego obiektu nie jest zgodny z typem U |
---|
public float floatValue ()
Zwraca wartość w skalarnym Float
.
Rzuty
IllegalArgumentException | jeśli Tensor nie reprezentuje zmiennoprzecinkowego skalara. |
---|
public int intValue ()
Zwraca wartość jako skalarny tensor Integer
.
Rzuty
IllegalArgumentException | jeśli Tensor nie reprezentuje int skalara. |
---|
public long longValue ()
Zwraca wartość w skalarnym tensorze Long
.
Rzuty
IllegalArgumentException | jeśli Tensor nie reprezentuje długiego skalara. |
---|
public int numBytes ()
Zwraca rozmiar w bajtach danych tensora.
public int numDimensions ()
Zwraca liczbę wymiarów (czasami określanych jako ranga ) tensora.
Wyniesie 0 dla skalara, 1 dla wektora, 2 dla macierzy, 3 dla trójwymiarowego tensora itd.
public int numElements ()
Zwraca liczbę elementów w spłaszczonym (1-D) widoku tensora.
publiczny długi [] kształt ()
Zwraca kształt Tensora, tj. Rozmiary każdego wymiaru.
Zwroty
- tablica, w której i-ty element ma rozmiar i-tego wymiaru tensora.
public String toString ()
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 do podanego bufora.
Kopiuje numBytes()
do bufora w natywnej kolejności bajtów dla typów pierwotnych.
Parametry
dst | bufor docelowy |
---|
Rzuty
BufferOverflowException | Jeśli w danym buforze jest za mało miejsca na dane w tym tensorze |
---|