変換2D

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

2-D 畳み込みレイヤー (画像上の空間畳み込みなど)。

この層は、層の入力と畳み込まれて出力のテンソルを生成する畳み込みフィルターを作成します。

  • 4D 畳み込みフィルター。

    宣言

    public var filter: Tensor<Scalar>
  • バイアスベクトル。

    宣言

    public var bias: Tensor<Scalar>
  • 要素ごとの活性化関数。

    宣言

    @noDerivative
    public let activation: Activation
  • 空間寸法のスライディング ウィンドウのストライド。

    宣言

    @noDerivative
    public let strides: (Int, Int)
  • 畳み込み用のパディング アルゴリズム。

    宣言

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

    宣言

    @noDerivative
    public let dilations: (Int, Int)
  • 要素ごとの活性化関数のタイプ。

    宣言

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • 指定されたフィルター、バイアス、アクティベーション関数、ストライド、拡張、およびパディングを使用してConv2Dレイヤーを作成します。

    宣言

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

    パラメーター

    filter

    [フィルター高さ、フィルター幅、入力チャンネル数、出力チャンネル数] の形状の 4 次元畳み込みフィルター。

    bias

    形状 [出力チャンネル数] のバイアス ベクトル。

    activation

    要素ごとの活性化関数。

    strides

    空間寸法のスライディング ウィンドウのストライド、つまり (ストライドの高さ、ストライドの幅)。

    padding

    畳み込み用のパディング アルゴリズム。

    dilations

    空間次元の拡張係数、つまり (拡張高さ、拡張幅)。

  • 指定された入力にレイヤーを適用して得られた出力を返します。

    出力の空間次元は次のように計算されます。

    出力の高さ = (入力の高さ + 2 * パディングの高さ - (拡張の高さ * (フィルターの高さ - 1) + 1)) / ストライドの高さ + 1

    出力幅 = (入力幅 + 2 * パディング幅 - (拡張幅 * (フィルター幅 - 1) + 1)) / ストライド幅 + 1

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

    注記

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

    宣言

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

    パラメーター

    input

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

    戻り値

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

  • 指定されたフィルター形状、ストライド、パディング、拡張、要素ごとのアクティベーション関数を使用してConv2Dレイヤーを作成します。

    宣言

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

    パラメーター

    filterShape

    4 次元畳み込みフィルターの形状。(フィルターの高さ、フィルターの幅、入力チャンネル数、出力チャンネル数) を表します。

    strides

    空間寸法のスライディング ウィンドウのストライド、つまり (ストライドの高さ、ストライドの幅)。

    padding

    畳み込み用のパディング アルゴリズム。

    dilations

    空間次元の拡張係数、つまり (拡張高さ、拡張幅)。

    activation

    要素ごとの活性化関数。

    filterInitializer

    フィルタパラメータに使用するイニシャライザ。

    biasInitializer

    バイアスパラメータに使用するイニシャライザ。