ShapedArraySlice

@frozen
public struct ShapedArraySlice<Scalar> : _ShapedArrayProtocol
extension ShapedArraySlice: RandomAccessCollection, MutableCollection
extension ShapedArraySlice: CustomStringConvertible
extension ShapedArraySlice: CustomPlaygroundDisplayConvertible
extension ShapedArraySlice: CustomReflectable
extension ShapedArraySlice: ExpressibleByArrayLiteral where Scalar: TensorFlowScalar
extension ShapedArraySlice: Equatable where Scalar: Equatable
extension ShapedArraySlice: Hashable where Scalar: Hashable
extension ShapedArraySlice: Codable where Scalar: Codable

Ciągły wycinek instancji ShapedArray lub ShapedArraySlice .

ShapedArraySlice umożliwia szybkie i wydajne operacje na sąsiadujących wycinkach instancji ShapedArray . Instancje ShapedArraySlice nie mają własnego magazynu. Zamiast tego zapewniają wgląd w przechowywanie ich podstawowej ShapedArray . ShapedArraySlice może reprezentować dwa różne rodzaje plasterków: tablice elementów i podtablice.

Tablice elementów są elementami podwymiarowymi ShapedArray : ich ranga jest o jeden mniejsza niż ich podstawa. Wycinki tablicy elementów uzyskuje się poprzez indeksowanie instancji ShapedArray pojedynczym indeksem Int32 .

Na przykład:

    var matrix = ShapedArray(shape: [2, 2], scalars: [0, 1, 2, 3])
    // `matrix` represents [[0, 1], [2, 3]].

    let element = matrix[0]
    // `element` is a `ShapedArraySlice` with shape [2]. It is an element
    // array, specifically the first element in `matrix`: [0, 1].

    matrix[1] = ShapedArraySlice(shape: [2], scalars: [4, 8])
    // The second element in `matrix` has been mutated.
    // `matrix` now represents [[0, 1, 4, 8]].

Podtablice to ciągły zakres elementów w ShapedArray . Ranga podtablicy jest taka sama jak jej podstawy, ale jej wymiarem wiodącym jest liczba zakresu wycinka. Wycinki podtablicy uzyskuje się przez indeksowanie ShapedArray z Range<Int32> , który reprezentuje zakres elementów (w wymiarze wiodącym). Metody takie jak prefix(:) i suffix(:) które wewnętrznie indeksują zakres, również tworzą podtablicę.

