Conv3D

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

画像上の空間/時空間コンボリューションのための 3-D コンボリューション レイヤー。

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

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

    宣言

    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
  • 空間/時空間次元の拡張係数。

    宣言

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

    宣言

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

    宣言

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

    パラメーター

    filter

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

    bias

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

    activation

    要素ごとの活性化関数。

    strides

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

    padding

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

    dilations

    空間/時空間次元の膨張係数。

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

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

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

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

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

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

    注記

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

    宣言

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

    パラメーター

    input

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

    戻り値

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

  • 指定されたフィルター形状、ストライド、パディング、拡張、要素ごとのアクティベーション関数を使用してConv3Dレイヤーを作成します。フィルター テンソルは、指定されたシードを使用した Glorot 均一初期化を使用して初期化されます。バイアス ベクトルはゼロで初期化されます。

    宣言

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

    パラメーター

    filterShape

    (フィルターの深さ、フィルターの高さ、フィルターの幅、入力チャンネル数、出力チャンネル数) を表す 5-D 畳み込みフィルターの形状。

    strides

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

    padding

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

    dilations

    空間/時空間次元の膨張係数。

    activation

    要素ごとの活性化関数。

    filterInitializer

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

    biasInitializer

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