Dilation2D

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

یک لایه اتساع مورفولوژیکی 2 بعدی

این لایه اتساع مورفوژیک تانسور ورودی را با فیلترهای ارائه شده برمی گرداند

  • فیلتر اتساع 4 بعدی

    اعلام

    public var filter: Tensor<Scalar>
  • گام های پنجره کشویی برای ابعاد فضایی.

    اعلام

    @noDerivative
    public let strides: (Int, Int)
  • الگوریتم بالشتک برای اتساع

    اعلام

    @noDerivative
    public let padding: Padding
  • عامل اتساع برای ابعاد فضایی.

    اعلام

    @noDerivative
    public let rates: (Int, Int)
  • یک لایه Dilation2D با فیلتر مشخص شده، گام‌ها، گشاد شدن و بالشتک ایجاد می‌کند.

    اعلام

    public init(
      filter: Tensor<Scalar>,
      strides: (Int, Int) = (1, 1),
      rates: (Int, Int) = (1, 1),
      padding: Padding = .valid
    )

    مولفه های

    filter

    فیلتر اتساع 4 بعدی شکل [ارتفاع فیلتر، عرض فیلتر، تعداد کانال ورودی، تعداد کانال خروجی].

    strides

    گام های پنجره کشویی برای ابعاد فضایی، یعنی (ارتفاع گام، عرض گام).

    rates

    نرخ اتساع برای ابعاد فضایی، یعنی (ارتفاع اتساع، عرض اتساع).

    padding

    الگوریتم بالشتک برای اتساع

  • خروجی به دست آمده از اعمال لایه به ورودی داده شده را برمی گرداند.

    ابعاد فضایی خروجی به صورت زیر محاسبه می شود:

    ارتفاع خروجی = (ارتفاع ورودی + 2 * ارتفاع بالشتک - (ارتفاع گشاد شدن * (ارتفاع فیلتر - 1) + 1)) / ارتفاع گام + 1

    عرض خروجی = (عرض ورودی + 2 * عرض لایه - (عرض گشاد شدن * (عرض فیلتر - 1) + 1)) / عرض گام + 1

    و اندازه بالشتک ها توسط طرح padding تعیین می شود.

    توجه داشته باشید

    اندازه پد هنگام استفاده از .valid برابر با صفر است.

    اعلام

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

    مولفه های

    input

    ورودی لایه شکل [اندازه دسته، ارتفاع ورودی، عرض ورودی، تعداد کانال ورودی].

    ارزش بازگشتی

    خروجی شکل [تعداد دسته ای، ارتفاع خروجی، عرض خروجی، تعداد کانال های خروجی].