Matriz En FormaRebanada

@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

Un segmento contiguo de una instancia ShapedArray o ShapedArraySlice .

ShapedArraySlice permite operaciones rápidas y eficientes en sectores contiguos de instancias ShapedArray . Las instancias ShapedArraySlice no tienen su propio almacenamiento. En cambio, proporcionan una vista del almacenamiento de su ShapedArray base. ShapedArraySlice puede representar dos tipos diferentes de sectores: matrices y subarreglos de elementos.

Las matrices de elementos son elementos subdimensionales de ShapedArray : su rango es uno menos que el de su base. Los sectores de la matriz de elementos se obtienen indexando una instancia ShapedArray con un índice Int32 singular.

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

Los subarreglos son un rango contiguo de 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. Los sectores de subarreglo se obtienen indexando un ShapedArray con un Range<Int32> que representa un rango de elementos (en la dimensión principal). Los métodos como prefix(:) y suffix(:) que indexan internamente con un rango también producen un subarreglo.

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 fila principal.

    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 y secuencia de escalares especificadas en orden de fila principal.

    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 a partir de un valor escalar.

    Declaración

    public init(_ scalar: Scalar)
  • Crea un ShapedArraySlice con la forma especificada y un valor escalar único y repetido.

    Declaración

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

    Parámetros

    repeatedValue

    El valor escalar a repetir.

    shape

    La forma de ShapedArraySlice .

  • Crea un ShapedArraySlice con la forma especificada y un valor escalar único y repetido.

    Declaración

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

    Parámetros

    repeatedValue

    El valor escalar a repetir.

    shape

    La forma de ShapedArraySlice .

  • El rango de escalares de la ShapedArray base representado por ShapedArraySlice .

    Declaración

    var scalarRange: Range<Int> { get }
  • Llama a un cierre con un puntero al almacenamiento contiguo de ShapedArraySlice .

    Declaración

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

    Parámetros

    body

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

  • Llama al cierre dado con un puntero al almacenamiento contiguo mutable de ShapedArraySlice .

    Declaración

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

    Parámetros

    body

    Un cierre con un parámetro UnsafeMutableBufferPointer que apunta al almacenamiento contiguo de ShapedArraySlice . Si no existe dicho almacenamiento, se crea. Si el cuerpo tiene un valor de retorno, ese valor también se usa como valor de retorno para el método withUnsafeMutableBufferPointer(_:) . El argumento del puntero es válido sólo mientras dure 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

    Rango contiguo de índices.

  • Una representación textual de este ShapedArraySlice .

    Nota

    use fullDescription para obtener una representación no impresa que muestre 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`: `Codable`
  • Declaración

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

    public init(from decoder: Decoder) throws