如何对N-d张量切片求和?



我有一个形状[None,2,7]的张量,一个更好理解的虚拟形状。我需要在tensorflow中获得以下numpy功能。

arr = np.array([[[1, 2, 3,4,5,6,7], [4, 5, 6,1,2,3,4]], [[1, 2, 3,7,6,5,4], [4, 5, 6,4,3,2,1]]])
#in numpy 
x[:, :, -3:] = x[:, :, :3] - 
x[:, :, :3].sum(axis=1, keepdims=True)/num         #num shape is [None,1,1]

我需要在tensorflow中进行上述操作。但是tensorflow不支持对占位符进行切片操作。

在我的例子中,x的None取决于其他操作。如果是输入占位符,就很容易了。

关于此问题的任何解决方法或帮助

Thanks in advance

做你需要的操作,并与旧张量的其余部分连接。

sliced = x[:, :, :3] - tf.reduce_sum(x[:, :, :3], axis=1, keepdims=True) 
new_tensor = tf.concat([x[:,:,:-3], sliced], axis=-1)

如果之后需要相同的名称,只需

old_tensor = new_tensor

相关内容

  • 没有找到相关文章

最新更新