如何在张量流中无周期边界滚动?

2024-04-19 03:53:12 发布

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

我需要一个张量的变换,它非常类似于roll。不同之处在于我不希望轴末端的值出现在开头。换句话说,例如,我希望第二个元素位于3d位置,但我不希望最后一个元素成为第一个元素。相反,我希望第一个元素是零。你知道吗

我试过这个:

prev_xs = tf.roll(xs, shift = 1, axis = 1)
prev_xs[:,0] = 0.0

但是,它不起作用,因为

TypeError: 'Tensor' object does not support item assignment

那么,问题的正确解决方案是什么呢?你知道吗


Tags: 元素supportshiftobjecttfnotitemtensor
1条回答
网友
1楼 · 发布于 2024-04-19 03:53:12

你可以用

prev_xs = tf.concat((tf.zeros([tf.shape(xs)[0], 1]), xs[:, :1]), axis=1)

通过像[:, :1]这样的索引,我们一步一步地丢弃xs的最后一列。我们创建一列具有适当行数的零。然后我们将它连接到xs前面,将每一列向后推1。你知道吗

相关问题 更多 >