2017-05-09 11 views
1

配列または行列に対してブロックワイズの合計を行うことができるテンソルフロー関数はありますか?例えばテンソルフロー:ブロックワイズ配列/行列合計

Iが配列

tf.constant(np.array([1,2,3,4,5,6])) 

を持っている場合、私は2素子のブロックの和の配列を返す必要があります。換言すれば、配列中の1 + 2, 3 + 45 + 6の合計。

np.array([3,7,11]) 
+0

フィルター '[1,1] 'で畳み込みを行い、フィルターを訓練しないでください。また、 'stride = 2'を設定します。 –

答えて

0

次のようにあなたがtf.reshapetf.reduce_sumを使用してそれを行うことができます。

import tensorflow as tf 
n=tf.constant([1,2,3,4,5,6]) 
res=tf.reduce_sum(tf.reshape(n,(3,2)),1) 
sess=tf.Session() 
res.eval(session=sess) 

あなたがk要素のばらばらのシーケンスの合計を取得したい場合、これは、一般的なケースではarray([ 3, 7, 11])

を印刷します、tf.reshape(n,(3,2))tf.reshape(n,(-1,k))に置き換えてください。 (-1は、行の数をn/kに指定するよう強制します)。