2017-10-04 15 views
1

CNTKモデルのテンソルの累積合計を計算したいと思います。これはシーケンスに対してはかなり簡単ですが、静的な軸でこれを行う方法は不明です。先に軸の次元性を知っていれば、集まり/ reduce_sum/splice操作の複雑な集合でこれを行うことができますが、これは非常に非効率的です。CNTKの静的軸を横切る累積合計を計算する

答えて

1

このような操作は間違いなく私たちのToDoリストにあります。これは行列積として表現することができるので、次の実装であまり効率的ではありません。

def cumsum(x, axis=-1): 
    d = x.shape[axis] 
    U = C.constant(np.triu(np.ones((d,d))).astype(x.dtype)) 
    if axis != -1: 
     x = C.swapaxes(x, -1, axis) 
    z = C.times(x, U) 
    if axis != -1: 
     z = C.swapaxes(z, -1, axis) 
    return z