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

Una sezione contigua di un'istanza ShapedArray o ShapedArraySlice .

ShapedArraySlice consente operazioni rapide ed efficienti su sezioni contigue di istanze ShapedArray . Le istanze ShapedArraySlice non hanno un proprio spazio di archiviazione. Invece, forniscono una vista sull'archiviazione del loro ShapedArray di base. ShapedArraySlice può rappresentare due diversi tipi di sezioni: array di elementi e sottoarray.

Gli array di elementi sono elementi subdimensionali di uno ShapedArray : il loro rango è uno in meno rispetto a quello della loro base. Le sezioni della matrice di elementi vengono ottenute indicizzando un'istanza ShapedArray con un indice Int32 singolare.

Per esempio:

    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]].

I sottoarray sono un intervallo contiguo di elementi in un ShapedArray . Il rango di un sottoarray è lo stesso della sua base, ma la sua dimensione iniziale è il conteggio dell'intervallo delle fette. Le sezioni di sottoarray si ottengono indicizzando un ShapedArray con un Range<Int32> che rappresenta un intervallo di elementi (nella dimensione principale). Anche metodi come prefix(:) e suffix(:) che indicizzano internamente con un intervallo producono un sottoarray.

Per esempio:

    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]].
  • Il numero di dimensioni dell'array.

    Dichiarazione

    public var rank: Int { get }
  • La forma della matrice.

    Dichiarazione

    public var shape: [Int] { get }
  • Il numero totale di scalari nell'array.

    Dichiarazione

    public var scalarCount: Int { get }
  • Crea un ShapedArraySlice con la forma specificata e scalari contigui nell'ordine della riga principale.

    Precondizione

    Il numero di scalari deve essere uguale al prodotto delle dimensioni della forma.

    Dichiarazione

    public init(shape: [Int], scalars: [Scalar])
  • Crea un ShapedArraySlice con la forma e la sequenza di scalari specificate nell'ordine della riga principale.

    Precondizione

    Il numero di scalari deve essere uguale al prodotto delle dimensioni della forma.

    Dichiarazione

    public init<S>(shape: [Int], scalars: S) where Scalar == S.Element, S : Sequence
  • Crea un ShapedArraySlice da un valore scalare.

    Dichiarazione

    public init(_ scalar: Scalar)
  • Crea un ShapedArraySlice con la forma specificata e un singolo valore scalare ripetuto.

    Dichiarazione

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

    Parametri

    repeatedValue

    Il valore scalare da ripetere.

    shape

    La forma di ShapedArraySlice .

  • Crea un ShapedArraySlice con la forma specificata e un singolo valore scalare ripetuto.

    Dichiarazione

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

    Parametri

    repeatedValue

    Il valore scalare da ripetere.

    shape

    La forma di ShapedArraySlice .

  • L'intervallo di scalari dalla base ShapedArray rappresentato da ShapedArraySlice .

    Dichiarazione

    var scalarRange: Range<Int> { get }
  • Richiama una chiusura con un puntatore all'archivio contiguo di ShapedArraySlice .

    Dichiarazione

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

    Parametri

    body

    Una chiusura con un parametro UnsafeBufferPointer che punta all'archiviazione contigua per ShapedArraySlice . Se non esiste tale spazio di archiviazione, viene creato. Se body ha un valore restituito, tale valore viene utilizzato anche come valore restituito per il metodo withUnsafeBufferPointer(_:) . L'argomento del puntatore è valido solo per la durata dell'esecuzione del metodo.

  • Chiama la chiusura specificata con un puntatore allo spazio di archiviazione contiguo mutabile di ShapedArraySlice .

    Dichiarazione

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

    Parametri

    body

    Una chiusura con un parametro UnsafeMutableBufferPointer che punta all'archiviazione contigua per ShapedArraySlice . Se non esiste tale spazio di archiviazione, viene creato. Se body ha un valore restituito, tale valore viene utilizzato anche come valore restituito per il metodo withUnsafeMutableBufferPointer(_:) . L'argomento del puntatore è valido solo per la durata dell'esecuzione del metodo.

  • Dichiarazione

    public typealias Index = Int
  • Dichiarazione

    public typealias Element = ShapedArraySlice
  • Dichiarazione

    public typealias SubSequence = ShapedArraySlice
  • Dichiarazione

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

    public var startIndex: Int { get }
  • Dichiarazione

    public var endIndex: Int { get }
  • Accedi all'array di elementi specificato da un indice nella dimensione principale.

    Dichiarazione

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

    Parametri

    index

    Indice dell'array di elementi.

  • Accede al sottoarray specificato da un intervallo contiguo di indici.

    Dichiarazione

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

    Parametri

    bounds

    Intervallo contiguo di indici.

  • Una rappresentazione testuale di questo ShapedArraySlice .

    Nota

    utilizzare fullDescription per una rappresentazione non abbastanza stampata che mostra tutti gli scalari.

    Dichiarazione

    public var description: String { get }
  • Dichiarazione

    public var playgroundDescription: Any { get }
  • Dichiarazione

    public var customMirror: Mirror { get }
Disponibile dove `Scalar`: `TensorFlowScalar`
  • Dichiarazione

    public init(_ tensor: Tensor<Scalar>)
  • Dichiarazione

    public typealias ArrayLiteralElement = _TensorElementLiteral<Scalar>
  • Dichiarazione

    public init(arrayLiteral elements: _TensorElementLiteral<Scalar>...)
Disponibile dove "Scalare": "Equabile".
  • Dichiarazione

    public static func == (lhs: ShapedArraySlice, rhs: ShapedArraySlice) -> Bool
Disponibile dove "Scalar": "Hashable".
  • Dichiarazione

    public func hash(into hasher: inout Hasher)
Disponibile dove `Scalar`: `Codable`
  • Dichiarazione

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

    public init(from decoder: Decoder) throws