Ostrzeżenie: ten interfejs API jest przestarzały i zostanie usunięty w przyszłej wersji TensorFlow, gdy zastąpienie będzie stabilne.

Tensor

publiczna klasa końcowa Tensor

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>
utwórz (kształt długi [], dane DoubleBuffer)
Utwórz Double Tensor z danymi z podanego bufora.
Tensor statyczny <Long>
utwórz (kształt długi [], dane LongBuffer)
Utwórz Long Tensor z danymi z podanego bufora.
statyczny Tensor <Integer>
utwórz (kształt długi [], dane IntBuffer)
Utwórz Tensor Integer z danymi z podanego bufora.
statyczny Tensor <Float>
utwórz (kształt długi [], dane FloatBuffer)
Utwórz Float Tensor z danymi z podanego bufora.
static <T> Tensor <T>
create (Object obj, typ Class <T>)
Tworzy tensor z obiektu Java.
Typ danych
dataType ()
Zwraca DataType elementów przechowywanych w Tensor.
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
intValue ()
Zwraca wartość jako skalarny tensor Integer .
długo
longValue ()
Zwraca wartość w skalarnym tensorze Long .
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[]
kształt ()
Zwraca kształt Tensora, tj. Rozmiary każdego wymiaru.
Strunowy
toString ()
Zwraca ciąg opisujący typ i kształt Tensora.
unieważnić
writeTo (LongBuffer dst)
Wpisz dane Long tensora do podanego bufora.
unieważnić
writeTo (DoubleBuffer dst)
Zapisz dane tensora Double do podanego bufora.
unieważnić
writeTo (IntBuffer dst)
Zapisz dane tensora typu Integer do podanego bufora.
unieważnić
writeTo (ByteBuffer dst)
Zapisz dane tensora do podanego bufora.
unieważnić
writeTo (FloatBuffer dst)
Zapisz dane tensora Float do podanego bufora.

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";
 Tensor 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 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.

publicznego TypDanych dataType ()

Zwraca DataType elementów przechowywanych w Tensor.

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)

Wpisz dane Long tensora do podanego bufora.

Kopiuje elementy numElements() do bufora.

Parametry
dst bufor docelowy
Rzuty
BufferOverflowException Jeśli w danym buforze jest za mało miejsca na dane w tym tensorze
IllegalArgumentException Jeśli typ danych tensora nie jest Long

public void writeTo (DoubleBuffer dst)

Zapisz dane tensora Double do podanego bufora.

Kopiuje elementy numElements() do bufora.

Parametry
dst bufor docelowy
Rzuty
BufferOverflowException Jeśli w danym buforze jest za mało miejsca na dane w tym tensorze
IllegalArgumentException Jeśli typ danych tensora nie jest Double

public void writeTo (IntBuffer dst)

Zapisz dane tensora typu Integer do podanego bufora.

Kopiuje elementy numElements() do bufora.

Parametry
dst bufor docelowy
Rzuty
BufferOverflowException Jeśli w danym buforze jest za mało miejsca na dane w tym tensorze
IllegalArgumentException Jeśli typ danych tensora nie jest Integer

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

public void writeTo (FloatBuffer dst)

Zapisz dane tensora Float do podanego bufora.

Kopiuje elementy numElements() do bufora.

Parametry
dst bufor docelowy
Rzuty
BufferOverflowException Jeśli w danym buforze jest za mało miejsca na dane w tym tensorze
IllegalArgumentException Jeśli typ danych tensora nie jest Float