我需要一个与滚动非常相似的张量转换。区别在于我不希望轴末尾的值出现在开头。换句话说,例如,我希望第二个元素位于 3d 位置,但我不希望最后一个元素成为第一个元素。相反,我希望第一个元素为零。
我试过这个:
prev_xs = tf.roll(xs, shift = 1, axis = 1)
prev_xs[:,0] = 0.0
但是,它不起作用,因为
TypeError: 'Tensor' object does not support item assignment
那么,问题的正确解决方案是什么?
请您参考如下方法:
你可以使用
prev_xs = tf.concat((tf.zeros([tf.shape(xs)[0], 1]), xs[:, :1]), axis=1)
逐步地,我们通过像 [:, :1] 这样的索引来丢弃 xs 的最后一列。我们创建一列具有适当行数的零。然后我们将它连接到 xs 前面,将每列向后推 1。
