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 | |
streszczenie statyczny <T rozszerza TType > T | |
streszczenie statyczny <T rozszerza TType > T | |
streszczenie statyczny <T rozszerza TType > T | |
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 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 IllegalState | jeśli nie przydzielono tensora |
Zobacz także
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 przydzielono 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 przydzielono 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 |