tf.mul和tf.sqrt中的参数不确定

时间:2017-10-21 09:36:04

标签: python-3.x tensorflow

我试图在一些git示例和教程的帮助下进入Tensorflow基础知识,但我仍然坚持我无法绘制{{1}的部分这里的图是我做的。

Gaussian Distribution

我最初得到x = tf.lin_space(-3.0, 3.0, 32) sess = tf.InteractiveSession() s = 0 mean = 0 gauss = (tf.exp(tf.negative(tf.pow(x - mean, 2) / (2 * tf.pow(s, 2)))) * (1.0 / (s * tf.sqrt(2 * 3.1415)))) plt.plot(x.eval(), gauss.eval()) plt.show() 因为浮动参数,即TypeError中的2.0而不是2我甚至尝试更改类型,但是tf.pow()但是这并没有帮助我在这里。

tf.to_float()

只是一个猜测不应该有ValueError: Tensor conversion requested dtype float32 for Tensor with dtype int32: 'Tensor("mul:0", shape=(), dtype=int32)' 而不是tf.matmul

1 个答案:

答案 0 :(得分:1)

找出问题所在。 pow()的输入应该是一个浮点数。因此, s 应该是一个浮点数。

x = tf.lin_space(-3.0, 3.0, 32)

sess = tf.InteractiveSession()

s = 1.0 # need to be a float
mean = 0
gauss = (tf.exp(tf.negative(tf.pow(x - mean, 2) / (2 * tf.pow(s, 2)))) * (1.0 / (s * tf.sqrt(2 * 3.1415))))
plt.plot(x.eval(), gauss.eval())
plt.show()

希望这有帮助。