为Tensorflow中的变量赋值
我需要为Tensorflow变量赋值零,如下所示。有可能吗?我该怎么办为Tensorflow中的变量赋值,tensorflow,deep-learning,Tensorflow,Deep Learning,我需要为Tensorflow变量赋值零,如下所示。有可能吗?我该怎么办 layer = tf.nn.sigmoid(tf.add(tf.matmul(x, h), b)) layer[0] = 0 在上面的示例中,我想将零值设置为通过x矩阵和h向量相乘计算的变量的第一个索引。您不能直接赋值,但可以使用.assign()操作使其发生。另外,在分配之后,您必须使用.run()或.eval()运行操作。在我看来,这一准则应该适用于: layerOp = layer[0].assign(0) sess
layer = tf.nn.sigmoid(tf.add(tf.matmul(x, h), b))
layer[0] = 0
在上面的示例中,我想将零值设置为通过x矩阵和h向量相乘计算的变量的第一个索引。您不能直接赋值,但可以使用
.assign()
操作使其发生。另外,在分配之后,您必须使用.run()
或.eval()
运行操作。在我看来,这一准则应该适用于:
layerOp = layer[0].assign(0)
sess.run(layerOp)
请查找此项以供参考。只是为了澄清:
上面的层
是一个tf.Tensor
而不是tf.Variable
,因此没有在其上定义assign()
方法。实现所需结果的最简单方法是使用tf.slice()
和tf.concat()
构建所需结果。