【发布时间】:2017-10-04 19:11:10
【问题描述】:
我想计算 CNTK 模型中张量的累积和。这对序列来说相当简单,但不清楚如何在静态轴上做到这一点。如果您先验地知道轴的维度,您可以想象通过一组复杂的收集/减少和/拼接操作来做到这一点,但这将是非常低效的。
【问题讨论】:
标签: python deep-learning cntk
我想计算 CNTK 模型中张量的累积和。这对序列来说相当简单,但不清楚如何在静态轴上做到这一点。如果您先验地知道轴的维度,您可以想象通过一组复杂的收集/减少和/拼接操作来做到这一点,但这将是非常低效的。
【问题讨论】:
标签: python deep-learning 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
【讨论】: