Conv3D

@frozen
public struct Conv3D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint

Lớp tích chập 3-D để tích chập không gian/không gian-thời gian trên hình ảnh.

Lớp này tạo ra một bộ lọc tích chập được tích hợp với đầu vào của lớp để tạo ra một tensor đầu ra.

  • Bộ lọc tích chập 5-D.

    Tuyên ngôn

    public var filter: Tensor<Scalar>
  • Vectơ thiên vị.

    Tuyên ngôn

    public var bias: Tensor<Scalar>
  • Chức năng kích hoạt theo phần tử.

    Tuyên ngôn

    @noDerivative
    public let activation: Activation
  • Những bước tiến của cửa sổ trượt cho các kích thước không gian.

    Tuyên ngôn

    @noDerivative
    public let strides: (Int, Int, Int)
  • Thuật toán đệm cho tích chập.

    Tuyên ngôn

    @noDerivative
    public let padding: Padding
  • Hệ số giãn nở cho các chiều không gian/thời gian.

    Tuyên ngôn

    @noDerivative
    public let dilations: (Int, Int, Int)
  • Loại hàm kích hoạt theo phần tử.

    Tuyên ngôn

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • Tạo lớp Conv3D với bộ lọc, độ lệch, chức năng kích hoạt, bước tiến và phần đệm được chỉ định.

    Tuyên ngôn

    public init(
      filter: Tensor<Scalar>,
      bias: Tensor<Scalar>? = nil,
      activation: @escaping Activation = identity,
      strides: (Int, Int, Int) = (1, 1, 1),
      padding: Padding = .valid,
      dilations: (Int, Int, Int) = (1, 1, 1)
    )

    Thông số

    filter

    Bộ lọc tích chập 5-D có hình dạng [độ sâu bộ lọc, chiều cao bộ lọc, chiều rộng bộ lọc, số kênh đầu vào, số lượng kênh đầu ra].

    bias

    Vectơ thiên vị của hình dạng [số kênh đầu ra].

    activation

    Chức năng kích hoạt theo phần tử.

    strides

    Các bước của cửa sổ trượt cho các kích thước không gian, tức là (độ sâu bước, chiều cao bước, chiều rộng bước)

    padding

    Thuật toán đệm cho tích chập.

    dilations

    Hệ số giãn nở cho các chiều không gian/không gian-thời gian.

  • Trả về kết quả thu được từ việc áp dụng lớp cho đầu vào đã cho.

    Kích thước không gian đầu ra được tính như sau:

    độ sâu đầu ra = (độ sâu đầu vào + 2 * độ sâu đệm - (độ sâu giãn nở * (độ sâu bộ lọc - 1) + 1)) / độ sâu sải chân + 1

    chiều cao đầu ra = (chiều cao đầu vào + 2 * chiều cao đệm - (chiều cao giãn nở * (chiều cao bộ lọc - 1) + 1)) / chiều cao sải chân + 1

    chiều rộng đầu ra = (chiều rộng đầu vào + 2 * chiều rộng đệm - (chiều rộng giãn nở * (chiều rộng bộ lọc - 1) + 1)) / chiều rộng sải chân + 1

    và kích thước phần đệm được xác định bởi sơ đồ phần đệm.

    Ghi chú

    Kích thước đệm bằng 0 khi sử dụng .valid .

    Tuyên ngôn

    @differentiable
    public func forward(_ input: Tensor<Scalar>) -> Tensor<Scalar>

    Thông số

    input

    Đầu vào của lớp hình dạng [số lô, độ sâu đầu vào, chiều cao đầu vào, chiều rộng đầu vào, số lượng kênh đầu vào].

    Giá trị trả về

    Đầu ra của hình dạng [số lô, độ sâu đầu ra, chiều cao đầu ra, chiều rộng đầu ra, số kênh đầu ra].

  • Tạo lớp Conv3D với hình dạng bộ lọc, bước tiến, phần đệm, độ giãn nở và chức năng kích hoạt theo phần tử được chỉ định. Tenxor bộ lọc được khởi tạo bằng cách sử dụng khởi tạo thống nhất Glorot với hạt giống được chỉ định. Vectơ thiên vị được khởi tạo bằng số không.

    Tuyên ngôn

    public init(
      filterShape: (Int, Int, Int, Int, Int),
      strides: (Int, Int, Int) = (1, 1, 1),
      padding: Padding = .valid,
      dilations: (Int, Int, Int) = (1, 1, 1),
      activation: @escaping Activation = identity,
      useBias: Bool = true,
      filterInitializer: ParameterInitializer<Scalar> = glorotUniform(),
      biasInitializer: ParameterInitializer<Scalar> = zeros()
    )

    Thông số

    filterShape

    Hình dạng của bộ lọc tích chập 5-D, biểu thị (độ sâu bộ lọc, chiều cao bộ lọc, chiều rộng bộ lọc, số kênh đầu vào, số lượng kênh đầu ra).

    strides

    Các bước của cửa sổ trượt cho các kích thước không gian, tức là (độ sâu bước, chiều cao bước, chiều rộng bước)

    padding

    Thuật toán đệm cho tích chập.

    dilations

    Hệ số giãn nở cho các chiều không gian/không gian-thời gian.

    activation

    Chức năng kích hoạt theo phần tử.

    filterInitializer

    Trình khởi tạo để sử dụng cho các tham số bộ lọc.

    biasInitializer

    Trình khởi tạo để sử dụng cho các tham số sai lệch.