SeparableConv2D

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

یک لایه پیچشی دو بعدی قابل جداسازی.

این لایه یک پیچیدگی عمیق را انجام می دهد که به طور جداگانه روی کانال ها عمل می کند و به دنبال آن یک پیچش نقطه ای که کانال ها را مخلوط می کند.

  • هسته پیچیدگی 4 بعدی.

    اعلام

    public var depthwiseFilter: Tensor<Scalar>
  • هسته کانولوشن 4 بعدی نقطه ای.

    اعلام

    public var pointwiseFilter: Tensor<Scalar>
  • بردار تعصب.

    اعلام

    public var bias: Tensor<Scalar>
  • تابع فعال سازی از نظر عنصر.

    اعلام

    @noDerivative
    public let activation: Activation
  • گام های پنجره کشویی برای ابعاد فضایی.

    اعلام

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

    اعلام

    @noDerivative
    public let padding: Padding
  • نوع تابع فعال سازی از نظر عنصر.

    اعلام

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • یک لایه SeparableConv2D با فیلتر عمقی و نقطه‌ای مشخص شده، بایاس، تابع فعال‌سازی، گام‌ها و padding ایجاد می‌کند.

    اعلام

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

    مولفه های

    depthwiseFilter

    هسته کانولوشن عمقی 4 بعدی [filter height, filter width, input channels count, channel multiplier] .

    pointwiseFilter

    هسته کانولوشن نقطه‌ای 4 بعدی [1, 1, channel multiplier * input channels count, output channels count] .

    bias

    بردار تعصب.

    activation

    تابع فعال سازی از نظر عنصر.

    strides

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

    padding

    الگوریتم padding برای کانولوشن.

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

    اعلام

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

    مولفه های

    input

    ورودی لایه

    ارزش بازگشتی

    خروجی.

  • یک لایه SeparableConv2D با شکل فیلتر مشخص شده در جهت عمق و نقطه، گام‌ها، padding و تابع فعال‌سازی عنصری ایجاد می‌کند.

    اعلام

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

    مولفه های

    depthwiseFilterShape

    شکل هسته کانولوشن 4 بعدی در جهت عمق.

    pointwiseFilterShape

    شکل هسته کانولوشن نقطه ای 4 بعدی.

    strides

    گام های پنجره کشویی برای ابعاد مکانی/فضایی-زمانی.

    padding

    الگوریتم padding برای کانولوشن.

    activation

    تابع فعال سازی از نظر عنصر.

    filterInitializer

    Initializer برای استفاده برای پارامترهای فیلتر.

    biasInitializer

    Initializer برای استفاده برای پارامترهای بایاس.