Tensor

interfejs publiczny Tensor
Znane podklasy pośrednie

Tablica wielowymiarowa o typie statycznym.

W Javie TensorFlow istnieją dwie kategorie tensorów: typed tensors i raw tensors . Pierwsza z nich odwzorowuje natywną pamięć tensora na n-wymiarową przestrzeń danych, umożliwiając bezpośrednie operacje we/wy z JVM, podczas gdy druga jest jedynie odniesieniem do natywnego tensora umożliwiającego podstawowe operacje i płaski dostęp do danych.

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.of(...)) {
   doSomethingWith(t);
 
 }

Instancje Tensora nie są bezpieczne dla wątków.

Metody publiczne

abstrakcyjny RawTensor
asRawTensor ()
Zwraca surową (bez typu) reprezentację tego tensora
abstrakcyjna pustka
zamknąć ()
Zwolnij zasoby powiązane z Tensorem.
abstrakcyjny typ danych
Typ danych ()
Zwraca DataType elementów przechowywanych w tensorze.
streszczenie długie
liczba bajtów ()
Zwraca rozmiar danych tensora w bajtach.
streszczenie statyczny <T rozszerza TType > T
z (typ klasy<T>, kształt kształtu , długi rozmiar, inicjator danych konsumenta<T>)
Przydziela tensor danego typu danych, kształtu i rozmiaru.
streszczenie statyczny <T rozszerza TType > T
z (typ Class<T>, kształt kształtu )
Przydziela tensor danego typu danych i kształtu.
streszczenie statyczny <T rozszerza TType > T
z (typ Class<T>, kształt kształtu , długi rozmiar)
Przydziela tensor danego typu danych, kształtu i rozmiaru.
streszczenie statyczny <T rozszerza TType > T
z (typ klasy<T>, kształt kształtu , inicjator danych konsumenta<T>)
Przydziela i inicjuje tensor danego typu danych i kształtu.
streszczenie statyczny <T rozszerza TType > T
z (typ Class<T>, kształt kształtu , ByteDataBuffer rawData)
Tworzy Tensor dowolnego typu na podstawie surowych danych dostarczonych przez dany bufor.
abstrakcyjny kształt
kształt ()
Zwraca kształt tensora.

Metody dziedziczone

Metody publiczne

publiczne streszczenie RawTensor asRawTensor ()

Zwraca surową (bez typu) reprezentację tego tensora

publiczne streszczenie nieważne 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 abstrakcyjny typ danych typ danych ()

Zwraca DataType elementów przechowywanych w tensorze.

publiczne streszczenie długie numBytes ()

Zwraca rozmiar danych tensora w bajtach.

publiczny statyczny abstrakt T z (typ klasy<T>, kształt kształtu , długi rozmiar, inicjator danych konsumenta<T>)

Przydziela tensor danego typu danych, kształtu i rozmiaru.

Ta metoda jest identyczna z of(Class, Shape, Consumer) z tą różnicą, że ostateczny rozmiar tensora można jawnie ustawić, zamiast obliczać go na podstawie typu danych i kształtu.

Może to być przydatne w przypadku typów tensorów, które przechowują dane, ale także metadane w pamięci tensora, takie jak tabela przeglądowa w tensorze ciągów.

Parametry
typ klasa typu tensora
kształt kształt tensora
rozmiar size w bajtach tensora lub -1, aby obliczyć rozmiar na podstawie kształtu
inicjator danych metoda otrzymująca dostęp do przydzielonych danych tensorowych do inicjalizacji
Powroty
  • przydzielony i zainicjowany tensor
Rzuca
Wyjątek IllegalArgument jeśli size jest mniejszy niż minimalna przestrzeń wymagana do przechowywania danych tensora
Wyjątek IllegalArgument jeśli size jest ustawiony na -1, ale elementy danego type mają zmienną długość (np. stringi)
Wyjątek IllegalArgument jeżeli shape jest całkowicie lub częściowo unknown
Wyjątek IllegalStateException jeśli nie udało się przydzielić tensora

