Có thể phân táchConv1D

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

Lớp tích chập có thể phân tách 1-D.

Lớp này thực hiện tích chập theo chiều sâu hoạt động riêng biệt trên các kênh, sau đó là tích chập theo chiều điểm để trộn các kênh.

  • Hạt nhân tích chập theo chiều sâu 3-D.

    Tuyên ngôn

    public var depthwiseFilter: Tensor<Scalar>
  • Hạt nhân tích chập theo điểm 3-D.

    Tuyên ngôn

    public var pointwiseFilter: 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 stride: Int
  • Thuật toán đệm cho tích chập.

    Tuyên ngôn

    @noDerivative
    public let padding: Padding
  • 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 một lớp SeparableConv1D với bộ lọc theo chiều sâu và theo điểm được chỉ định, độ lệch, hàm kích hoạt, bước tiến và phần đệm.

    Tuyên ngôn

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

    Thông số

    depthwiseFilter

    Hạt nhân tích chập theo chiều sâu 3-D [filter width, input channels count, channel multiplier] .

    pointwiseFilter

    Hạt nhân tích chập theo chiều 3-D [1, channel multiplier * input channels count, output channels count] .

    bias

    Vectơ thiên vị.

    activation

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

    strides

    Những bước tiến của cửa sổ trượt cho các kích thước không gian.

    padding

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

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

    Tuyên ngôn

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

    Thông số

    input

    Đầu vào của lớp.

    Giá trị trả về

    Đầu ra.

  • Tạo một lớp SeparableConv1D với hình dạng bộ lọc theo chiều sâu và theo điểm được chỉ định, các bước, phần đệm và chức năng kích hoạt theo phần tử.

    Tuyên ngôn

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

    Thông số

    depthwiseFilterShape

    Hình dạng của hạt nhân tích chập theo chiều sâu 3-D.

    pointwiseFilterShape

    Hình dạng của hạt nhân tích chập theo chiều 3-D.

    strides

    Những bước tiến của cửa sổ trượt cho các kích thước thời gian.

    padding

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

    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.