Chuyển đổi1D

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

Lớp tích chập 1-D (ví dụ: tích chập theo thời gian trên chuỗi thời gian).

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 3-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
  • Bước tiến của cửa sổ trượt theo chiều thời gian.

    Tuyên ngôn

    @noDerivative
    public let stride: 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 chiều thời gian.

    Tuyên ngôn

    @noDerivative
    public let dilation: 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 Conv1D với bộ lọc, độ lệch, chức năng kích hoạt, bước tiến, độ giãn 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,
      stride: Int = 1,
      padding: Padding = .valid,
      dilation: Int = 1
    )

    Thông số

    filter

    Bộ lọc tích chập 3-D có hình dạng [độ rộng bộ lọc, số lượng 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ử.

    stride

    Bước tiến của cửa sổ trượt theo chiều thời gian.

    padding

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

    dilation

    Hệ số giãn nở cho chiều thời gian.

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

    Chiều rộng đầu ra được tính như sau:

    chiều rộng đầu ra = (chiều rộng đầu vào + 2 * kích thước phần đệm - (độ giãn * (độ rộng bộ lọc - 1) + 1)) / 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 [kích thước lô, chiều rộng đầu vào, số kênh đầu vào].

    Giá trị trả về

    Đầu ra của hình dạng [kích thước lô, chiều rộng đầu ra, số lượng kênh đầu ra].

Có sẵn ở nơi `Scalar.RawSignificand`: `FixedWidthInteger`
  • Tạo lớp Conv1D 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.

    Tuyên ngôn

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

    Thông số

    filterShape

    Hình dạng 3-D của bộ lọc, biểu thị (độ rộng bộ lọc, số kênh đầu vào, số kênh đầu ra).

    stride

    Bước tiến của cửa sổ trượt theo chiều thời gian.

    padding

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

    dilation

    Hệ số giãn nở cho chiều 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.