我需要对张量进行变换,这与滚动非常相似。不同之处在于我不希望轴末尾的值出现在开头。换句话说,例如,我希望第二个元素位于第 3 个位置,但我不希望最后一个元素成为第一个元素。相反,我希望第一个元素为零。
我已经尝试过这个:
prev_xs = tf.roll(xs, shift = 1, axis = 1)
prev_xs[:,0] = 0.0
Run Code Online (Sandbox Code Playgroud)
但是,它不起作用,因为
prev_xs = tf.roll(xs, shift = 1, axis = 1)
prev_xs[:,0] = 0.0
Run Code Online (Sandbox Code Playgroud)
那么,什么才是正确解决问题的方法呢?
你可以使用
prev_xs = tf.concat((tf.zeros([tf.shape(xs)[0], 1]), xs[:, :1]), axis=1)
Run Code Online (Sandbox Code Playgroud)
一步一步地,我们xs通过像这样的索引丢弃最后一列[:, :1]。我们创建一列具有适当行数的零。然后我们将它连接到 前面xs,将每一列向后推 1。
| 归档时间: |
|
| 查看次数: |
367 次 |
| 最近记录: |