Irisan Array Berbentuk

@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

Sepotong yang berdekatan dari instance ShapedArray atau ShapedArraySlice .

ShapedArraySlice memungkinkan operasi yang cepat dan efisien pada irisan instans ShapedArray yang berdekatan. Instance ShapedArraySlice tidak memiliki penyimpanannya sendiri. Sebaliknya, mereka memberikan tampilan ke penyimpanan basis mereka ShapedArray . ShapedArraySlice dapat mewakili dua jenis irisan yang berbeda: array elemen dan subarray.

Array elemen adalah elemen subdimensi dari ShapedArray : peringkatnya kurang satu dari peringkat dasarnya. Irisan array elemen diperoleh dengan mengindeks instance ShapedArray dengan indeks Int32 tunggal.

Misalnya:

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

Subarray adalah rentang elemen yang berdekatan dalam ShapedArray . Pangkat suatu subarray sama dengan pangkat dasarnya, namun dimensi utamanya adalah jumlah rentang irisan. Irisan subarray diperoleh dengan mengindeks ShapedArray dengan Range<Int32> yang mewakili rentang elemen (dalam dimensi utama). Metode seperti prefix(:) dan suffix(:) yang mengindeks secara internal dengan suatu rentang juga menghasilkan subarray.

Misalnya:

    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]].
  • Jumlah dimensi array.

    Pernyataan

    public var rank: Int { get }
  • Bentuk susunannya.

    Pernyataan

    public var shape: [Int] { get }
  • Jumlah total skalar dalam array.

    Pernyataan

    public var scalarCount: Int { get }
  • Membuat ShapedArraySlice dengan bentuk tertentu dan skalar yang berdekatan dalam urutan baris-utama.

    Prasyarat

    Jumlah skalar harus sama dengan hasil kali dimensi bangun.

    Pernyataan

    public init(shape: [Int], scalars: [Scalar])
  • Membuat ShapedArraySlice dengan bentuk dan urutan skalar tertentu dalam urutan baris-utama.

    Prasyarat

    Jumlah skalar harus sama dengan hasil kali dimensi bangun.

    Pernyataan

    public init<S>(shape: [Int], scalars: S) where Scalar == S.Element, S : Sequence
  • Membuat ShapedArraySlice dari nilai skalar.

    Pernyataan

    public init(_ scalar: Scalar)
  • Membuat ShapedArraySlice dengan bentuk tertentu dan satu nilai skalar berulang.

    Pernyataan

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

    Parameter

    repeatedValue

    Nilai skalar yang akan diulang.

    shape

    Bentuk dari ShapedArraySlice .

  • Membuat ShapedArraySlice dengan bentuk tertentu dan satu nilai skalar berulang.

    Pernyataan

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

    Parameter

    repeatedValue

    Nilai skalar yang akan diulang.

    shape

    Bentuk dari ShapedArraySlice .

  • Kisaran skalar dari basis ShapedArray diwakili oleh ShapedArraySlice .

    Pernyataan

    var scalarRange: Range<Int> { get }
  • Memanggil penutupan dengan penunjuk ke penyimpanan bersebelahan ShapedArraySlice .

    Pernyataan

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

    Parameter

    body

    Penutupan dengan parameter UnsafeBufferPointer yang menunjuk ke penyimpanan yang berdekatan untuk ShapedArraySlice . Jika tidak ada penyimpanan seperti itu, maka penyimpanan tersebut akan dibuat. Jika isi memiliki nilai kembalian, nilai tersebut juga digunakan sebagai nilai kembalian untuk metode withUnsafeBufferPointer(_:) . Argumen pointer hanya valid selama durasi eksekusi metode.

  • Memanggil penutupan yang diberikan dengan penunjuk ke penyimpanan bersebelahan ShapedArraySlice yang dapat diubah.

    Pernyataan

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

    Parameter

    body

    Penutupan dengan parameter UnsafeMutableBufferPointer yang menunjuk ke penyimpanan yang berdekatan untuk ShapedArraySlice . Jika tidak ada penyimpanan seperti itu, maka penyimpanan tersebut akan dibuat. Jika isi memiliki nilai kembalian, nilai tersebut juga digunakan sebagai nilai kembalian untuk metode withUnsafeMutableBufferPointer(_:) . Argumen pointer hanya valid selama durasi eksekusi metode.

  • Pernyataan

    public typealias Index = Int
  • Pernyataan

    public typealias Element = ShapedArraySlice
  • Pernyataan

    public typealias SubSequence = ShapedArraySlice
  • Pernyataan

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

    public var startIndex: Int { get }
  • Pernyataan

    public var endIndex: Int { get }
  • Akses larik elemen yang ditentukan oleh indeks di dimensi utama.

    Pernyataan

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

    Parameter

    index

    Indeks array elemen.

  • Akses subarray yang ditentukan oleh rentang indeks yang berdekatan.

    Pernyataan

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

    Parameter

    bounds

    Rentang indeks yang berdekatan.

  • Representasi tekstual dari ShapedArraySlice ini.

    Catatan

    gunakan fullDescription untuk representasi yang tidak dicetak cantik yang menampilkan semua skalar.

    Pernyataan

    public var description: String { get }
  • Pernyataan

    public var playgroundDescription: Any { get }
  • Pernyataan

    public var customMirror: Mirror { get }
Tersedia di mana `Scalar`: `TensorFlowScalar`
Tersedia di mana `Skalar`: `Equatable`
  • Pernyataan

    public static func == (lhs: ShapedArraySlice, rhs: ShapedArraySlice) -> Bool
Tersedia di mana `Skalar`: `Hashable`
Tersedia di mana `Skalar`: `Codable`
  • Pernyataan

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

    public init(from decoder: Decoder) throws