2017-07-19 5 views
0

My inは画像の集合で、私は画像上の一変量を計算したいと思います。しかし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) 

答えて

1

あなたはあなたの入力の単位分散を得るためにstandard deviationで割る必要があります。コードを次のように変更してください。

tn_img0 = tf.divide(tn_img0, tf.sqrt(rgb_var)) 
tn_img1 = tf.divide(tn_img1, tf.sqrt(rgb_var)) 
関連する問題