ValueError: Tensorflow error: “Tensor must be from the same graph as Tensor
在使用keras的backend.set_value(x, value)时出现以上报错,是由于set_value(x, value)函数定义中使用placeholder与x不属于同一图导致,修改函数定义如下即可:
def set_value(x, value):
value = np.asarray(value, dtype=dtype(x))
tf_dtype = tf.as_dtype(x.dtype.name.split('_')[0])
if hasattr(x, '_assign_placeholder'):
assign_placeholder = x._assign_placeholder
assign_op = x._assign_op
else:
assign_placeholder = tf.placeholder(tf_dtype, shape=value.shape)
assign_op = x.assign(value)
x._assign_placeholder = assign_placeholder
x._assign_op = assign_op
get_session().run(assign_op)