StridedSliceHelper

publiczna klasa abstrakcyjna StridedSliceHelper

Pomocnicze metody punktu końcowego dla języka Python, takie jak indeksowanie.

Zobacz też

Konstruktorzy publiczni

Metody publiczne

statyczny <T rozszerza TType > StridedSlice <T>
strdedSlice (zakres zakresu , wejście argumentu <T>, indeks... indeksy)
Zwróć plasterek krokowy z `input`.
statyczny <T rozszerza TType > StridedSliceAssign <T>
strdedSliceAssign (zakres zakresu , argument <T> ref, wartość argumentu <T>, indeks... indeksy)
Przypisz „wartość” do pokrojonego odniesienia do l-wartości „ref”.

Metody dziedziczone

Konstruktorzy publiczni

publiczny StridedSliceHelper ()

Metody publiczne

public static StridedSlice <T> strdedSlice (zakres zakresu , dane wejściowe argumentu <T>, indeks... indeksy)

Zwróć plasterek krokowy z `input`.

Celem tej operacji jest utworzenie nowego tensora z podzbiorem elementów z n-wymiarowego tensora „wejściowego”. Podzbiór jest wybierany przy użyciu sekwencji „m” specyfikacji rzadkiego zakresu zakodowanych w argumentach tej funkcji. Należy zauważyć, że w niektórych przypadkach „m” może być równe „n”, ale nie musi tak być. Każdy wpis specyfikacji zakresu może być jednym z następujących:

- Wielokropek (...) przy użyciu funkcji ellipsis() . Elipsy służą do sugerowania zera lub większej liczby wymiarów selekcji pełnowymiarowej. Na przykład stridedSlice(foo, Indices.ellipsis() jest wycinkiem tożsamości.

- Nowa oś przy użyciu newAxis() . Służy do wstawiania nowego wymiaru kształtu=1. Na przykład ` stridedSlice(foo, Indices.newAxis()) , gdzie foo jest kształtem (3, 4) tworzy tensor (1, 3, 4) .

- Zakres begin:end:stride przy użyciu slice(Long, Long, long) Index.slice()} lub all() . Służy do określenia ile wybrać z danego wymiaru. stride może być dowolną liczbą całkowitą, ale 0. begin to liczba całkowita reprezentująca indeks pierwszej wartości do wybrania, natomiast end reprezentuje indeks ostatniej wartości do wybrania (wyłącznie). Begin i end mogą mieć wartość null, w takim przypadku indeks zaczyna się lub kończy odpowiednio na początku lub na końcu wymiaru (odwrócony, jeśli krok jest ujemny). Gdy oba mają wartość null, slice() jest taki sam jak all() . Liczba wartości wybranych w każdym wymiarze to end - begin , jeśli stride > 0 i begin - end jeśli stride < 0 . begin i end mogą być ujemne, gdzie -1 to ostatni element, -2 to przedostatni element. Na przykład, biorąc pod uwagę kształt (3,) tensor stridedSlice(foo, Indices.all()) , efektywny begin i end to 0 i 3 . Nie zakładaj, że jest to równoważne stridedSlice(foo, Indices.slice(0, -1)) , którego efektywny begin i end wynoszą 0 i 2 . Innym przykładem jest stridedSlice(foo, Indices.slice(-2, null, -1)) , który odwraca pierwszy wymiar tensora, usuwając dwa ostatnie (w oryginalnej kolejności elementów). Na przykład foo = [1,2,3,4]; stridedSlice(foo, Indices.slice(-2, null, -1) to [4,3] .

- Pojedynczy indeks przy użyciu at(long) . Służy do przechowywania tylko elementów, które mają dany indeks. Na przykład ( stridedSlice(foo, Indices.at(2)) na tensorze kształtu (5,6) tworzy tensor kształtu (6,) . Wymiar można zachować przy rozmiarze pierwszym, używając at(long, boolean) .

Semantyka ta jest zazwyczaj zgodna z semantyką indeksowania NumPy, którą można znaleźć tutaj: https://numpy.org/doc/stable/reference/arrays.indexing.html

Wymagania : `0 != kroków[i] dla i w [0, m)` Tylko jedna elipsa.

Parametry
zakres aktualny zakres
indeksy Indeksy do wycięcia. Zobacz Indices .
Zwroty
  • nowa instancja StridedSlice
Zobacz też

public static StridedSliceAssign <T> strdedSliceAssign (zakres zakresu , argument <T> ref, wartość argumentu <T>, indeks... indeksy)

Przypisz „wartość” do pokrojonego odniesienia do l-wartości „ref”.

Wartości „value” są przypisywane pozycjom zmiennej „ref”, które są wybrane przez parametry plasterka. Parametry plasterka `begin`, `end`, `strides` itp. działają dokładnie tak samo jak w `StridedSlice`.

UWAGA ta operacja obecnie nie obsługuje rozgłaszania, więc kształt `value` musi być dokładnie taki sam, jak wycinek `ref`.

Parametry
zakres aktualny zakres
ref tensor, do którego ma zostać przypisany.
wartość wartość do przypisania.
indeksy Indeksy do wycięcia. Zobacz Indices .
Zwroty
  • nowa instancja StridedSliceAssign