我有两个TensorA
,形状为(25, 1010, 7, 512)
,和B
,形状为(10, 7
)。
我想使用A
的第二维以在Numpy中可以完成的方式将B
添加到前10个切片:
A[:, :10, :, :] += B[np.newaxis, :, :, np.newaxis]
(It原始Tensor是否更新并不重要,我可以在适当的位置更新或创建新Tensor)。
当然,这不能直接在tensorflow 中完成,tf.tensor_scatter_nd_add
似乎不适用于这种情况,因为切片没有进入要更新的Tensor的最终维度。有没有什么方法可以稀疏地完成这一点,或者我需要将B
填充100倍?
编辑:我在将numpy示例从就地更新转换为添加时搞砸了它。
1条答案
按热度按时间bwleehnv1#
tf.concat
在轴1上附加求和后的剩余Tensor。请查看我的更新代码-
只是为了检查你得到的答案是否与你在NumPy中的项目分配相同,你可以这样做-
一个二个一个一个