侵食2D

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

2-D 形態侵食層

この層は、提供されたフィルターを使用して入力テンソルの形態的浸食を返します。

  • 4D 拡張フィルター。

    宣言

    public var filter: Tensor<Scalar>
  • 空間寸法のスライディング ウィンドウのストライド。

    宣言

    @noDerivative
    public let strides: (Int, Int)
  • 拡張のためのパディング アルゴリズム。

    宣言

    @noDerivative
    public let padding: Padding
  • 空間次元の膨張係数。

    宣言

    @noDerivative
    public let rates: (Int, Int)
  • 指定されたフィルター、ストライド、拡張、およびパディングを使用してErosion2Dレイヤーを作成します。

    宣言

    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

    パディング サイズはパディング スキームによって決まります。

    注記

    .valid使用する場合、パディング サイズはゼロになります。

    宣言

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

    パラメーター

    input

    シェイプのレイヤーへの入力 [バッチ サイズ、入力の高さ、入力の幅、入力チャネル数]。

    戻り値

    形状の出力 [バッチ数、出力高さ、出力幅、出力チャネル数]。