我需要向张量注入零列,并且想知道如何做到这一点。我看过tf.scatter_nd
文档,但还不清楚,也没有真正解释索引的工作方式。我可以做类似的事情:
x = tf.constant([1,2,3])
y = tf.scatter_nd([[0], [1], [4]], x, [5])
在这种情况下,输出将是:
[1, 2, 0, 0, 3]
它似乎也适用于更高等级的张量,例如
x = tf.constant([[1,1],[2,2]])
y = tf.scatter_nd([[0], [2]], x, [3,2])
会给予
[[1,1],[0,0],[2,2]]
但是,如果我想在第一维以外的任何地方注入零个切片,我不清楚这是如何工作的?
例如,如果我有一个[2,2,2]
形状的张量,并且我想通过在[2,2,3]
处注入零个切片使其成为[:,:,1]
形状的张量,或者我想将其旋转通过在[2,3,2]
处注入零个切片,将其变成[:,1,:]
形状的张量,那么它的语法是什么?有人可以举几个例子,说明如何将不同维度的零个切片注入更高等级的张量吗?
在NumPy中,使用np.insert
函数很容易做到,但看起来TF缺少等效功能。