Machine learning 如何计算tensorflow中的单位方差?

Machine learning 如何计算tensorflow中的单位方差?,machine-learning,tensorflow,computer-vision,Machine Learning,Tensorflow,Computer Vision,我的输入是一组图像,我想计算图像的单方差。但当尝试使用numpy进行检查时,单位方差最终应为1。 我在代码中做错了什么 def pre_processing(img_list, zero_mean=True, unit_var=True): with tf.device('/cpu:0'): tn_img0 = img_list[0][1] tn_img1 = img_list[1][1] t_img = tn_img0

我的输入是一组图像,我想计算图像的单方差。但当尝试使用numpy进行检查时,单位方差最终应为1。 我在代码中做错了什么

def pre_processing(img_list, zero_mean=True, unit_var=True):
    with tf.device('/cpu:0'):
        tn_img0 = img_list[0][1]
        tn_img1 = img_list[1][1]

        t_img = tn_img0
        # t_img = tf.concat([tn_img0, tn_img1], axis=0)
        rgb_mean, rgb_var = tf.nn.moments(t_img, [0, 1])

        if zero_mean:
            tn_img0 = tf.subtract(img_list[0][1], rgb_mean)
            tn_img1 = tf.subtract(img_list[1][1], rgb_mean)

        if unit_var:
            tn_img0 = tf.divide(tn_img0, rgb_var)
            tn_img1 = tf.divide(tn_img1, rgb_var)
您应该除以标准偏差,得到输入的单位方差。因此,请将代码更改为:

tn_img0 = tf.divide(tn_img0, tf.sqrt(rgb_var))
tn_img1 = tf.divide(tn_img1, tf.sqrt(rgb_var))