2017-04-17 4 views
1
input = tf.Variable(tf.random_normal([1,5,5,5])) 
filter = tf.Variable(tf.random_normal([3,3,5,1])) 
op5 = tf.nn.conv2d(input, filter, strides=[1,1,1,1], padding='SAME') 
init = tf.initialize_all_variables() 
with tf.Session() as sess: 
sess.run(init) 
print(sess.run(op5)) 
print(sess.run(tf.shape(op5)))' 

出力結果の形状は[1,5,5,1]です。この場合、5,5は、1つのフィルタに対して25の異なる位置が存在することを示す。 1,1とは何ですか?コンボリューションの出力次元は何を示していますか?

答えて

1

出力シェイプの最初のディメンションはバッチサイズです。つまり、バッチに1つのサンプルがあります。最後の次元はチャネルの数です(データがNHWCの形式であると仮定します)。フィルタのサイズが[3, 3, 5, 1]、つまり入力5チャネルと出力チャネル5の場合、結果のチャネル数は1です。

これらのすべての情報は、tf.nn.conv2dのドキュメントでも参照できます。

関連する問題