计算CNTK中静态轴的累积和

2024-04-26 14:19:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我想计算CNTK模型中张量的累积和。对于序列来说,这相当简单,但是如何在静态轴上做到这一点还不清楚。如果一个人事先知道轴的维数,你可以用一组复杂的聚集/减少/求和/拼接操作来实现这一点,但这将是非常低效的。你知道吗


Tags: 模型静态序列cntk维数
1条回答
网友
1楼 · 发布于 2024-04-26 14:19:41

像这样的行动肯定在我们的待办事项清单上。由于这可以作为矩阵产品进行扩展,因此使用以下实现不会太低效:

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

相关问题 更多 >