我有一个形状[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