【问题标题】:Calculate cumulative sum across static axis in CNTK在 CNTK 中计算跨静态轴的累积和
【发布时间】:2017-10-04 19:11:10
【问题描述】:

我想计算 CNTK 模型中张量的累积和。这对序列来说相当简单,但不清楚如何在静态轴上做到这一点。如果您先验地知道轴的维度,您可以想象通过一组复杂的收集/减少和/拼接操作来做到这一点,但这将是非常低效的。

【问题讨论】:

    标签: python deep-learning cntk


    【解决方案1】:

    这样的操作肯定在我们的待办事项清单上。由于这可以表示为矩阵乘积,因此使用以下实现不会太低效:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-15
      • 1970-01-01
      • 2017-11-28
      • 1970-01-01
      • 2021-10-24
      • 2019-08-23
      • 2021-02-02
      相关资源
      最近更新 更多