tensorflow :: ops :: Conv2D

#include <nn_ops.h>

4次元inputおよびfilterテンソルが与えられた場合の2次元畳み込みを計算します。

概要

形状の入力テンソル所与[batch, in_height, in_width, in_channels]及び形状のフィルタ/核テンソル[filter_height, filter_width, in_channels, out_channels]この演算を行うには、以下:

  1. フィルタを形状[filter_height * filter_width * in_channels, output_channels] 2次元行列[filter_height * filter_width * in_channels, output_channels]
  2. 入力テンソルから画像パッチを抽出して、形状[batch, out_height, out_width, filter_height * filter_width * in_channels]仮想テンソルを形成します
  3. パッチごとに、フィルター行列と画像パッチベクトルを右乗算します。

詳細には、デフォルトのNHWC形式である

output[b, i, j, k] =
    sum_{di, dj, q} input[b, strides[1] * i + di, strides[2] * j + dj, q] *
                    filter[di, dj, q, k]

strides[0] = strides[3] = 1必要があります。同じ水平ストライドと頂点ストライドの最も一般的なケースでは、 strides = [1, stride, stride, 1]

引数:

  • スコープ:スコープオブジェクト
  • 入力:4次元テンソル。ディメンションの順序は、 data_formatの値に従って解釈されます。詳細については、以下を参照してください。
  • filter:形状の4次元テンソル[filter_height, filter_width, in_channels, out_channels]
  • ストライド:長さ4の1-Dテンソル。 input各次元のスライディングウィンドウのストライド。次元の順序は、 data_formatの値によって決定されます。詳細については、以下を参照してください。
  • パディング:使用するパディングアルゴリズムのタイプ。

オプションの属性(参照Attrs ):

  • 明示的なpaddingpadding"EXPLICIT"場合、明示的なパディング量のリスト。 i番目の次元の場合、次元の前後に挿入されるパディングの量は、それぞれexplicit_paddings[2 * i]explicit_paddings[2 * i + 1]です。 padding"EXPLICIT"でない場合、 explicit_paddingsは空である必要があります。
  • data_format:入力データと出力データのデータ形式を指定します。デフォルトのフォーマット「NHWC」では、データは[バッチ、高さ、幅、チャネル]の順序で保存されます。または、形式は「NCHW」、データの保存順序は[バッチ、チャネル、高さ、幅]にすることもできます。
  • 膨張:長さ4の1-Dテンソル。 input各次元の膨張係数。 k> 1に設定すると、その次元の各フィルター要素の間にk-1個のスキップされたセルがあります。次元の順序は、 data_formatの値によって決定されます。詳細については、上記を参照してください。バッチおよび深さ寸法の膨張は1でなければなりません。

戻り値:

  • Output :4次元テンソル。次元の順序は、 data_formatの値によって決定されます。詳細については、以下を参照してください。

コンストラクタとデストラクタ

Conv2D (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding)
Conv2D (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding, const Conv2D::Attrs & attrs)

パブリック属性

operation
output

公の行事

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

パブリック静的関数

DataFormat (StringPiece x)
Dilations (const gtl::ArraySlice< int > & x)
ExplicitPaddings (const gtl::ArraySlice< int > & x)
UseCudnnOnGpu (bool x)

構造体

tensorflow :: ops :: Conv2D :: Attrs

Conv2Dのオプションの属性セッター。

パブリック属性

操作

Operation operation

出力

::tensorflow::Output output

公の行事

Conv2D

 Conv2D(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input filter,
  const gtl::ArraySlice< int > & strides,
  StringPiece padding
)

Conv2D

 Conv2D(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input filter,
  const gtl::ArraySlice< int > & strides,
  StringPiece padding,
  const Conv2D::Attrs & attrs
)

ノード

::tensorflow::Node * node() const 

operator :: tensorflow :: Input

 operator::tensorflow::Input() const 

operator :: tensorflow :: Output

 operator::tensorflow::Output() const 

パブリック静的関数

DataFormat

Attrs DataFormat(
  StringPiece x
)

膨張

Attrs Dilations(
  const gtl::ArraySlice< int > & x
)

ExplicitPaddings

Attrs ExplicitPaddings(
  const gtl::ArraySlice< int > & x
)

UseCudnnOnGpu

Attrs UseCudnnOnGpu(
  bool x
)