Python 在tensor中更新切片或列

Python 在tensor中更新切片或列,python,numpy,tensorflow,Python,Numpy,Tensorflow,我试图更新整个列,不管张量的形状如何,列的索引也可以是形状范围内的任何内容 tensor = tf.Variable(tf.ones((5,5))) 我正在努力实现这个numpy操作: tensor[:,2] = 0 [ 1 1 0 1 1 ] [ 1 1 0 1 1 ] [ 1 1 0 1 1 ] [ 1 1 0 1 1 ] [ 1 1 0 1 1 ] 我尝试使用tf.scatter\u update,但没有成功。如果您不介意创建一个新的张量,您可以尝试: import t

我试图更新整个列,不管张量的形状如何,列的索引也可以是形状范围内的任何内容

 tensor = tf.Variable(tf.ones((5,5)))
我正在努力实现这个numpy操作:

 tensor[:,2] = 0

 [ 1 1 0 1 1 ]
 [ 1 1 0 1 1 ]
 [ 1 1 0 1 1 ]
 [ 1 1 0 1 1 ]
 [ 1 1 0 1 1 ]

我尝试使用tf.scatter\u update,但没有成功。

如果您不介意创建一个新的张量,您可以尝试:

import tensorflow as tf

t = tf.Variable(tf.ones((5,5)))
s0, s1, s2 = tf.split(t, [2, 1, 2], axis=1)
s = tf.concat([s0,tf.zeros((5,1)),s2], axis=1)

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    y = sess.run(s)
    print(y)

如果您不介意创建新的张量,可以尝试:

import tensorflow as tf

t = tf.Variable(tf.ones((5,5)))
s0, s1, s2 = tf.split(t, [2, 1, 2], axis=1)
s = tf.concat([s0,tf.zeros((5,1)),s2], axis=1)

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    y = sess.run(s)
    print(y)

我考虑过这种方式,但问题是,正如我所说的,我希望它能与任何形状一起工作。并选择任何列。我考虑过这种方式,但问题是,正如我所说的,我希望它能与任何形状一起工作。并选择任何列。