标准偏差值计算错误

error in calculating standard deviation value

我使用 tensorflow 和 numpy 得到两个不同的值

x = [1,2,3,4,5] 
np.std(x)

给出1.414;而:

def std(x):
     _,var = tf.nn.moments(x,axis=[0])
     return var

x = tf.Variable([1,2,3,4,5],dtpye=tf.float32)

print(sess.run(tf.std(x))

给出 2.0.

我是否正确声明了 tensorflow 对象?

一个样本的second central moment就是你例子中的方差(4+1+0+1+4)/5.=2.0。 std 是它的平方根。