如何仅将某些列添加到张量流中的张量?

How do I add only certain columns to a tensor in tensorflow?

考虑以下代码:

import tensorflow as tf

test=tf.constant([[[100., 2., -30.],[-4,5,6]], [[4., 5., 6.],[-7,8,9]]]) # matrix

print(test)

test1=tf.constant([[[100.]],[[  8.]]])

print(test1)

将 test1 添加到 test 的前两列时,我们将得到以下输出:

print(test[:,:,0:2]+test1)

我不想将test1变量添加到测试变量的最后一列,但同时我想在输出中包含测试变量的最后一列不变:

[[[200. 102., -30.]
  [ 96. 105., 6.]]

 [[ 12.  13., 6]
  [  1.  16., 9]]]

我如何快速编码?

最简单的选择是只使用 tf.concat:

import tensorflow as tf

test = tf.constant([[[100., 2., -30.],[-4,5,6]], [[4., 5., 6.],[-7,8,9]]]) # matrix
test1 = tf.constant([[[100.]],[[  8.]]])

print(tf.concat([test[:,:,0:2] + test1, test[:,:,2:]], axis=-1))
tf.Tensor(
[[[200. 102. -30.]
  [ 96. 105.   6.]]

 [[ 12.  13.   6.]
  [  1.  16.   9.]]], shape=(2, 2, 3), dtype=float32)