def logerr_func(dblabel,X_predicted,I_sub,K_sub): import numpy as np # loading # file = '/media/aneumann/Harddisk/Datenbanken/PythonTest_5/Predicted_0_2_CNN_whole.npz' # content_predict = np.load(file) # dblabel_matrix, dbmixed_matrix, predictionError_matrix, X_predicted_matrix = content_predict['dblabel_matrix'], content_predict['dbmixed_matrix'], content_predict['predictionError_matrix'], content_predict['X_predicted_matrix'] # o = 1 # dbmixed = dbmixed_matrix[o] # X_predicted = X_predicted_matrix[o] # dblabel = dblabel_matrix[o] # predictionError = predictionError_matrix[o] # initialize logerr_mean = [] logerr_over = [] logerr_under = [] logerr_var = [] # reference label psd refpsd = dblabel[0:256,0:128] # estimated psd estpsd = X_predicted[0:256,0:128] # logerr mean deltadb_mean = np.absolute(np.subtract(refpsd,estpsd)) # print(deltadb_mean) logerr_mean = np.mean(deltadb_mean) # print(logerr_mean) # logerr over deltadb = refpsd - estpsd condition_over = deltadb > 0 arr_over = np.extract(condition_over, deltadb) logerr_over = np.mean(arr_over) # print(logerr_over) # logerr under condition_under = deltadb < 0 arr_under = np.extract(condition_under, deltadb) logerr_under = np.mean(arr_under) # print(logerr_under) # logerr Var I_sub = 4 K_sub = 4 logerr_varki = np.zeros((int(deltadb_mean.shape[0]/K_sub),int(deltadb_mean.shape[1]/I_sub))) for i in range(0,int(deltadb_mean.shape[1]/I_sub)): for k in range(0,int(deltadb_mean.shape[0]/K_sub)): mu = (1/K_sub) * np.sum(deltadb_mean[k*K_sub:k*K_sub+(K_sub),:],axis=0) logerr_varki[k,i] = 1/(K_sub*I_sub) * np.sum(np.power((deltadb_mean[k*K_sub:k*K_sub+K_sub,i*I_sub:i*I_sub+I_sub]-mu[i*I_sub:i*I_sub+I_sub]),2)) logerr_var = np.mean(logerr_varki) # print(logerr_var) return logerr_mean, logerr_over, logerr_under, logerr_var