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

标签 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
        # 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))

关于machine-learning - 如何计算 tensorflow 中的单位方差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45188089/

相关文章:

python - Keras CNN 准确率高,但预测不佳。如何改进

python - 如何使用 Python OpenCV 裁剪图像上的每个字符?

machine-learning - caffe 中的 .net 文件是什么?

machine-learning - 如何使预先存在的 tensorflow variable_scope应用于操作?

python - 如何训练单输入多输出的回归模型?

c++ - dyld : Library not loaded: lib/libopencv_core. 3.0.dylib 原因:找不到图片

tensorflow - 使用带有预制索引字典的 Keras 标记器

python - LSTM 奇偶校验生成器

python - 除了反向传播之外,我想在 CPU 上使用 Tensorflow

assembly - 使用arm neon进行RGB到灰度转换