我正在尝试为 tensorflow 中的变量切片赋值,但显示以下错误:“ValueError:切片赋值仅支持变量”。为什么即使我正在尝试对变量进行切片赋值,也会显示此错误。我的代码是这样的:
var1 = var1[startx:endx,starty:endy].assign(tf.ones([endx-startx,endy-starty],dtype=tf.int32))
其中 var1
是 tensorflow 变量。
最佳答案
另一个答案是正确的;对 tf 变量执行任何操作不会(总是)返回 tf 变量。因此,如果您要链接赋值,请使用显式控制依赖项:
v = tf.Variable(...)
with tf.control_dependencies([v[...].assign(...)]):
return v[...].assign(...)
关于python - 对 tensorflow 变量的切片分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52824373/