在某种程度上,我需要获取keras / tensorflow中的Tensor值。因此,我在这里遇到了两种可能的解决方案:
tf.eval()
tf.get_value()
这次文档也没有让我失望:
对于eval:
计算变量的值。
对于get_value:
返回变量的值。
我认为我们在这里使用英语定义。
基本上,一个似乎在另一个点(!)呼叫另一个。
def eval(x):
return get_value(to_dense(x))
另一个比较重:
def get_value(x):
if not tensor_util.is_tensor(x):
return x
if context.executing_eagerly():
return x.numpy()
if not getattr(x, '_in_graph_mode', True):
with context.eager_mode():
return x.numpy()
if ops.executing_eagerly_outside_functions():
return function([], x)(x)
return x.eval(session=get_session((x,)))
无论如何,有谁知道它们之间的区别以及何时使用它们中的任何一个?