Şekilli Dizi Dilim

@frozen
public struct ShapedArraySlice<Scalar> : _ShapedArrayProtocol
extension ShapedArraySlice: RandomAccessCollection, MutableCollection
extension ShapedArraySlice: CustomStringConvertible
l10n
extension ShapedArraySlice: CustomPlaygroundDisplayConvertible
extension ShapedArraySlice: CustomReflectable
-yer tutucu5
extension ShapedArraySlice: ExpressibleByArrayLiteral where Scalar: TensorFlowScalar
extension ShapedArraySlice: Equatable where Scalar: Equatable
extension ShapedArraySlice: Hashable where Scalar: Hashable
extension ShapedArraySlice: Codable where Scalar: Codable

ShapedArray veya ShapedArraySlice örneğinin bitişik bir dilimi.

ShapedArraySlice ShapedArray örneklerinin bitişik dilimleri üzerinde hızlı, verimli işlemlere olanak tanır. ShapedArraySlice örneklerinin kendi depolama alanları yoktur. Bunun yerine, temel ShapedArray depolarına ilişkin bir görünüm sağlarlar. ShapedArraySlice iki farklı dilim türünü temsil edebilir: öğe dizileri ve alt diziler.

Öğe dizileri bir ShapedArray alt boyutlu öğeleridir: sıralamaları tabanlarınınkinden bir eksiktir. Öğe dizisi dilimleri, ShapedArray örneğinin tekil bir Int32 dizini ile dizine eklenmesiyle elde edilir.

Örneğin:

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

Alt diziler, ShapedArray içindeki öğelerin bitişik aralığıdır. Bir alt dizinin sıralaması tabanınınkiyle aynıdır ancak öncü boyutu dilim aralığının sayısıdır. Alt dizi dilimleri, bir ShapedArray öğesinin (ön boyuttaki) bir öğe aralığını temsil eden Range<Int32> ile dizine eklenmesiyle elde edilir. Bir aralıkla dahili olarak indekslenen prefix(:) ve suffix(:) gibi yöntemler de alt dizi üretir.

Örneğin:

    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]].
  • Dizinin boyut sayısı.

    beyan

    public var rank: Int { get }
  • Dizinin şekli.

    beyan

    public var shape: [Int] { get }
  • Dizideki toplam skaler sayısı.

    beyan

    public var scalarCount: Int { get }
  • Belirtilen şekle ve ana satır sırasına göre bitişik skalerlere sahip bir ShapedArraySlice oluşturur.

    Önkoşul

    Skaler sayısı şeklin boyutlarının çarpımına eşit olmalıdır.

    beyan

    public init(shape: [Int], scalars: [Scalar])
  • Belirtilen şekle ve ana satır sırasına göre skaler sırasına sahip bir ShapedArraySlice oluşturur.

    Önkoşul

    Skaler sayısı şeklin boyutlarının çarpımına eşit olmalıdır.

    beyan

    public init<S>(shape: [Int], scalars: S) where Scalar == S.Element, S : Sequence
  • Skaler bir değerden ShapedArraySlice oluşturur.

    beyan

    public init(_ scalar: Scalar)
  • Belirtilen şekle ve tekrarlanan tek bir skaler değere sahip bir ShapedArraySlice oluşturur.

    beyan

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

    Parametreler

    repeatedValue

    Tekrarlanacak skaler değer.

    shape

    ShapedArraySlice şekli.

  • Belirtilen şekle ve tekrarlanan tek bir skaler değere sahip bir ShapedArraySlice oluşturur.

    beyan

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

    Parametreler

    repeatedValue

    Tekrarlanacak skaler değer.

    shape

    ShapedArraySlice şekli.

  • ShapedArraySlice tarafından temsil edilen ShapedArray tabanındaki skaler aralığı.

    beyan

    var scalarRange: Range<Int> { get }
  • ShapedArraySlice 'ın bitişik depolamasına yönelik bir işaretçiyle bir kapatma çağrısı yapar.

    beyan

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

    Parametreler

    body

    ShapedArraySlice için bitişik depolamaya işaret eden UnsafeBufferPointer parametresine sahip bir kapatma. Böyle bir depolama alanı yoksa oluşturulur. Body'nin bir dönüş değeri varsa, bu değer aynı zamanda withUnsafeBufferPointer(_:) yönteminin dönüş değeri olarak da kullanılır. İşaretçi argümanı yalnızca yöntemin yürütüldüğü süre boyunca geçerlidir.

  • Belirtilen kapanışı ShapedArraySlice 'ın değiştirilebilir bitişik depolamasına yönelik bir işaretçiyle çağırır.

    beyan

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

    Parametreler

    body

    ShapedArraySlice için bitişik depolamaya işaret eden UnsafeMutableBufferPointer parametresine sahip bir kapatma. Böyle bir depolama alanı yoksa oluşturulur. Body'nin bir dönüş değeri varsa, bu değer aynı zamanda withUnsafeMutableBufferPointer(_:) yönteminin dönüş değeri olarak da kullanılır. İşaretçi argümanı yalnızca yöntemin yürütüldüğü süre boyunca geçerlidir.

  • beyan

    public typealias Index = Int
  • beyan

    public typealias Element = ShapedArraySlice
  • beyan

    public typealias SubSequence = ShapedArraySlice
  • beyan

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

    public var startIndex: Int { get }
  • beyan

    public var endIndex: Int { get }
  • Ön boyuttaki bir dizin tarafından belirtilen öğe dizisine erişin.

    beyan

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

    Parametreler

    index

    Öğe dizisinin dizini.

  • Bitişik bir dizin aralığı tarafından belirtilen alt diziye erişin.

    beyan

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

    Parametreler

    bounds

    Bitişik endeks aralığı.

  • Bu ShapedArraySlice öğesinin metinsel temsili.

    Not

    tüm skalerleri gösteren, güzel yazdırılmamış bir gösterim için fullDescription kullanın.

    beyan

    public var description: String { get }
  • beyan

    public var playgroundDescription: Any { get }
  • beyan

    public var customMirror: Mirror { get }
'Skaler': 'TensorFlowScalar' olduğu yerde kullanılabilir
'Skaler': 'Eşitlenebilir' olduğunda kullanılabilir
  • beyan

    public static func == (lhs: ShapedArraySlice, rhs: ShapedArraySlice) -> Bool
'Skaler': 'Hashable' olduğu yerlerde kullanılabilir
'Skaler': 'Kodlanabilir' olduğu yerlerde kullanılabilir