import numpy as np import cv2 epsilon=1e-3 #####input_array.shape = (h,w,n_channels) def batchnormalization(input_array,mean_p,std_p,gamma_p,beta_p): gamma_p = np.reshape(gamma_p,(1,1,len(gamma_p))) beta_p = np.reshape(beta_p,(1,1,len(beta_p))) mean_p = np.reshape(mean_p,(1,1,len(mean_p))) std_p = np.reshape(std_p,(1,1,len(std_p))) result = gamma_p/np.sqrt(std_p+epsilon)*input_array+(beta_p-(gamma_p*mean_p/np.sqrt(std_p+epsilon))) return result def instancenormalization(input_array,parameter): ######parameter.shape = (2,) (gamma,beta) mean_p = np.mean(input_array) std_p = np.std(input_array) mean_result = input_array - mean_p norm = mean_result / (std_p+epsilon) norm = norm * parameter[0] result = norm + parameter[1] return result if __name__ =='__main__': array = cv2.imread('./test1.jpg') batchnormalization(array)
normalization
最新推荐文章于 2025-06-20 17:18:24 发布