Na przykład:

    let zeros = ShapedArray(repeating: 0, shape: [3, 2])
    var matrix = ShapedArray(shape: [3, 2], scalars: Array(0..<6))
    // `zeros` represents [[0, 0], [0, 0], [0, 0]].
    // `matrix` represents [[0, 1], [2, 3], [4, 5]].

    let subarray = matrix.prefix(2)
    // `subarray` is a `ShapedArraySlice` with shape [2, 2]. It is a slice
    // of the first 2 elements in `matrix` and represents [[0, 1], [2, 3]].

    matrix[0..<2] = zeros.prefix(2)
    // The first 2 elements in `matrix` have been mutated.
    // `matrix` now represents [[0, 0], [0, 0], [4, 5]].
  • Liczba wymiarów tablicy.

    Deklaracja

    public var rank: Int { get }
  • Kształt tablicy.

    Deklaracja

    public var shape: [Int] { get }
  • Całkowita liczba skalarów w tablicy.

    Deklaracja

    public var scalarCount: Int { get }
  • Tworzy ShapedArraySlice o określonym kształcie i sąsiadujących skalarach w kolejności od głównych wierszy.

    Warunek wstępny

    Liczba skalarów musi być równa iloczynowi wymiarów kształtu.

    Deklaracja

    public init(shape: [Int], scalars: [Scalar])
  • Tworzy ShapedArraySlice o określonym kształcie i sekwencji skalarów w kolejności głównych wierszy.

    Warunek wstępny

    Liczba skalarów musi być równa iloczynowi wymiarów kształtu.

    Deklaracja

    public init<S>(shape: [Int], scalars: S) where Scalar == S.Element, S : Sequence
  • Tworzy ShapedArraySlice na podstawie wartości skalarnej.

    Deklaracja

    public init(_ scalar: Scalar)
  • Tworzy ShapedArraySlice o określonym kształcie i pojedynczej, powtarzanej wartości skalarnej.

    Deklaracja

    @available(*, deprecated, renamed: "init(repeating:shape:﹚")
    public init(shape: [Int], repeating repeatedValue: Scalar)

    Parametry

    repeatedValue

    Wartość skalarna do powtórzenia.

    shape

    Kształt ShapedArraySlice .

  • Tworzy ShapedArraySlice o określonym kształcie i pojedynczej, powtarzanej wartości skalarnej.

    Deklaracja

    public init(repeating repeatedValue: Scalar, shape: [Int])

    Parametry

    repeatedValue

    Wartość skalarna do powtórzenia.

    shape

    Kształt ShapedArraySlice .

  • Zakres skalarów z podstawowego ShapedArray reprezentowany przez ShapedArraySlice .

    Deklaracja

    var scalarRange: Range<Int> { get }
  • Wywołuje zamknięcie ze wskaźnikiem do ciągłego magazynu ShapedArraySlice .

    Deklaracja

    public func withUnsafeBufferPointer<Result>(
      _ body: (UnsafeBufferPointer<Scalar>) throws -> Result
    ) rethrows -> Result

    Parametry

    body

    Zamknięcie z parametrem UnsafeBufferPointer wskazującym ciągły magazyn dla ShapedArraySlice . Jeżeli taki magazyn nie istnieje, zostanie on utworzony. Jeśli treść ma wartość zwracaną, wartość ta jest również używana jako wartość zwracana dla metody withUnsafeBufferPointer(_:) . Argument wskaźnika jest ważny tylko przez czas wykonywania metody.

  • Wywołuje dane zamknięcie ze wskaźnikiem do modyfikowalnego, ciągłego magazynu ShapedArraySlice .

    Deklaracja

    public mutating func withUnsafeMutableBufferPointer<Result>(
      _ body: (inout UnsafeMutableBufferPointer<Scalar>) throws -> Result
    ) rethrows -> Result

    Parametry

    body

    Zamknięcie z parametrem UnsafeMutableBufferPointer wskazującym ciągły magazyn dla ShapedArraySlice . Jeżeli taki magazyn nie istnieje, zostanie on utworzony. Jeśli treść ma wartość zwracaną, wartość ta jest również używana jako wartość zwracana dla metody withUnsafeMutableBufferPointer(_:) . Argument wskaźnika jest ważny tylko przez czas wykonywania metody.

  • Deklaracja

    public typealias Index = Int
  • Deklaracja

    public typealias Element = ShapedArraySlice
  • Deklaracja

    public typealias SubSequence = ShapedArraySlice
  • Deklaracja

    public var indices: Range<Int> { get }
  • Deklaracja

    public var startIndex: Int { get }
  • Deklaracja

    public var endIndex: Int { get }
  • Uzyskaj dostęp do tablicy elementów określonej przez indeks w wymiarze wiodącym.

    Deklaracja

    public subscript(index: Int) -> Element { get set }

    Parametry

    index

    Indeks tablicy elementów.

  • Uzyskaj dostęp do podtablicy określonej przez ciągły zakres indeksów.

    Deklaracja

    public subscript(bounds: Range<Int>) -> SubSequence { get set }

    Parametry

    bounds

    Ciągły zakres indeksów.

  • Tekstowa reprezentacja tego ShapedArraySlice .

    Notatka

    użyj fullDescription dla niezbyt wydrukowanej reprezentacji pokazującej wszystkie skalary.

    Deklaracja

    public var description: String { get }
  • Deklaracja

    public var playgroundDescription: Any { get }
  • Deklaracja

    public var customMirror: Mirror { get }
Dostępne, gdy `Scalar`: `TensorFlowScalar`
Dostępne, gdy `Skalarne`: `Równe`
  • Deklaracja

    public static func == (lhs: ShapedArraySlice, rhs: ShapedArraySlice) -> Bool
Dostępne, gdzie `Skalarne`: `Hashable`
  • Deklaracja

    public func hash(into hasher: inout Hasher)
Dostępne, gdzie `Skalarne`: `Kodowalne`
  • Deklaracja

    public func encode(to encoder: Encoder) throws
  • Deklaracja

    public init(from decoder: Decoder) throws