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

Tranche contiguë d'une instance ShapedArray ou ShapedArraySlice .

ShapedArraySlice permet des opérations rapides et efficaces sur des tranches contiguës d'instances ShapedArray . Les instances ShapedArraySlice ne disposent pas de leur propre stockage. Au lieu de cela, ils fournissent une vue sur le stockage de leur ShapedArray de base. ShapedArraySlice peut représenter deux types différents de tranches : les tableaux d'éléments et les sous-tableaux.

Les tableaux d'éléments sont des éléments sous-dimensionnels d'un ShapedArray : leur rang est inférieur d'un à celui de leur base. Les tranches de tableau d'éléments sont obtenues en indexant une instance ShapedArray avec un index Int32 singulier.

Par exemple:

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

Les sous-tableaux sont une plage contiguë d'éléments dans un ShapedArray . Le rang d'un sous-tableau est le même que celui de sa base, mais sa dimension principale est le nombre de tranches. Les tranches de sous-tableau sont obtenues en indexant un ShapedArray avec un Range<Int32> qui représente une plage d'éléments (dans la dimension principale). Des méthodes telles que prefix(:) et suffix(:) qui indexent en interne avec une plage produisent également un sous-tableau.

Par exemple:

    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]].
  • Le nombre de dimensions du tableau.

    Déclaration

    public var rank: Int { get }
  • La forme du tableau.

    Déclaration

    public var shape: [Int] { get }
  • Le nombre total de scalaires dans le tableau.

    Déclaration

    public var scalarCount: Int { get }
  • Crée un ShapedArraySlice avec la forme spécifiée et des scalaires contigus dans l'ordre des lignes principales.

    Condition préalable

    Le nombre de scalaires doit être égal au produit des dimensions de la forme.

    Déclaration

    public init(shape: [Int], scalars: [Scalar])
  • Crée un ShapedArraySlice avec la forme et la séquence spécifiées de scalaires dans l'ordre des lignes principales.

    Condition préalable

    Le nombre de scalaires doit être égal au produit des dimensions de la forme.

    Déclaration

    public init<S>(shape: [Int], scalars: S) where Scalar == S.Element, S : Sequence
  • Crée un ShapedArraySlice à partir d'une valeur scalaire.

    Déclaration

    public init(_ scalar: Scalar)
  • Crée un ShapedArraySlice avec la forme spécifiée et une valeur scalaire unique et répétée.

    Déclaration

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

    Paramètres

    repeatedValue

    La valeur scalaire à répéter.

    shape

    La forme du ShapedArraySlice .

  • Crée un ShapedArraySlice avec la forme spécifiée et une valeur scalaire unique et répétée.

    Déclaration

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

    Paramètres

    repeatedValue

    La valeur scalaire à répéter.

    shape

    La forme du ShapedArraySlice .

  • La plage de scalaires du ShapedArray de base représenté par un ShapedArraySlice .

    Déclaration

    var scalarRange: Range<Int> { get }
  • Appelle une fermeture avec un pointeur vers le stockage contigu du ShapedArraySlice .

    Déclaration

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

    Paramètres

    body

    Fermeture avec un paramètre UnsafeBufferPointer qui pointe vers le stockage contigu du ShapedArraySlice . Si aucun stockage de ce type n’existe, il est créé. Si body a une valeur de retour, cette valeur est également utilisée comme valeur de retour pour la méthode withUnsafeBufferPointer(_:) . L'argument pointeur n'est valide que pendant la durée de l'exécution de la méthode.

  • Appelle la fermeture donnée avec un pointeur vers le stockage contigu mutable du ShapedArraySlice .

    Déclaration

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

    Paramètres

    body

    Fermeture avec un paramètre UnsafeMutableBufferPointer qui pointe vers le stockage contigu du ShapedArraySlice . Si aucun stockage de ce type n’existe, il est créé. Si body a une valeur de retour, cette valeur est également utilisée comme valeur de retour pour la méthode withUnsafeMutableBufferPointer(_:) . L'argument pointeur n'est valide que pendant la durée de l'exécution de la méthode.

  • Déclaration

    public typealias Index = Int
  • Déclaration

    public typealias Element = ShapedArraySlice
  • Déclaration

    public typealias SubSequence = ShapedArraySlice
  • Déclaration

    public var indices: Range<Int> { get }
  • Déclaration

    public var startIndex: Int { get }
  • Déclaration

    public var endIndex: Int { get }
  • Accédez au tableau d'éléments spécifié par un index dans la dimension principale.

    Déclaration

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

    Paramètres

    index

    Index du tableau d'éléments.

  • Accédez au sous-tableau spécifié par une plage contiguë d’index.

    Déclaration

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

    Paramètres

    bounds

    Plage contiguë d’indices.

  • Une représentation textuelle de ce ShapedArraySlice .

    Note

    utilisez fullDescription pour une représentation non joliment imprimée montrant tous les scalaires.

    Déclaration

    public var description: String { get }
  • Déclaration

    public var playgroundDescription: Any { get }
  • Déclaration

    public var customMirror: Mirror { get }
Disponible où `Scalar` : `TensorFlowScalar`
Disponible lorsque « Scalaire » : « Équatable »
  • Déclaration

    public static func == (lhs: ShapedArraySlice, rhs: ShapedArraySlice) -> Bool
Disponible où `Scalar` : `Hashable`
  • Déclaration

    public func hash(into hasher: inout Hasher)
Disponible lorsque « Scalaire » : « Codable »