Python 如何在TensorFlow中无周期边界滚动?
我需要一个张量的变换,它非常类似于roll。不同之处在于,我不希望轴末端的值出现在开始处。换句话说,例如,我希望第二个元素位于3d位置,但我不希望最后一个元素成为第一个元素。相反,我希望第一个元素是零 我试过这个:Python 如何在TensorFlow中无周期边界滚动?,python,tensorflow,Python,Tensorflow,我需要一个张量的变换,它非常类似于roll。不同之处在于,我不希望轴末端的值出现在开始处。换句话说,例如,我希望第二个元素位于3d位置,但我不希望最后一个元素成为第一个元素。相反,我希望第一个元素是零 我试过这个: prev_xs = tf.roll(xs, shift = 1, axis = 1) prev_xs[:,0] = 0.0 但是,它不起作用,因为 TypeError:“Tensor”对象不支持项分配 那么,问题的正确解决方案是什么呢?您可以使用 prev_xs = tf.con
prev_xs = tf.roll(xs, shift = 1, axis = 1)
prev_xs[:,0] = 0.0
但是,它不起作用,因为
TypeError:“Tensor”对象不支持项分配
那么,问题的正确解决方案是什么呢?您可以使用
prev_xs = tf.concat((tf.zeros([tf.shape(xs)[0], 1]), xs[:, :1]), axis=1)
通过像[:,:1]
这样的索引,我们一步一步地丢弃xs
的最后一列。我们创建一列具有适当行数的零。然后我们将它连接到xs
前面,将每列向后推1