0

Caffe で畳み込みの出力を複製しようとしています。

私の知る限り、Caffe は im2col アルゴリズムを使用して nD 配列を行列にキャストし、それらを乗算します。ただし、Caffe での出力のサイズは私を混乱させます。

ImageData レイヤーを使用して、寸法 150x149 の 4 つの画像をバッチ サイズ 4 で入力します。Caffe は、寸法 4x3x149x150 の 4D 配列を作成します。

これらを、サイズ 7 のフィルターと 1 のストライド (num_output = 1 & バイアス = ゼロ ベクトル) のフィルターを持つ畳み込みレイヤーで畳み込みます。これは、重みの寸法が 1x3x7x7 であることを意味します。私の知る限り、ストライドが 1 の場合、すべての要素にフィルターを適用し、出力は入力と同じ次元にする必要があります。ただし、次の次元の出力が得られます: 4x1x143x144。

これがどのように可能かわかりません。Matlab (または何でも) で同じ操作をどのように実行しますか?

インプットからアウトプットまでをどうするか?

4

1 に答える 1

1

畳み込みフィルターの幅は 7 です。1D で見ると、最初のアプリケーションはピクセルになります。

1, 2, 3, 4, 5, 6, 7,

ピクセルへの2番目のもの

2, 3, 4, 5, 6, 7, 8,

など、ピクセルで動作する最後のものまで

143, 144, 145, 146, 147, 148, 149.

ご覧のとおり、フィルターには 143 の異なるアプリケーションがあり、それぞれが 1 つの出力ピクセルを生成します。したがって、出力次元は 143 です。他の座標方向についても同様に機能します。

つまり、ストライド 1 のフィルターの出力幅は常に

output width = image width - filter width + 1.
于 2016-03-06T18:30:30.780 に答える