publiczny statyczny abstrakt T ( typ Class<T>, kształt kształtu)

Przydziela tensor danego typu danych i kształtu.

Ilość pamięci do przydzielenia jest ustalana na podstawie typu danych i kształtu tensora i pozostaje niezainicjowana.

Parametry
typ klasa typu tensora
kształt kształt tensora
Powroty
  • przydzielony, ale niezainicjowany tensor
Rzuca
Wyjątek IllegalArgument jeśli elementy danego type mają zmienną długość (np. stringi)
Wyjątek IllegalArgument jeżeli shape jest całkowicie lub częściowo unknown
Wyjątek IllegalStateException jeśli nie udało się przydzielić tensora

publiczny statyczny abstrakt T ( typ Class<T>, kształt kształtu , długi rozmiar)

Przydziela tensor danego typu danych, kształtu i rozmiaru.

Ta metoda jest identyczna z of(Class, Shape) , z tą różnicą, że ostateczny rozmiar tensora można jawnie ustawić zamiast obliczać go na podstawie typu danych i kształtu, który może być większy niż rzeczywista przestrzeń wymagana do przechowywania danych, ale nie mniejszy .

Parametry
typ klasa typu tensora
kształt kształt tensora
rozmiar size w bajtach tensora lub -1, aby obliczyć rozmiar na podstawie kształtu
Powroty
  • przydzielony, ale niezainicjowany tensor
Rzuca
Wyjątek IllegalArgument jeśli size jest mniejszy niż minimalna przestrzeń wymagana do przechowywania danych tensora
Wyjątek IllegalArgument jeśli size jest ustawiony na -1, ale elementy danego type mają zmienną długość (np. stringi)
Wyjątek IllegalArgument jeżeli shape jest całkowicie lub częściowo unknown
Wyjątek IllegalStateException jeśli nie udało się przydzielić tensora
Zobacz także

publiczny statyczny abstrakt T ( typ Class<T>, kształt kształtu, Consumer<T> dataInitializer)

Przydziela i inicjuje tensor danego typu danych i kształtu.

Ilość pamięci do przydzielenia wynika z typu danych i kształtu tensora. Dane tensora są inicjowane poprzez wywołanie metody dataInitializer , która w argumencie otrzymuje wartość zwróconą przez ERROR(/#data()) na przydzielonym tensorze. Na przykład:

FloatNdArray data = ...
 try (TFloat32 t = Tensor.of(TFloat32.class, Shape.of(2, 2), data::copyTo)) {
   ...
 
 }

Jeśli dataInitializer zakończy się niepowodzeniem i zgłosi wyjątek, przydzielony tensor zostanie automatycznie zwolniony przed ponownym zgłoszeniem tego samego wyjątku.

Parametry
typ klasa typu tensora
kształt kształt tensora
inicjator danych metoda otrzymująca dostęp do przydzielonych danych tensorowych do inicjalizacji
Powroty
  • przydzielony i zainicjowany tensor
Rzuca
Wyjątek IllegalArgument jeśli elementy danego type mają zmienną długość (np. stringi)
Wyjątek IllegalArgument jeżeli shape jest całkowicie lub częściowo unknown
Wyjątek IllegalStateException jeśli nie udało się przydzielić tensora

publiczna statyczna abstrakcja T ( typ Class<T>, kształt kształtu , ByteDataBuffer rawData)

Tworzy Tensor dowolnego typu na podstawie surowych danych dostarczonych przez dany bufor.

Dane muszą zostać zakodowane w data zgodnie ze specyfikacją interfejsu API TensorFlow C.

Parametry
typ klasa typu tensora
kształt kształt tensora.
surowe dane bufor zawierający surowe dane tensora.
Rzuca
Wyjątek IllegalArgument jeśli rawData nie jest wystarczająco duży, aby pomieścić dane tensora
Wyjątek IllegalArgument jeżeli shape jest całkowicie lub częściowo unknown
Wyjątek IllegalStateException jeśli nie udało się przydzielić tensora z podanymi parametrami

publiczny abstrakcyjny kształt kształtu ()

Zwraca kształt tensora.