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

Uma fatia contígua de uma ShapedArray ou ShapedArraySlice exemplo.

ShapedArraySlice permite rápido, operações eficientes em fatias contíguas de ShapedArray casos. ShapedArraySlice casos não têm o seu próprio armazenamento. Em vez disso, que proporciona uma vista para o armazenamento de sua base ShapedArray . ShapedArraySlice pode representar dois tipos diferentes de fatias: matrizes de elementos e subarrays.

Elemento matrizes são elementos subdimensional de um ShapedArray : sua posição é um a menos do que a sua base. Fatias ao elemento da matriz são obtidas através de indexação de um ShapedArray exemplo com um singular Int32 índice.

Por exemplo:

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

Subarrays são uma faixa contínua dos elementos em um ShapedArray . A classificação de um subarray é a mesma de sua base, mas sua dimensão principal é a contagem do intervalo de fatias. Fatias subarray são obtidas através de indexação de um ShapedArray com um Range<Int32> que representa uma série de elementos (na dimensão líder). Métodos como prefix(:) e suffix(:) que índice internamente com uma gama também produzir subarray.

Por exemplo:

    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]].
  • O número de dimensões da matriz.

    Declaração

    public var rank: Int { get }
  • A forma da matriz.

    Declaração

    public var shape: [Int] { get }
  • O número total de escalares na matriz.

    Declaração

    public var scalarCount: Int { get }
  • Cria um ShapedArraySlice com a forma especificada e escalares contíguos na ordem de linha principal.

    Condição prévia

    O número de escalares deve ser igual ao produto das dimensões da forma.

    Declaração

    public init(shape: [Int], scalars: [Scalar])
  • Cria um ShapedArraySlice com a forma especificada e a sequência de escalares, a fim de linha maior.

    Condição prévia

    O número de escalares deve ser igual ao produto das dimensões da forma.

    Declaração

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

    Declaração

    public init(_ scalar: Scalar)
  • Cria um ShapedArraySlice com a forma especificada e um único, valor escalar repetido.

    Declaração

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

    Parâmetros

    repeatedValue

    O valor escalar a ser repetido.

    shape

    A forma do ShapedArraySlice .

  • Cria um ShapedArraySlice com a forma especificada e um único, valor escalar repetido.

    Declaração

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

    Parâmetros

    repeatedValue

    O valor escalar a ser repetido.

    shape

    A forma do ShapedArraySlice .

  • A gama de escalares desde a base ShapedArray representado por um ShapedArraySlice .

    Declaração

    var scalarRange: Range<Int> { get }
  • Chama um fecho com um ponteiro para o ShapedArraySlice armazenamento contígua 's.

    Declaração

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

    Parâmetros

    body

    Um fecho com um UnsafeBufferPointer parâmetro que aponta para o armazenamento contígua para o ShapedArraySlice . Se esse armazenamento não existir, ele será criado. Se o corpo tem um valor de retorno, esse valor também é usado como o valor de retorno para o withUnsafeBufferPointer(_:) método. O argumento do ponteiro é válido apenas para a duração da execução do método.

  • Chama o fecho dado com um ponteiro para o ShapedArraySlice armazenamento contígua mutável 's.

    Declaração

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

    Parâmetros

    body

    Um fecho com um UnsafeMutableBufferPointer parâmetro que aponta para o armazenamento contígua para o ShapedArraySlice . Se esse armazenamento não existir, ele será criado. Se o corpo tem um valor de retorno, esse valor também é usado como o valor de retorno para o withUnsafeMutableBufferPointer(_:) método. O argumento do ponteiro é válido apenas para a duração da execução do método.

  • Declaração

    public typealias Index = Int
  • Declaração

    public typealias Element = ShapedArraySlice
  • Declaração

    public typealias SubSequence = ShapedArraySlice
  • Declaração

    public var indices: Range<Int> { get }
  • Declaração

    public var startIndex: Int { get }
  • Declaração

    public var endIndex: Int { get }
  • Acesse a matriz de elemento especificada por um índice na dimensão principal.

    Declaração

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

    Parâmetros

    index

    Índice da matriz do elemento.

  • Acesse o subarray especificado por um intervalo contíguo de índices.

    Declaração

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

    Parâmetros

    bounds

    Faixa contígua de índices.

  • A representação textual deste ShapedArraySlice .

    Observação

    uso fullDescription para uma representação não-muito-impresso mostrando todos os escalares.

    Declaração

    public var description: String { get }
  • Declaração

    public var playgroundDescription: Any { get }
  • Declaração

    public var customMirror: Mirror { get }

Disponível onde `Scalar`:` TensorFlowScalar`

Disponível onde `Scalar`:` Equatable`

  • Declaração

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

Disponível onde `Scalar`:` Hashable`

  • Declaração

    public func hash(into hasher: inout Hasher)

Disponível onde `Scalar`:` Codable`

  • Declaração

    public func encode(to encoder: Encoder) throws
  • Declaração

    public init(from decoder: Decoder) throws