ย้าย Conv3D

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

เลเยอร์การโน้มน้าวใจแบบขนย้ายสามมิติ (เช่น การโน้มน้าวขนย้ายเชิงพื้นที่เหนือรูปภาพ)

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

  • เคอร์เนลการบิดแบบ 5-D

    คำประกาศ

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

    คำประกาศ

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

    คำประกาศ

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

    คำประกาศ

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

    คำประกาศ

    @noDerivative
    public let padding: Padding
  • คุณสมบัติ paddingIndex ช่วยให้เราสามารถจัดการการคำนวณตามการเติม

    คำประกาศ

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

    คำประกาศ

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

    คำประกาศ

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

    พารามิเตอร์

    filter

    เคอร์เนลการบิดแบบ 5-D

    bias

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

    activation

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

    strides

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

    padding

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

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

    คำประกาศ

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

    พารามิเตอร์

    input

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

    ค่าส่งคืน

    ผลลัพธ์.

  • สร้างเลเยอร์ TransposedConv3D ด้วยรูปร่างตัวกรอง การก้าวย่าง การเติม และฟังก์ชันการเปิดใช้งานตามองค์ประกอบที่ระบุ เทนเซอร์ตัวกรองเริ่มต้นได้โดยใช้การกำหนดค่าเริ่มต้นแบบสม่ำเสมอของ Glorot ด้วยตัวสร้างที่ระบุ เวกเตอร์อคติเริ่มต้นด้วยศูนย์

    คำประกาศ

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

    พารามิเตอร์

    filterShape

    รูปร่างของเคอร์เนลการบิดแบบ 5 มิติ

    strides

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

    padding

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

    activation

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

    generator

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