Conv.1D

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

ชั้นการบิดแบบ 1 มิติ (เช่น การบิดแบบขมับในอนุกรมเวลา)

เลเยอร์นี้สร้างตัวกรองการบิดที่เชื่อมโยงกับอินพุตเลเยอร์เพื่อสร้างเทนเซอร์ของเอาท์พุต

  • ตัวกรองการบิดแบบ 3 มิติ

    คำประกาศ

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

    คำประกาศ

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

    คำประกาศ

    @noDerivative
    public let activation: Activation
  • ก้าวย่างของหน้าต่างบานเลื่อนสู่มิติแห่งกาลเวลา

    คำประกาศ

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

    คำประกาศ

    @noDerivative
    public let padding: Padding
  • ปัจจัยการขยายสำหรับมิติทางโลก

    คำประกาศ

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

    คำประกาศ

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

    คำประกาศ

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

    พารามิเตอร์

    filter

    ตัวกรองการหมุนวนสามมิติของรูปร่าง [ความกว้างตัวกรอง จำนวนช่องอินพุต จำนวนช่องสัญญาณเอาต์พุต]

    bias

    เวกเตอร์อคติของรูปร่าง [จำนวนช่องสัญญาณออก]

    activation

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

    stride

    ก้าวย่างของหน้าต่างบานเลื่อนสู่มิติแห่งกาลเวลา

    padding

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

    dilation

    ปัจจัยการขยายสำหรับมิติทางโลก

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

    ความกว้างของเอาต์พุตคำนวณได้ดังนี้:

    ความกว้างเอาต์พุต = (ความกว้างอินพุต + 2 * ขนาดช่องว่างภายใน - (การขยาย * (ความกว้างตัวกรอง - 1) + 1)) / ก้าวย่าง + 1

    และขนาดของช่องว่างภายในจะถูกกำหนดโดยโครงร่างการเติม

    บันทึก

    ขนาดช่องว่างภายในเท่ากับศูนย์เมื่อใช้ .valid valid

    คำประกาศ

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

    พารามิเตอร์

    input

    อินพุตไปยังเลเยอร์ [ขนาดแบตช์, ความกว้างอินพุต, จำนวนช่องอินพุต]

    ค่าส่งคืน

    ผลลัพธ์ของรูปร่าง [ขนาดแบทช์ ความกว้างเอาต์พุต จำนวนช่องสัญญาณเอาต์พุต]

มีจำหน่ายที่ `Scalar.RawSignificand`: `FixedWidthInteger`
  • สร้างเลเยอร์ Conv1D ด้วยฟังก์ชันการเปิดใช้งานรูปร่างตัวกรอง การก้าวย่าง การขยาย การขยาย และการเปิดใช้งานตามองค์ประกอบที่ระบุ

    คำประกาศ

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

    พารามิเตอร์

    filterShape

    รูปร่าง 3 มิติของตัวกรองที่เป็นตัวแทน (ความกว้างของตัวกรอง จำนวนช่องอินพุต จำนวนช่องสัญญาณเอาท์พุต)

    stride

    ก้าวย่างของหน้าต่างบานเลื่อนสู่มิติแห่งกาลเวลา

    padding

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

    dilation

    ปัจจัยการขยายสำหรับมิติทางโลก

    activation

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

    filterInitializer

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

    biasInitializer

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