Tensor

publiczny interfejs Tensor
Znane podklasy pośrednie

Wielowymiarowa tablica o typie statycznym.

Istnieją dwie kategorie tensorów w TensorFlow Java: typed tensors i raw tensors . Pierwsza mapuje rodzimą pamięć tensora do n-wymiarowej przestrzeni 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 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.of(...)) {
   doSomethingWith(t);
 
 }

Wystąpienia tensora nie są bezpieczne dla wątków.

Metody publiczne

streszczenie RawTensor
asRawTensor ()
Zwraca surową (bez typu) reprezentację tego tensora
abstrakcyjna pustka
zamknij ()
Zwolnij zasoby powiązane z Tensorem.
streszczenie DataType
dataType ()
ZwracaDataType elementów przechowywanych w tensorze.
abstrakcyjne długie
numBytes ()
Zwraca rozmiar w bajtach danych tensora.
abstrakcyjny statyczny <T rozszerza TType > T
of (typ Class <T>, kształt kształtu, długi rozmiar, Consumer <T> dataInitializer)
Przydziela tensor o podanym typie danych, kształcie i rozmiarze.
abstrakcyjny statyczny <T rozszerza TType > T
of (typ Class <T>, kształt kształtu)
Przydziela tensor o podanym typie danych i kształcie.
abstrakcyjny statyczny <T rozszerza TType > T
z (typ klasy <T>, kształt kształtu, długi rozmiar)
Przydziela tensor o podanym typie danych, kształcie i rozmiarze.
abstrakcyjny statyczny <T rozszerza TType > T
of (typ Class <T>, kształt kształtu, Consumer <T> dataInitializer)
Przydziela i inicjalizuje tensor o podanym typie danych i kształcie.
abstrakcyjny statyczny <T rozszerza TType > T
of (typ Class <T>, kształt kształtu, ByteDataBuffer rawData)
Tworzy Tensor dowolnego typu z surowych danych dostarczonych przez dany bufor.
abstrakcyjny kształt
kształt ()
Zwraca kształt tensora.

Dziedziczone metody

Metody publiczne

public abstract RawTensor asRawTensor ()

Zwraca surową (bez typu) reprezentację tego tensora

public abstract 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 abstract TypDanych dataType ()

ZwracaDataType elementów przechowywanych w tensorze.

public abstract long numBytes ()

Zwraca rozmiar w bajtach danych tensora.

public static abstract T of (Class <T> type, Shape shape, long size, Consumer <T> dataInitializer)

Przydziela tensor o podanym typie danych, kształcie i rozmiarze.

Ta metoda jest taka sama jak of(Class, Shape, Consumer) , z tą różnicą, że ostateczny rozmiar tensora można jawnie ustawić zamiast obliczania 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
rodzaj klasa typu tensora
kształt kształt tensora
rozmiar size w bajtach tensora lub -1, aby obliczyć rozmiar na podstawie kształtu
dataInitializer metoda odbierająca metodę dostępu do przydzielonych danych tensora w celu zainicjowania
Zwroty
  • przydzielony i zainicjowany tensor
Rzuty
IllegalArgumentException jeśli size jest mniejszy niż minimalna przestrzeń wymagana do przechowywania danych tensora
IllegalArgumentException jeśli size jest ustawiony na -1, ale elementy danego type mają zmienną długość (np. stringi)
IllegalArgumentException jeśli shape jest całkowicie lub częściowo unknown
IllegalStateException jeśli tensor nie został przydzielony

public static abstract T of (Class <T> type, Shape shape)

Przydziela tensor o podanym typie danych i kształcie.

Ilość pamięci do przydzielenia pochodzi z typu danych i kształtu tensora i pozostaje niezainicjowana.

Parametry
rodzaj klasa typu tensora
kształt kształt tensora
Zwroty
  • przydzielony, ale niezainicjowany tensor
Rzuty
IllegalArgumentException czy elementy danego type mają zmienną długość (np. stringi)
IllegalArgumentException jeśli shape jest całkowicie lub częściowo unknown
IllegalStateException jeśli tensor nie został przydzielony

public static abstract T of (Class <T> type, Shape shape, long size)

Przydziela tensor o podanym typie danych, kształcie i rozmiarze.

Ta metoda jest identyczna of(Class, Shape) , z tym wyjątkiem, ż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 mniejsza .

Parametry
rodzaj klasa typu tensora
kształt kształt tensora
rozmiar size w bajtach tensora lub -1, aby obliczyć rozmiar na podstawie kształtu
Zwroty
  • przydzielony, ale niezainicjowany tensor
Rzuty
IllegalArgumentException jeśli size jest mniejszy niż minimalna przestrzeń wymagana do przechowywania danych tensora
IllegalArgumentException jeśli size jest ustawiony na -1, ale elementy danego type mają zmienną długość (np. stringi)
IllegalArgumentException jeśli shape jest całkowicie lub częściowo unknown
IllegalStateException jeśli tensor nie został przydzielony
Zobacz też

public static abstract T of (Class <T> type, Shape shape, Consumer <T> dataInitializer)

Przydziela i inicjalizuje tensor o podanym typie danych i kształcie.

Ilość pamięci do przydzielenia jest określana na podstawie typu danych i kształtu tensora. Dane tensora są inicjowane przez wywołanie dataInitializer , który jako argument odbiera 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 nie powiedzie się i zgłosi wyjątek, przydzielony tensor zostanie automatycznie zwolniony przed ponownym zgłoszeniem tego samego wyjątku.

Parametry
rodzaj klasa typu tensora
kształt kształt tensora
dataInitializer metoda odbierająca metodę dostępu do przydzielonych danych tensora w celu zainicjowania
Zwroty
  • przydzielony i zainicjowany tensor
Rzuty
IllegalArgumentException czy elementy danego type mają zmienną długość (np. stringi)
IllegalArgumentException jeśli shape jest całkowicie lub częściowo unknown
IllegalStateException jeśli tensor nie został przydzielony

public static abstract T of (Class <T> type, Shape shape, ByteDataBuffer rawData)

Tworzy Tensor dowolnego typu z surowych danych dostarczonych przez dany bufor.

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

Parametry
rodzaj klasa typu tensora
kształt kształt tensora.
rawData bufor zawierający surowe dane tensora.
Rzuty
IllegalArgumentException jeśli rawData nie jest wystarczająco duża, aby pomieścić dane tensora
IllegalArgumentException jeśli shape jest całkowicie lub częściowo unknown
IllegalStateException jeśli tensorowi nie udało się przypisać podanych parametrów

publiczny abstrakcyjny kształt kształtu ()

Zwraca kształt tensora.