다음을 통해 공유


TensorSpan<T> 구조체

정의

TensorSpan은 임의 메모리의 연속 영역을 나타냅니다. 배열과 달리 관리되는 메모리 또는 네이티브 메모리 또는 스택에 할당된 메모리를 가리킬 수 있습니다. 형식이 안전하며 메모리가 안전합니다.

generic <typename T>
public value class TensorSpan
[System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5001", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public readonly ref struct TensorSpan<T>
[<System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5001", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type TensorSpan<'T> = struct
Public Structure TensorSpan(Of T)

형식 매개 변수

T
상속
TensorSpan<T>
특성

생성자

TensorSpan<T>(Array)

제공된 Array대해 새 TensorSpan<T> 만듭니다. 새 TensorSpan<T> 순위는 1이고 길이는 제공된 Array길이와 같습니다.

TensorSpan<T>(Array, ReadOnlySpan<Int32>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

지정된 시작 오프셋, 길이 및 보폭을 사용하여 제공된 Array 대해 새 TensorSpan<T> 만듭니다. 보폭이 제공되지 않으면 자동으로 계산됩니다.

TensorSpan<T>(Array, ReadOnlySpan<NIndex>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

지정된 시작 오프셋, 길이 및 보폭을 사용하여 제공된 Array 대해 새 TensorSpan<T> 만듭니다. 보폭이 제공되지 않으면 자동으로 계산됩니다.

TensorSpan<T>(Span<T>)

제공된 Span<T>대해 새 TensorSpan<T> 만듭니다. 새 TensorSpan<T> 순위는 1이고 길이는 제공된 Span<T>길이와 같습니다.

TensorSpan<T>(Span<T>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

지정된 길이와 보폭을 사용하여 제공된 Span<T> 대해 새 TensorSpan<T> 만듭니다. 보폭이 제공되지 않으면 자동으로 계산됩니다.

TensorSpan<T>(T*, IntPtr)

관리되지 않는 대상 버퍼에 대해 새 범위를 만듭니다. 분명히 이것은 길이가 확인되지 않는 매우 위험합니다. 그러나 이 생성이 올바르면 모든 후속 용도가 올바릅니다.

TensorSpan<T>(T*, IntPtr, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

관리되지 않는 대상 버퍼에 대해 새 범위를 만듭니다. 길이가 확인되지 않기 때문에 분명히 이것은 매우 위험합니다. 그러나 이 생성이 올바르면 모든 후속 용도가 올바릅니다.

TensorSpan<T>(T[])

대상 배열 전체에 걸쳐 새 범위를 만듭니다.

TensorSpan<T>(T[], Index, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

'start' 인덱스에서 시작하여 'end' 인덱스(배타적)로 끝나는 대상 배열 부분에 대해 새 범위를 만듭니다.

TensorSpan<T>(T[], Int32, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

'start' 인덱스에서 시작하여 'end' 인덱스(배타적)로 끝나는 대상 배열 부분에 대해 새 범위를 만듭니다.

속성

Empty

TensorSpan<T> 반환합니다.

FlattenedLength

범위의 항목 수입니다.

IsEmpty

TensorSpan<T> 비어 있는지 여부를 나타내는 값을 가져옵니다.

Item[ReadOnlySpan<IntPtr>]

TensorSpan의 지정된 요소에 대한 참조를 반환합니다.

Item[ReadOnlySpan<NIndex>]

TensorSpan의 지정된 요소에 대한 참조를 반환합니다.

Item[ReadOnlySpan<NRange>]

TensorSpan의 조각을 반환합니다.

Lengths

TensorSpan<T>각 차원의 길이를 가져옵니다.

Rank

TensorSpan<T>차원 수와 같은 순위를 가져옵니다.

Strides

TensorSpan<T> 진행을 가져옵니다.

메서드

Clear()

이 범위의 내용을 지웁니다.

CopyTo(TensorSpan<T>)

이 범위의 내용을 대상 범위에 복사합니다. 원본과 대상이 겹치면 이 메서드는 대상을 덮어쓰기 전에 임시 위치에 있는 원래 값처럼 동작합니다.

Equals(Object)
사용되지 않음.

범위를 boxed할 수 없으므로 이 메서드는 지원되지 않습니다. 두 범위를 비교하려면 operator==를 사용합니다.

Fill(T)

이 범위의 내용을 지정된 값으로 채웁니다.

FlattenTo(Span<T>)

이 범위의 내용을 제공된 Span<T>평면화합니다.

GetEnumerator()

이 범위에 대한 열거자를 가져옵니다.

GetHashCode()
사용되지 않음.

범위를 boxed할 수 없으므로 이 메서드는 지원되지 않습니다.

GetPinnableReference()

TensorSpan의 0번째 요소에 대한 참조를 반환합니다. TensorSpan이 비어 있으면 null 참조를 반환합니다. 고정에 사용할 수 있으며 고정 문 내에서 범위 사용을 지원하는 데 필요합니다.

Slice(ReadOnlySpan<NIndex>)

TensorSpan의 지정된 요소에 대한 참조를 반환합니다.

Slice(ReadOnlySpan<NRange>)

지정된 범위에서 조각을 형성합니다.

ToString()

Span<T>범위가 가리키는 문자를 나타내는 문자열의 새 인스턴스를 반환합니다. 그렇지 않으면 형식의 이름과 요소 수가 포함된 String 반환합니다.

TryCopyTo(TensorSpan<T>)

이 범위의 내용을 대상 범위에 복사합니다. 원본과 대상이 겹치면 이 메서드는 대상을 덮어쓰기 전에 임시 위치에 있는 원래 값처럼 동작합니다.

TryFlattenTo(Span<T>)

이 범위의 내용을 제공된 Span<T>평면화합니다.

연산자

Equality(TensorSpan<T>, TensorSpan<T>)

동일한 메모리에서 왼쪽 및 오른쪽 점의 길이가 같으면 true를 반환합니다. 내용이 같은지 확인할 없습니다.

Implicit(T[] to TensorSpan<T>)

TensorSpan은 임의 메모리의 연속 영역을 나타냅니다. 배열과 달리 관리되는 메모리 또는 네이티브 메모리 또는 스택에 할당된 메모리를 가리킬 수 있습니다. 형식이 안전하며 메모리가 안전합니다.

Implicit(TensorSpan<T> to ReadOnlyTensorSpan<T>)

TensorSpan<T> ReadOnlyTensorSpan<T>변환합니다.

Inequality(TensorSpan<T>, TensorSpan<T>)

동일한 메모리에서 왼쪽 및 오른쪽 점의 길이가 같으면 false를 반환합니다. 내용이 같은지 확인할 없습니다.

확장 메서드

BroadcastTo<T>(TensorSpan<T>, TensorSpan<T>)

데이터를 sourcedestination브로드캐스트합니다.

FilteredUpdate<T>(TensorSpan<T>, ReadOnlyTensorSpan<Boolean>, T)

filter true인 valuetensor 텐서를 업데이트합니다.

FilteredUpdate<T>(TensorSpan<T>, ReadOnlyTensorSpan<Boolean>, ReadOnlyTensorSpan<T>)

filter true인 valuestensor 텐서를 업데이트합니다. 차원이 동일하지 않으면 예외가 throw됩니다.

Reshape<T>(TensorSpan<T>, ReadOnlySpan<IntPtr>)

지정된 lengthstensor 텐서를 바꿉니다. 길이 중 하나가 -1이면 자동으로 계산됩니다. 기본 메모리의 길이를 변경하지 않으며 새 메모리를 할당하지도 않습니다. 새 셰이프가 이전 셰이프와 호환되지 않으면 예외가 throw됩니다.

SequenceEqual<T>(TensorSpan<T>, ReadOnlyTensorSpan<T>)

IEquatable{T}을 사용하여 요소를 비교하여 두 시퀀스가 같은지 여부를 결정합니다. Equals(T).

SetSlice<T>(TensorSpan<T>, ReadOnlyTensorSpan<T>, ReadOnlySpan<NRange>)

지정된 ranges 제공된 values 사용하여 지정된 tensor 조각을 설정합니다.

Squeeze<T>(TensorSpan<T>)

tensor길이 1의 모든 차원을 제거합니다.

SqueezeDimension<T>(TensorSpan<T>, Int32)

지정된 dimension대한 tensor 길이 1의 축을 제거합니다. 차원이 길이가 1이 아니면 예외가 throw됩니다.

ToString<T>(TensorSpan<T>, ReadOnlySpan<IntPtr>)

TensorSpan<T>."의 String 표현을 만듭니다. />

TryBroadcastTo<T>(TensorSpan<T>, TensorSpan<T>)

tensor 데이터를 destination 호환되는 가장 작은 브로드캐스트 가능한 셰이프로 브로드캐스트하고 destination 셰이프가 호환되지 않으면 false가 반환됩니다.

Unsqueeze<T>(TensorSpan<T>, Int32)

차원 위치에 표시할 길이 1의 새 차원을 삽입합니다.

적용 대상