@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
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
bir dizi öğeyi temsil eden (ön boyutta) 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 edilenShapedArray
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 edenUnsafeBufferPointer
parametresine sahip bir kapatma. Böyle bir depolama alanı yoksa oluşturulur. Body'nin bir dönüş değeri varsa, bu değer aynı zamandawithUnsafeBufferPointer(_:)
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 edenUnsafeMutableBufferPointer
parametresine sahip bir kapatma. Böyle bir depolama alanı yoksa oluşturulur. Body'nin bir dönüş değeri varsa, bu değer aynı zamandawithUnsafeMutableBufferPointer(_:)
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çinfullDescription
kullanın.beyan
public var description: String { get }
beyan
public var playgroundDescription: Any { get }
beyan
public var customMirror: Mirror { get }
beyan
public init(_ tensor: Tensor<Scalar>)
beyan
public typealias ArrayLiteralElement = _TensorElementLiteral<Scalar>
beyan
public init(arrayLiteral elements: _TensorElementLiteral<Scalar>...)
beyan
public static func == (lhs: ShapedArraySlice, rhs: ShapedArraySlice) -> Bool
beyan
public func hash(into hasher: inout Hasher)
beyan
public func encode(to encoder: Encoder) throws
beyan
public init(from decoder: Decoder) throws