2024-04-26 14:19:41 发布
网友
我想计算CNTK模型中张量的累积和。对于序列来说,这相当简单,但是如何在静态轴上做到这一点还不清楚。如果一个人事先知道轴的维数,你可以用一组复杂的聚集/减少/求和/拼接操作来实现这一点,但这将是非常低效的。你知道吗
像这样的行动肯定在我们的待办事项清单上。由于这可以作为矩阵产品进行扩展,因此使用以下实现不会太低效:
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
像这样的行动肯定在我们的待办事项清单上。由于这可以作为矩阵产品进行扩展,因此使用以下实现不会太低效:
相关问题 更多 >
编程相关推荐