Kształt Tensora lub NdArray
.
Shape
definiuje rozmiary wzdłuż swoich osi. Może zawierać nieznany rozmiar jednej z osi lub może być całkowicie nieznany, w takim przypadku nie jest znana nawet liczba osi. Jeżeli rozmiar osi nie jest znany, jako jej rozmiar należy przyjąć UNKNOWN_SIZE
.
Pola
publiczny statyczny długi | NIEZNANY_ROZMIAR | Rozmiar nieznanej osi lub całkowity nieznany rozmiar nieznanego kształtu. |
Metody publiczne
Kształt | dołącz (długi ostatni wymiar) Zwraca nowy Shape z dodanym nowym ostatnim wymiarem. |
Kształt | |
długi[] | asArray () Zwraca kopię obronną osi tego kształtu. |
wartość logiczna | równa się (obiekt obiektu) Równa się implementacji dla kształtów. |
wartość logiczna | ma nieznany wymiar () Zwraca informację, czy jeden lub więcej wymiarów tego Shape ma nieznany rozmiar. |
wew | hashCode () |
Kształt | głowa () Zwraca jednowymiarowy Shape, w którym pierwszy wymiar odpowiada pierwszemu wymiarowi tego Shape. |
statyczna wartość logiczna | jest kompatybilny (długi przyciemniony, długi inny przyciemniony) Sprawdź, czy dwa wymiary kształtu są zgodne. |
wartość logiczna | |
wartość logiczna | isMatrix () Zwraca czy ten Shape jest kształtem macierzy |
wartość logiczna | jestSkalarny () Zwraca informację, czy ten Shape reprezentuje skalar. |
wartość logiczna | jest nieznany () Zwraca informację, czy liczba wymiarów tego Shape jest nieznana. |
wartość logiczna | jestWektor () Zwraca informację, czy ten Shape jest kształtem wektora. |
wew | liczba wymiarów () Zwraca liczbę wymiarów tego Shape. |
statyczny kształt | z (długich... wymiarów) Utwórz kształt reprezentujący wartość skalarną lub N-wymiarową. |
Kształt | |
Kształt | dołącz (długi pierwszy wymiar) Zwraca nowy Shape z dodanym nowym pierwszym wymiarem. |
statyczny kształt | skalarny () Tworzy Shape reprezentujący wartość skalarną. |
długi | rozmiar (int i) Rozmiar wymiaru o podanym indeksie. |
długi | rozmiar () Zwraca całkowitą liczbę elementów, jakie miałby Tensor z tym kształtem. |
Kształt | subShape (int początek, int koniec) Zwróć kształt wymiarowy end - begin o wymiarach pasujących do tego kształtu od begin do end . |
Kształt | ogon () Zwraca nowy Shape z usuniętym pierwszym wymiarem tego Shape. |
Kształt | weź (int n) Zwraca n-wymiarowy Shape o wymiarach odpowiadających pierwszym n wymiarom tego kształtu |
Kształt | weźOstatnie (int n) Zwraca n-wymiarowy Shape o wymiarach pasujących do ostatnich n wymiarów tego Shape. |
Smyczkowy | doString () Zwięzły opis kształtu przeznaczonego do debugowania. |
statyczny kształt | nieznany () Tworzy Shape reprezentujący nieznaną liczbę wymiarów. |
Metody dziedziczone
Pola
publiczny statyczny długi UNKNOWN_SIZE
Rozmiar nieznanej osi lub całkowity nieznany rozmiar nieznanego kształtu.
Metody publiczne
publiczne dołączanie kształtu (długie wymiary)
Zwraca nowy Shape z dodanym nowym ostatnim wymiarem. Aby to wywołanie zakończyło się sukcesem, isUnknown()
musi mieć wartość false
.
Parametry
ostatni wymiar | wymiar do dołączenia |
---|
Powroty
- nowy kształt z wymiarami tego kształtu, po których następuje podany wymiar, nigdy zerowy
publiczny Kształt dołącz ( kształt inny)
Zwraca nowy kształt z dołączonymi wymiarami innego kształtu. Zarówno w przypadku tego kształtu, jak i drugiego kształtu funkcja isUnknown()
musi zwracać wartość false. Np. @code Kształt.of(3,4).append(Shape.of(1,2)) => Kształt.of(3,4,1,2) }
Parametry
Inny | inny kształt nie może mieć null i nie może być nieznany |
---|
Powroty
- Nowy Shape składający się z wymiarów tego Shape, po których następują wymiary danego Shape
public long[] asArray ()
Zwraca kopię obronną osi tego kształtu. Zmiany w zwróconej tablicy, aby nie zmieniać stanu tego kształtu. Zwraca wartość null, jeśli isUnknown()
ma wartość true.
publiczna wartość logiczna równa się (obiekt obiektu)
Równa się implementacji dla kształtów. Dwa Kształty są uważane za równe, jeśli:
- liczba wymiarów jest zdefiniowana i równa dla obu
- wielkość każdego wymiaru jest zdefiniowana i równa dla obu
Jeśli którykolwiek z kształtów ma nieznane wymiary (nawet jeśli są takie same w obu) lub jeśli którykolwiek kształt ma nieznaną liczbę wymiarów (nawet jeśli oba zwrócą true
dla isUnknown()
), nie są one uważane za równe! Jednak kształt zawsze będzie sobie równy, nawet jeśli jest nieznany lub zawiera nieznane wymiary.
publiczna wartość logiczna maUnknownDimension ()
Zwraca informację, czy jeden lub więcej wymiarów tego Shape ma nieznany rozmiar.
publiczny int hashCode ()
publiczna głowa kształtu ()
Zwraca jednowymiarowy Shape, w którym pierwszy wymiar odpowiada pierwszemu wymiarowi tego Shape.
publiczna statyczna wartość logiczna isCompatible (długie przyciemnienie, długie inne przyciemnienie)
Sprawdź, czy dwa wymiary kształtu są zgodne.
Wymiary są zgodne, jeśli którykolwiek z wymiarów to Shape.UNKNOWN_SIZE
lub oba wymiary są równe
Parametry
ciemny | pierwszy wymiar |
---|---|
innePrzyciemnienie | drugi wymiar |
Powroty
- prawda, jeśli oba wymiary są zgodne
publiczna wartość logiczna isCompatibleWith (kształt kształtu )
Określa, czy inny kształt jest zgodny z tym.
Dwa potencjalnie częściowo zdefiniowane kształty są kompatybilne, jeśli istnieje w pełni zdefiniowany kształt, który oba kształty mogą reprezentować. Zatem zgodność umożliwia kodowi wnioskowania o kształcie wnioskowanie o częściowo zdefiniowanych kształtach. Na przykład:
-
Shape.unknown()
jest kompatybilna ze wszystkimi kształtami. -
Shape(UNKNOWN_SIZE, UNKNOWN_SIZE)
jest kompatybilny ze wszystkimi kształtami dwuwymiarowymi, takimi jakShape(32, 784)
, a takżeShape.unknown()
. Nie jest kompatybilny na przykład zShape(UNKNOWN_SIZE)
lubShape(UNKNOWN_SIZE, UNKNOWN_SIZE, UNKNOWN_SIZE)
. -
Shape(32, UNKNOWN_SIZE)
jest kompatybilny ze wszystkimi dwuwymiarowymi kształtami o rozmiarze 32 w wymiarze 0, a takżeShape(UNKNOWN_SIZE, UNKNOWN_SIZE)
iShape.unknown()
. Nie jest kompatybilny na przykład zShape(32)
,Shape(32, UNKNOWN_SIZE, 1)
lubShape(64, UNKNOWN_SIZE)
. -
Shape(32, 784)
jest kompatybilny sam ze sobą, a takżeShape(32, UNKNOWN_SIZE)
,Shape(UNKNOWN_SIZE, 784)
,Shape(UNKNOWN_SIZE, UNKNOWN_SIZE)
iShape.unknown()
. Nie jest kompatybilny na przykład zShape(32, 1, 784)
lubShape(UNKNOWN_SIZE)
.
Relacja zgodności jest zwrotna i symetryczna, ale nie przechodnia. Na przykład Shape(32, 784)
jest zgodna z Shape.unknown()
, a Shape.unknown()
jest zgodna z Shape(4, 4)
, ale Shape(32, 784)
nie jest zgodna z Shape(4, 4)
.
Kompatybilność to nie to samo, co nadawanie. Kompatybilne kształty muszą mieć tę samą liczbę wymiarów i dla każdej pary wymiarów jeden wymiar musi być równy pozostałym wymiarom lub co najmniej jeden z wymiarów w parze musi mieć wartość UNKNOWN_SIZE.
Rozgłaszanie umożliwia różne wymiary, ale wymiary w parach muszą być równe lub jeden wymiar musi wynosić 1. Jeśli jeden kształt ma mniejsze wymiary niż inny, mniejszy kształt jest „rozciągany” i ma wymiary 1.
Parametry
kształt | Drugi kształt |
---|
Powroty
- prawda, jeśli te dwa kształty są kompatybilne.
publiczna wartość logiczna isMatrix ()
Zwraca czy ten Shape jest kształtem macierzy
publiczna wartość logiczna isScalar ()
Zwraca informację, czy ten Shape reprezentuje skalar.
publiczna wartość logiczna jest nieznana ()
Zwraca informację, czy liczba wymiarów tego Shape jest nieznana.
publiczna wartość logiczna isVector ()
Zwraca informację, czy ten Shape jest kształtem wektora.
public int numDimensions ()
Zwraca liczbę wymiarów tego Shape. -1 jeśli nieznane, 0 dla skalara, 1 dla wektora, 2 dla macierzy itd.
publiczny statyczny Kształt ( długi... wymiarRozmiary)
Utwórz kształt reprezentujący wartość skalarną lub N-wymiarową.
Tworzy Shape reprezentujący wartość skalarną lub N-wymiarową (N wynosi co najmniej 1) z podanym rozmiarem dla każdego wymiaru. Wartość -1 wskazuje, że rozmiar odpowiedniego wymiaru jest nieznany. Jeśli nie podano żadnych rozmiarów, tworzony jest Shape reprezentujący skalar. Na przykład:
// A 2-element vector.
Shape vector = Shape.of(2);
// A 2x3 matrix.
Shape matrix = Shape.of(2, 3);
// A matrix with 4 columns but an unknown number of rows.
// This is typically used to indicate the shape of tensors that represent
// a variable-sized batch of values. The Shape below might represent a
// variable-sized batch of 4-element vectors.
Shape batch = Shape.of(-1, 4);
// A scalar. For readability, you should prefer calling Shape.scalar()
Shape scalar = Shape.of()
Parametry
wymiarRozmiary | liczba elementów w każdym wymiarze tego kształtu, jeśli istnieje, lub UNKNOWN_SIZE , jeśli nie jest znana. |
---|
Powroty
- nowy kształt
publiczny Kształt dodawany na początku ( kształt inny)
Zwraca nowy Shape z dołączonymi wymiarami innego Shape. Zarówno w przypadku tego kształtu, jak i drugiego kształtu funkcja isUnknown()
musi zwracać wartość false. Np. Shape.of(3,4).prepend(Shape.of(1,2)) => Shape.of(1,2,3,4)
Parametry
Inny | inny kształt nie może mieć null i nie może być nieznany |
---|
Powroty
- Nowy Shape składający się z wymiarów danego Shape, po których następują wymiary tego Shape, nigdy o wartości null
Dodatek publicznego kształtu (długi pierwszy wymiar)
Zwraca nowy Shape z dodanym nowym pierwszym wymiarem. Aby to wywołanie zakończyło się sukcesem, isUnknown()
musi mieć wartość false
.
Parametry
pierwszy wymiar | wymiar do dodania |
---|
Powroty
- najpierw nowy kształt o podanym wymiarze, po którym następują wymiary tego kształtu, nigdy o wartości null
publiczny statyczny Kształt skalarny ()
Tworzy Shape reprezentujący wartość skalarną.
Powroty
- Kształt bez wymiarów, dla którego
isScalar()
ma wartość true, nigdy nie ma wartości null.
publiczny długi rozmiar (int i)
Rozmiar wymiaru o podanym indeksie.
Jeśli isUnknown()
ma wartość true lub rozmiar wymiaru o podanym indeksie ma nieznany rozmiar, zwracana jest UNKNOWN_SIZE
.
Parametry
I | indeks wymiaru, dla którego ma zostać pobrany rozmiar. Jeśli ten kształt ma znaną liczbę wymiarów, musi to być < numDimensions() . Indeks może być ujemny, w takim przypadku pozycja jest liczona od końca kształtu. Np.: size(-1) zwraca rozmiar ostatniego wymiaru, size(-2) rozmiar przedostatniego wymiaru itd. |
---|
Powroty
- Rozmiar wymiaru o podanym indeksie, jeśli jest znany, w przeciwnym razie
UNKNOWN_SIZE
.
publiczny długi rozmiar ()
Zwraca całkowitą liczbę elementów, jakie miałby Tensor z tym kształtem.
Jeśli isUnknown()
ma wartość true lub hasUnknownDimension()
ma wartość true, zwracana jest UNKNOWN_SIZE
.
Powroty
- Całkowita liczba elementów, jakie miałby Tensor o tym kształcie, gdyby można ją było obliczyć, w przeciwnym razie
UNKNOWN_SIZE
.
publiczny podkształt kształtu (int początek, int koniec)
Zwróć kształt wymiarowy end - begin
o wymiarach pasujących do tego kształtu od begin
do end
.
Parametry
zaczynać | Od czego zacząć kształt podrzędny. |
---|---|
koniec | Gdzie zakończyć podkształt, ekskluzywnie. |
Powroty
- podkształt ograniczony początkiem i końcem.
publiczny Przyjmowanie kształtu (int n)
Zwraca n-wymiarowy Shape o wymiarach odpowiadających pierwszym n wymiarom tego kształtu
Parametry
N | liczba wymiarów wiodących do uzyskania musi być <= niż numDimensions() |
---|
Powroty
- n-wymiarowy kształt, którego pierwsze n wymiary odpowiadają pierwszym n wymiarom tego kształtu
public Kształt TakeLast (int n)
Zwraca n-wymiarowy Shape o wymiarach pasujących do ostatnich n wymiarów tego Shape.
Parametry
N | liczba końcowych wymiarów do pobrania musi być <= niż numDimensions() |
---|
Powroty
- n-wymiarowy kształt o wymiarach odpowiadających n ostatnim wymiarom tego kształtu, nigdy zerowy
publiczny ciąg do ciągu ()
Zwięzły opis kształtu przeznaczonego do debugowania.
publiczny statyczny Kształt nieznany ()
Tworzy Shape reprezentujący nieznaną liczbę wymiarów.
Powroty
- Kształt, dla którego
isUnknown()
ma wartość true, nigdy nie ma wartości null.