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 rebanada contiguos de una ShapedArray o ShapedArraySlice ejemplo.

ShapedArraySlice permite una rápida, operaciones eficientes en cortes contiguos de ShapedArray casos. ShapedArraySlice casos no tienen su propio almacenamiento. En su lugar, ofrece una vista sobre el almacenamiento de su base ShapedArray . ShapedArraySlice puede representar dos tipos diferentes de rebanadas: conjuntos de elementos y subconjuntos.

Conjuntos de elementos son elementos subdimensional de un ShapedArray : su rango es uno menos que la de su base. Element rebanadas de matriz se obtienen mediante la indexación de un ShapedArray ejemplo con un singular Int32 índice.

Por ejemplo:

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

Submatrices son un intervalo contiguo de los elementos en un ShapedArray . El rango de un subarreglo es el mismo que el de su base, pero su dimensión principal es el recuento del rango de corte. Rebanadas subarreglo se obtienen mediante la indexación de un ShapedArray con un Range<Int32> que representa un rango de elementos (en la dimensión principal). Métodos como prefix(:) y suffix(:) que internamente índice con una gama también producen submatriz.

Por ejemplo:

    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]].
  • El número de dimensiones de la matriz.

    Declaración

    public var rank: Int { get }
  • La forma de la matriz.

    Declaración

    public var shape: [Int] { get }
  • El número total de escalares en la matriz.

    Declaración

    public var scalarCount: Int { get }
  • Crea un ShapedArraySlice con la forma especificada y escalares contiguos en orden de las filas.

    Condición previa

    El número de escalares debe ser igual al producto de las dimensiones de la forma.

    Declaración

    public init(shape: [Int], scalars: [Scalar])
  • Crea un ShapedArraySlice con la forma especificada y la secuencia de escalares en orden de las filas.

    Condición previa

    El número de escalares debe ser igual al producto de las dimensiones de la forma.

    Declaración

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

    Declaración

    public init(_ scalar: Scalar)
  • Crea un ShapedArraySlice con la forma especificada y un solo valor escalar, que se repite.

    Declaración

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

    Parámetros

    repeatedValue

    El valor escalar para repetir.

    shape

    La forma de la ShapedArraySlice .

  • Crea un ShapedArraySlice con la forma especificada y un solo valor escalar, que se repite.

    Declaración

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

    Parámetros

    repeatedValue

    El valor escalar para repetir.

    shape

    La forma de la ShapedArraySlice .

  • La gama de escalares de la base ShapedArray representado por un ShapedArraySlice .

    Declaración

    var scalarRange: Range<Int> { get }
  • Pide un cierre con un puntero a la ShapedArraySlice almacenamiento contiguo 's.

    Declaración

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

    Parámetros

    body

    Un cierre con un UnsafeBufferPointer parámetro que apunta al almacenamiento contiguo para el ShapedArraySlice . Si no existe tal almacenamiento, se crea. Si el cuerpo tiene un valor de retorno, ese valor se utiliza también como el valor de retorno para el withUnsafeBufferPointer(_:) método. El argumento del puntero es válido solo durante la ejecución del método.

  • Llama al cierre dada con un puntero a la ShapedArraySlice almacenamiento contiguo mutable 's.

    Declaración

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

    Parámetros

    body

    Un cierre con un UnsafeMutableBufferPointer parámetro que apunta al almacenamiento contiguo para el ShapedArraySlice . Si no existe tal almacenamiento, se crea. Si el cuerpo tiene un valor de retorno, ese valor se utiliza también como el valor de retorno para el withUnsafeMutableBufferPointer(_:) método. El argumento del puntero es válido solo durante la ejecución del método.

  • Declaración

    public typealias Index = Int
  • Declaración

    public typealias Element = ShapedArraySlice
  • Declaración

    public typealias SubSequence = ShapedArraySlice
  • Declaración

    public var indices: Range<Int> { get }
  • Declaración

    public var startIndex: Int { get }
  • Declaración

    public var endIndex: Int { get }
  • Acceda a la matriz de elementos especificada por un índice en la dimensión principal.

    Declaración

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

    Parámetros

    index

    Índice de la matriz de elementos.

  • Acceda al subarreglo especificado por un rango contiguo de índices.

    Declaración

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

    Parámetros

    bounds

    Gama contigua de índices.

  • Una representación textual de este ShapedArraySlice .

    Nota

    uso fullDescription de una representación no muy impresa-mostrando todos los escalares.

    Declaración

    public var description: String { get }
  • Declaración

    public var playgroundDescription: Any { get }
  • Declaración

    public var customMirror: Mirror { get }

Disponible donde `Scalar`:` TensorFlowScalar`

Disponible donde `Scalar`:` Equatable`

  • Declaración

    public static func == (lhs: ShapedArraySlice, rhs: ShapedArraySlice) -> Bool

Disponible donde `Scalar`:` Hashable`

  • Declaración

    public func hash(into hasher: inout Hasher)

Disponible donde `Scalar`:` Codificable`

  • Declaración

    public func encode(to encoder: Encoder) throws
  • Declaración

    public init(from decoder: Decoder) throws