HìnhMảngLát

@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

Một lát liền kề của một phiên bản ShapedArray hoặc ShapedArraySlice .

ShapedArraySlice cho phép vận hành nhanh chóng, hiệu quả trên các lát liền kề của các phiên bản ShapedArray . Các phiên bản ShapedArraySlice không có bộ lưu trữ riêng. Thay vào đó, họ cung cấp chế độ xem về bộ lưu trữ ShapedArray cơ sở của họ. ShapedArraySlice có thể biểu diễn hai loại lát cắt khác nhau: mảng phần tử và mảng con.

Mảng phần tử là các phần tử có chiều thứ nguyên phụ của ShapedArray : thứ hạng của chúng nhỏ hơn một bậc so với cơ sở của chúng. Các lát mảng phần tử thu được bằng cách lập chỉ mục một thể hiện ShapedArray với chỉ mục Int32 số ít.

Ví dụ:

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

Mảng con là một phạm vi liền kề của các phần tử trong ShapedArray . Thứ hạng của một mảng con giống như thứ hạng của mảng cơ sở, nhưng thứ nguyên chính của nó là số lượng của phạm vi lát cắt. Các lát cắt mảng con thu được bằng cách lập chỉ mục một ShapedArray với Range<Int32> đại diện cho một phạm vi phần tử (trong chiều thứ nguyên chính). Các phương thức như prefix(:)suffix(:) lập chỉ mục nội bộ với một phạm vi cũng tạo ra mảng con.

Ví dụ:

    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]].
  • Số chiều của mảng.

    Tuyên ngôn

    public var rank: Int { get }
  • Hình dạng của mảng.

    Tuyên ngôn

    public var shape: [Int] { get }
  • Tổng số lượng vô hướng trong mảng.

    Tuyên ngôn

    public var scalarCount: Int { get }
  • Tạo ShapedArraySlice với hình dạng được chỉ định và các đại lượng vô hướng liền kề theo thứ tự hàng lớn.

    điều kiện tiên quyết

    Số lượng vô hướng phải bằng tích các kích thước của hình.

    Tuyên ngôn

    public init(shape: [Int], scalars: [Scalar])
  • Tạo một ShapedArraySlice với hình dạng và chuỗi vô hướng được chỉ định theo thứ tự hàng lớn.

    điều kiện tiên quyết

    Số lượng vô hướng phải bằng tích các kích thước của hình.

    Tuyên ngôn

    public init<S>(shape: [Int], scalars: S) where Scalar == S.Element, S : Sequence
  • Tạo ShapedArraySlice từ một giá trị vô hướng.

    Tuyên ngôn

    public init(_ scalar: Scalar)
  • Tạo một ShapedArraySlice với hình dạng được chỉ định và một giá trị vô hướng lặp lại duy nhất.

    Tuyên ngôn

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

    Thông số

    repeatedValue

    Giá trị vô hướng cần lặp lại.

    shape

    Hình dạng của ShapedArraySlice .

  • Tạo một ShapedArraySlice với hình dạng được chỉ định và một giá trị vô hướng lặp lại duy nhất.

    Tuyên ngôn

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

    Thông số

    repeatedValue

    Giá trị vô hướng cần lặp lại.

    shape

    Hình dạng của ShapedArraySlice .

  • Phạm vi vô hướng từ ShapedArray cơ sở được biểu thị bằng ShapedArraySlice .

    Tuyên ngôn

    var scalarRange: Range<Int> { get }
  • Gọi một bao đóng bằng một con trỏ tới bộ lưu trữ liền kề của ShapedArraySlice .

    Tuyên ngôn

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

    Thông số

    body

    Một bao đóng có tham số UnsafeBufferPointer trỏ đến vùng lưu trữ liền kề cho ShapedArraySlice . Nếu không có bộ nhớ như vậy tồn tại, nó sẽ được tạo. Nếu nội dung có giá trị trả về thì giá trị đó cũng được sử dụng làm giá trị trả về cho phương thức withUnsafeBufferPointer(_:) . Đối số con trỏ chỉ hợp lệ trong suốt thời gian thực thi phương thức.

  • Gọi bao đóng đã cho bằng một con trỏ tới bộ lưu trữ liền kề có thể thay đổi của ShapedArraySlice .

    Tuyên ngôn

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

    Thông số

    body

    Một bao đóng có tham số UnsafeMutableBufferPointer trỏ đến vùng lưu trữ liền kề cho ShapedArraySlice . Nếu không có bộ nhớ như vậy tồn tại, nó sẽ được tạo. Nếu phần thân có giá trị trả về thì giá trị đó cũng được sử dụng làm giá trị trả về cho phương thức withUnsafeMutableBufferPointer(_:) . Đối số con trỏ chỉ hợp lệ trong suốt thời gian thực thi phương thức.

  • Tuyên ngôn

    public typealias Index = Int
  • Tuyên ngôn

    public typealias Element = ShapedArraySlice
  • Tuyên ngôn

    public typealias SubSequence = ShapedArraySlice
  • Tuyên ngôn

    public var indices: Range<Int> { get }
  • Tuyên ngôn

    public var startIndex: Int { get }
  • Tuyên ngôn

    public var endIndex: Int { get }
  • Truy cập vào mảng phần tử được chỉ định bởi một chỉ mục trong thứ nguyên hàng đầu.

    Tuyên ngôn

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

    Thông số

    index

    Chỉ số của mảng phần tử.

  • Truy cập vào mảng con được chỉ định bởi một phạm vi chỉ số liền kề.

    Tuyên ngôn

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

    Thông số

    bounds

    Phạm vi liền kề của các chỉ số.

  • Một bản trình bày bằng văn bản của ShapedArraySlice này.

    Ghi chú

    sử dụng fullDescription cho một biểu diễn không được in đẹp, hiển thị tất cả các đại lượng vô hướng.

    Tuyên ngôn

    public var description: String { get }
  • Tuyên ngôn

    public var playgroundDescription: Any { get }
  • Tuyên ngôn

    public var customMirror: Mirror { get }
Có sẵn ở nơi `Scalar`: `TensorFlowScalar`
Có sẵn ở nơi `Scalar`: `Equatable`
  • Tuyên ngôn

    public static func == (lhs: ShapedArraySlice, rhs: ShapedArraySlice) -> Bool
Có sẵn ở nơi `Scalar`: `Hashable`
Có sẵn ở nơi `Scalar`: `Codable`
  • Tuyên ngôn

    public func encode(to encoder: Encoder) throws
  • Tuyên ngôn

    public init(from decoder: Decoder) throws