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