【问题标题】:How to calculate unit variance in tensorflow?如何计算张量流中的单位方差?
【发布时间】:2017-07-19 10:39:18
【问题描述】:

我的输入是一组图像,我想计算图像的单方差。但是当尝试使用 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)

【问题讨论】:

    标签: machine-learning tensorflow computer-vision


    【解决方案1】:

    您应该除以 standard deviation 以获得输入的单位方差。所以把你的代码改成:

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

    【讨论】:

      猜你喜欢
      • 2018-03-06
      • 2021-08-25
      • 2017-01-19
      • 2017-06-12
      • 1970-01-01
      • 1970-01-01
      • 2019-07-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多