Conv1D แบบแยกส่วนได้

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

เลเยอร์การบิดแบบแยกส่วนได้ 1 มิติ

เลเยอร์นี้ทำการบิดแบบเชิงลึกซึ่งทำหน้าที่แยกกันบนช่องสัญญาณ ตามด้วยการบิดแบบจุดซึ่งผสมช่องสัญญาณ

  • เคอร์เนลการบิดเชิงลึกสามมิติ

    คำประกาศ

    public var depthwiseFilter: Tensor<Scalar>
  • เคอร์เนลการบิดตามจุดสามมิติ

    คำประกาศ

    public var pointwiseFilter: Tensor<Scalar>
  • เวกเตอร์อคติ

    คำประกาศ

    public var bias: Tensor<Scalar>
  • ฟังก์ชั่นการเปิดใช้งานตามองค์ประกอบ

    คำประกาศ

    @noDerivative
    public let activation: Activation
  • ความก้าวหน้าของหน้าต่างบานเลื่อนเพื่อมิติเชิงพื้นที่

    คำประกาศ

    @noDerivative
    public let stride: Int
  • อัลกอริธึมการเติมสำหรับการบิด

    คำประกาศ

    @noDerivative
    public let padding: Padding
  • ประเภทฟังก์ชันการเปิดใช้งานตามองค์ประกอบ

    คำประกาศ

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • สร้างเลเยอร์ SeparableConv1D พร้อมด้วยตัวกรองเชิงลึกและแบบจุด ไบแอส ฟังก์ชันการเปิดใช้งาน การก้าวย่าง และช่องว่างภายในที่ระบุ

    คำประกาศ

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

    พารามิเตอร์

    depthwiseFilter

    เคอร์เนลการบิดเชิงลึกสามมิติ [filter width, input channels count, channel multiplier]

    pointwiseFilter

    เคอร์เนลการบิดแบบจุดสามมิติ [1, channel multiplier * input channels count, output channels count]

    bias

    เวกเตอร์อคติ

    activation

    ฟังก์ชั่นการเปิดใช้งานตามองค์ประกอบ

    strides

    ความก้าวหน้าของหน้าต่างบานเลื่อนเพื่อมิติเชิงพื้นที่

    padding

    อัลกอริธึมการเติมสำหรับการบิด

  • ส่งกลับผลลัพธ์ที่ได้จากการใช้เลเยอร์กับอินพุตที่กำหนด

    คำประกาศ

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

    พารามิเตอร์

    input

    อินพุตไปยังเลเยอร์

    ค่าส่งคืน

    ผลลัพธ์.

  • สร้างเลเยอร์ SeparableConv1D ด้วยรูปร่างตัวกรองเชิงลึกและจุดตามที่ระบุ การก้าวย่าง การเสริม และฟังก์ชันการเปิดใช้งานตามองค์ประกอบที่ระบุ

    คำประกาศ

    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()
    )

    พารามิเตอร์

    depthwiseFilterShape

    รูปร่างของเคอร์เนลการบิดเชิงลึกสามมิติ

    pointwiseFilterShape

    รูปร่างของเคอร์เนลการบิดตามจุดสามมิติ

    strides

    ความก้าวหน้าของหน้าต่างบานเลื่อนสำหรับมิติทางโลก

    padding

    อัลกอริธึมการเติมสำหรับการบิด

    activation

    ฟังก์ชั่นการเปิดใช้งานตามองค์ประกอบ

    filterInitializer

    Initializer ที่จะใช้สำหรับพารามิเตอร์ตัวกรอง

    biasInitializer

    Initializer ที่จะใช้สำหรับพารามิเตอร์ไบแอส