我已经尝试过:
>>> import tensorflow as tf
>>> mul = tf.multiply(50,100)
>>> div = tf.divide(mul,50)
>>> mul
<tf.Tensor 'Mul_3:0' shape=() dtype=int32>
>>> div
<tf.Tensor 'truediv_2:0' shape=() dtype=float64>
>>> import tensorflow as tf
>>> x=50
>>> mul = tf.multiply(x,100)
>>> div = tf.divide(mul,50)
>>> mul
<tf.Tensor 'Mul_4:0' shape=() dtype=int32>
>>> div
<tf.Tensor 'truediv_3:0' shape=() dtype=float64>
我没有看到任何数字。我想通过张量流完成百分比。
请让我知道我在这里想念的东西。即使我尝试评估,也会遇到基于会话的错误。我确实需要建立会话,但不知道如何在内部调用它。
如果我错过了什么,请告诉我。
答案 0 :(得分:6)
在打印语句中,
<tf.Tensor 'Mul_4:0' shape=() dtype=int32>
以及其他此类陈述。这是因为Python正在打印出Tensor对象,而不是它们的值。 有两种解决方法。
启用急切执行。
import tensorflow as tf
tf.enable_eager_execution()
这将启用eager模式,您将获得张量的值而不是Tensor对象。这会在张量被声明后立即初始化(并因此急切)。
使用tf.Session()
一个tf.Session()对象运行并评估图中的张量。它以图形模式而不是急切模式运行。
with tf.Session as session:
print( session.run( div ) )
答案 1 :(得分:2)
尝试此操作肯定会有所帮助:
>>> import tensorflow as tf
>>> a = tf.placeholder(tf.float32)
>>> b = tf.placeholder(tf.float32)
>>> sess = tf.Session()
>>> percentage = tf.divide(tf.multiply(a,100),b)
>>> sess.run(tf.global_variables_initializer())
>>> sess.run(percentage,feed_dict={a:4,b:20})
20.0
>>> sess.run(percentage,feed_dict={a:50,b:50})
100.0
>>> sess.close()
您可以参考简单的示例:
https://stackoverflow.com/a/39747526/4948889
希望这会有所帮助。