在Tensorflow中重新分配后,如何防止将此变量从变量转换为Tensor?

时间:2019-07-09 00:21:08

标签: python tensorflow

这是我的代码段。 x_hat从tensorflow.python.ops.variables.RefVariable转换为tensorflow.python.framework.ops.Tensor

import tensorflow as tf
import tensorflow.contrib.slim as slim
import tensorflow.contrib.slim.nets as nets
tf.logging.set_verbosity(tf.logging.ERROR)
sess = tf.InteractiveSession()
image = tf.Variable(tf.zeros((299, 299, 3)))

x = tf.placeholder(tf.float32, shape=[None, None, None])
x_hat = image

print(type(x_hat))
noise = x_hat - x
#filter noise
x_hat = noise + x

print(type(x_hat))

基本上,在会话中对x_hat进行了修改(未显示代码),并且在此修改之后,我想从x_hat中提取“ noise”,修改“ noise”,然后将其添加回x_hat。但是,我编写的代码将x_hat投射到Tensor中,这在以后破坏了事情。

我确定我的尝试不是实现我想要的正确方法,所以您有什么建议吗?

1 个答案:

答案 0 :(得分:0)

以下代码在更改类型的情况下执行

x_hat = noise + x

适当的方法:

op = tf.assign(x_hat,noise+x)