TensorFlow有两种评估图形部分的方法:Session.run
在变量列表和上Tensor.eval
。两者之间有区别吗?
如果您有Tensor
t,则调用t.eval()
等效于tf.get_default_session().run(t)
。
您可以将会话设置为默认会话,如下所示:
t = tf.constant(42.0)
sess = tf.Session()
with sess.as_default(): # or `with sess:` to close on exit
assert sess is tf.get_default_session()
assert t.eval() == sess.run(t)
最重要的区别是,您可以sess.run()
在同一步骤中用来获取许多张量的值:
t = tf.constant(42.0)
u = tf.constant(37.0)
tu = tf.mul(t, u)
ut = tf.mul(u, t)
with sess.as_default():
tu.eval() # runs one step
ut.eval() # runs one step
sess.run([tu, ut]) # evaluates both tensors in a single step
请注意,每次调用eval
和run
都会从头开始执行整个图形。要缓存计算结果,请将其分配给tf.Variable
。
Tensorflow推出了XLA编译器,该编译器编译面向LLVM的后端C Tensorflow。我对XLA的理解是,只要有LLVM,它就是朝着支持通用加速设备迈出的一步- Tensorflow lite是最近发布的,取代了Tensorflow Mobile,似乎是工作重点针对嵌入式和移动设备的地方,显然重点关注嵌入式DSP和GPU作为这些环境中常见的可选处理器。Tensorflow lite似乎将
问题内容: 我只是想知道为什么我们通常在两个布尔之间使用逻辑OR 而不是按位OR ,尽管它们都运行良好。 我的意思是,请看以下内容: 我们可以代替使用吗?与和相同。 问题答案: 如果您使用和形式,而不是这些运算符的和形式,则Java不会费心地单独评估右手操作数。 这是您是否希望缩短评估时间的问题-在 大多数情况 下都是如此。 说明短路好处的一个好方法是考虑以下示例。 正如Jeremy和Peter提
问题内容: 我在看一些模拟的OCJP问题。我遇到了一个非常令人困惑的语法。这里是: 为什么输出在和之间变化? 问题答案: 问题只是和您玩弄混乱的空格。 是通常的(不等于)比较。 另一方面: 最好写成如下形式: 因此,这是两个运算符。 首先反转。 然后将其分配回。 赋值运算符返回分配的值。因此,计算结果为true-这就是您要打印的内容。
只需在Xpath中添加即可--它突出显示--各种页面元素----它表示什么? 下面是用于Gmail密码字段的XPaths。的意义是什么? >
我对Angularjs很陌生。谁能解释一下这些AngularJS运算符之间的区别:用适当的例子隔离作用域。
问题内容: 通过Firebug查找相对的XPath时: ---------如果我们一开始不使用点表示什么呢? 只需添加Xpath-它突出显示—各种页面元素----------这意味着什么? 以下是XPaths for Gmail密码字段。的意义是什么? 问题答案: 这些表达式都选择不同的节点集: .//*[@id=’Passwd’] “。” 在开始处表示当前处理 在当前节点处开始 。“ *”选择从