src*_*nas 4 deep-learning tensorflow tensorflow-serving
这里的答案是,一个返回一个操作,而另一个返回一个张量。从名称和文档中可以很明显地看出这一点。但是,假设我执行以下操作:
logits = tf.add(tf.matmul(inputs, weights), biases, name='logits')
Run Code Online (Sandbox Code Playgroud)
我遵循Tensorflow Mechanics 101 中描述的模式。我应该将它恢复为操作还是张量?恐怕如果我将它恢复为张量,我只会得到 logits 的最后计算值;尽管如此,这里的帖子似乎表明没有区别或者我应该只使用get_tensor_by_name
. 这个想法是计算一组新输入的对数,然后相应地进行预测。
简短回答:您可以同时使用,get_operation_by_name()
和get_tensor_by_name()
。长答案:
tf.Operation
你打电话时
op = graph.get_operation_by_name('logits')
Run Code Online (Sandbox Code Playgroud)
...它返回一个 type 实例tf.Operation
,它是计算图中的一个节点,它对其输入执行一些操作并产生一个或多个输出。在这种情况下,这是一个plus
操作。
人们总是可以在会话中评估一个操作,如果这个操作需要输入一些占位符值,引擎将强制您提供它们。一些操作,例如读取变量,没有任何依赖关系,可以在没有占位符的情况下执行。
在您的情况下,(我假设)logits
是根据输入占位符计算的x
,因此logits
如果没有特定的x
.
tf.Tensor
另一方面,调用
tensor = graph.get_tensor_by_name('logits:0')
Run Code Online (Sandbox Code Playgroud)
...返回一个对象tensor
,其类型为tf.Tensor
:
表示 的输出之一
Operation
。A
Tensor
是 .a 的输出之一的符号句柄Operation
。它不保存该操作的输出值,而是提供一种在 TensorFlow 中计算这些值的方法tf.Session
。
因此,换句话说,张量评估与操作执行相同,并且上述所有限制也适用。
为什么Tensor
有用?ATensor
可以作为输入传递给 another Operation
,从而形成图形。但是在您的情况下,您可以假设两个实体的含义相同。
归档时间: |
|
查看次数: |
3841 次 |
最近记录: |