StridedSliceHelper

공개 추상 클래스 StridedSliceHelper

인덱싱과 같은 Python용 도우미 엔드포인트 메서드입니다.

또한보십시오

공공 생성자

공개 방법

static <T는 TType을 확장합니다. > StridedSlice <T>
stridedSlice ( 범위 범위, 피연산자 <T> 입력, 인덱스... 인덱스)
`input`에서 스트라이드 슬라이스를 반환합니다.
static <T는 TType을 확장합니다. > StridedSliceAssign <T>
stridedSliceAssign ( 범위 범위, Operand <T> 참조, Operand <T> 값, Index... 인덱스)
'ref'의 슬라이스된 l-value 참조에 'value'를 할당합니다.

상속된 메서드

공공 생성자

공개 StridedSliceHelper ()

공개 방법

public static StridedSlice <T> stridedSlice ( 범위 범위, 피연산자 <T> 입력, 인덱스... 인덱스)

`input`에서 스트라이드 슬라이스를 반환합니다.

이 작업의 목표는 'n' 차원 '입력' 텐서의 요소 하위 집합을 사용하여 새 텐서를 생성하는 것입니다. 하위 집합은 이 함수의 인수로 인코딩된 일련의 'm' 희소 범위 지정을 사용하여 선택됩니다. 어떤 경우에는 'm'이 'n'과 같을 수도 있지만 반드시 그럴 필요는 없습니다. 각 범위 지정 항목은 다음 중 하나일 수 있습니다.

- ellipsis ellipsis() . 타원은 전체 차원 선택의 차원이 0개 이상임을 암시하는 데 사용됩니다. 예를 들어 stridedSlice(foo, Indices.ellipsis() 는 ID 슬라이스입니다.

- newAxis() 사용하는 새 축. 이는 새로운 모양=1 치수를 삽입하는 데 사용됩니다. 예를 들어 ` stridedSlice(foo, Indices.newAxis())foo(3, 4) 모양인 경우 (1, 3, 4) 텐서를 생성합니다.

- slice(Long, Long, long) Index.slice()} 또는 all() 을 사용하는 범위 begin:end:stride . 이는 주어진 차원에서 선택할 정도를 지정하는 데 사용됩니다. stride 0을 제외한 모든 정수일 수 있습니다. begin 은 선택할 첫 번째 값의 인덱스를 나타내는 정수이고 end 선택할 마지막 값의 인덱스(제외)를 나타냅니다. Begin 및 end는 null일 수 있으며, 이 경우 인덱스는 각각 차원의 시작 또는 끝에서 시작하거나 끝납니다(stride가 음수인 경우 반전됨). 둘 다 null인 경우, slice() all() 과 동일합니다. 각 차원에서 선택된 값의 수는 stride > 0 인 경우 end - begin 이고 stride < 0 인 경우 begin - end . beginend 음수일 수 있습니다. 여기서 -1 은 마지막 요소이고 -2 는 마지막에서 두 번째 요소입니다. 예를 들어, (3,) 텐서 stridedSlice(foo, Indices.all()) 모양이 주어지면 유효한 beginend 03 입니다. 이것이 효과적인 beginend02stridedSlice(foo, Indices.slice(0, -1)) 과 동일하다고 가정하지 마십시오. 또 다른 예는 stridedSlice(foo, Indices.slice(-2, null, -1)) 입니다. 이는 텐서의 첫 번째 차원을 뒤집으면서 마지막 두 차원을 삭제합니다(원래 순서 요소). 예를 들어 foo = [1,2,3,4]; stridedSlice(foo, Indices.slice(-2, null, -1)[4,3] 입니다.

- at(long) 을 사용하는 단일 인덱스. 이는 특정 인덱스가 있는 요소만 유지하는 데 사용됩니다. 예를 들어 모양 (5,6) 텐서의 ( stridedSlice(foo, Indices.at(2)) 는 모양 (6,) 텐서를 생성합니다. 차원은 at(long, boolean) 사용하여 크기 1로 유지할 수 있습니다.

이러한 의미론은 일반적으로 NumPy의 인덱싱 의미론을 따르며, 이는 https://numpy.org/doc/stable/reference/arrays.indexing.html 에서 찾을 수 있습니다.

요구사항 : `0 != strides[i] for i in [0, m)` 단 하나의 줄임표.

매개변수
범위 현재 범위
지수 슬라이스할 인덱스입니다. Indices 참조하십시오.
보고
  • StridedSlice의 새로운 인스턴스
또한보십시오

public static StridedSliceAssign <T> stridedSliceAssign ( 범위 범위, 피연산자 <T> 참조, 피연산자 <T> 값, 인덱스... 인덱스)

'ref'의 슬라이스된 l-value 참조에 'value'를 할당합니다.

'value'의 값은 슬라이스 매개변수에 의해 선택된 변수 'ref'의 위치에 할당됩니다. 슬라이스 매개변수 `begin`, `end`, `strides` 등은 `StridedSlice`에서와 똑같이 작동합니다.

참고 이 작업은 현재 브로드캐스팅을 지원하지 않으므로 '값'의 모양은 정확히 'ref' 조각에 의해 생성된 모양이어야 합니다.

매개변수
범위 현재 범위
심판 할당할 텐서.
할당할 값입니다.
지수 슬라이스할 인덱스입니다. Indices 참조하십시오.
보고
  • StridedSliceAssign의 새 인스턴스