StridedSliceHelper

публичный абстрактный класс StridedSliceHelper

Вспомогательные методы конечной точки для Python, такие как индексирование.

Смотрите также

Публичные конструкторы

Публичные методы

статический <T расширяет TType > StridedSlice <T>
stridedSlice (область области действия , ввод операнда <T>, индекс... индексы)
Вернуть фрагмент с шагом из `input`.
статический <T расширяет TType > StridedSliceAssign <T>
stridedSliceAssign (область действия , ссылка на операнд <T>, значение операнда <T>, индекс... индексы)
Присвойте `value` срезанной ссылке l-значения `ref`.

Унаследованные методы

Публичные конструкторы

общественный StridedSliceHelper ()

Публичные методы

public static StridedSlice <T> stridedSlice (область области , ввод операнда <T>, индекс... индексы)

Вернуть фрагмент с шагом из `input`.

Целью этой операции является создание нового тензора с подмножеством элементов n-мерного «входного» тензора. Подмножество выбирается с использованием последовательности спецификаций разреженного диапазона m, закодированных в аргументах этой функции. Обратите внимание, что в некоторых случаях `m` может быть равно `n`, но это не обязательно. Каждая запись спецификации диапазона может быть одной из следующих:

- Многоточие (...) с использованием ellipsis() . Эллипсы используются для обозначения нуля или более измерений полноразмерного выбора. Например, stridedSlice(foo, Indices.ellipsis() — это срез идентификатора.

— Новая ось с использованием newAxis() . Используется для вставки нового размера shape=1. Например, ` stridedSlice(foo, Indices.newAxis()) , где foo — это форма (3, 4) , создает тензор (1, 3, 4) .

- Диапазон begin:end:stride с использованием slice(Long, Long, long) Index.slice()} или all() . Это используется для указания того, сколько выбрать из данного измерения. stride может быть любым целым числом, кроме 0. begin — это целое число, которое представляет индекс первого значения, которое нужно выбрать, а end представляет индекс последнего значения, которое нужно выбрать (исключающее). Начало и конец могут быть нулевыми, и в этом случае индекс начинается или заканчивается в начале или конце измерения соответственно (обратно, если шаг отрицательный). Когда оба значения равны нулю, slice() аналогичен all() . Количество значений, выбранных в каждом измерении: end - begin , если stride > 0 , и begin - end если stride < 0 . begin и end могут быть отрицательными, где -1 — последний элемент, -2 — предпоследний элемент. Например, для тензора stridedSlice(foo, Indices.all()) формы (3,) ) эффективные begin и end0 и 3 . Не думайте, что это эквивалентно stridedSlice(foo, Indices.slice(0, -1)) , эффективное begin и end которого равно 0 и 2 . Другой пример — stridedSlice(foo, Indices.slice(-2, null, -1)) который меняет первое измерение тензора, отбрасывая два последних (в элементах исходного порядка). Например, foo = [1,2,3,4]; stridedSlice(foo, Indices.slice(-2, null, -1) равно [4,3] .

— Один индекс с использованием at(long) . Это используется для хранения только элементов с заданным индексом. Например ( stridedSlice(foo, Indices.at(2)) на тензоре формы (5,6) создает тензор формы (6,) . Размерность можно сохранить с размером один, используя at(long, boolean) .

Эта семантика обычно соответствует семантике индексирования NumPy, которую можно найти здесь: https://numpy.org/doc/stable/reference/arrays.indexing.html .

Требования : `0 != шагов[i] для i в [0, m)` Только одно многоточие.

Параметры
объем текущий объем
индексы Индексы для среза. См. Indices .
Возврат
  • новый экземпляр StridedSlice
Смотрите также

public static StridedSliceAssign <T> stridedSliceAssign (область области действия , ссылка на операнд <T>, значение операнда <T>, индексы... )

Присвойте `value` срезанной ссылке l-значения `ref`.

Значения value присваиваются позициям переменной ref, выбранным параметрами среза. Параметры среза «begin», «end», «strides» и т. д. работают точно так же, как в «StridedSlice».

ПРИМЕЧАНИЕ. Эта операция в настоящее время не поддерживает широковещательную рассылку, поэтому форма `value` должна быть точно такой же, как и форма, созданная срезом `ref`.

Параметры
объем текущий объем
ссылка тензор, которому нужно назначить.
ценить значение, которое нужно назначить.
индексы Индексы для среза. См. Indices .
Возврат
  • новый экземпляр StridedSliceAssign