如何仅将某些列添加到张量流中的张量?
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)
考虑以下代码:
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)