diff --git a/tools/evaluation/utility/computing.py b/tools/evaluation/utility/computing.py index e73ce2dabd107e7e0a450469421e84310c3fd4ec..d5138c51f847258f4603c08400cd9118c70dc9a3 100644 --- a/tools/evaluation/utility/computing.py +++ b/tools/evaluation/utility/computing.py @@ -258,40 +258,68 @@ def getSpaceRMSerrorArray(lL,tL,path): return arrayOfErrors def getSpaceRMSerrorFromTXT(l,j,path,n): print(l,j) + (evalPoints,activation)=read.getActivationData(path,read.createActiFilename(l_0,j)) + (points_l,activation_l)=read.getActivationData(path,read.createActiFilename(l,j)) + (points_lPlusOne,activation_lPlusOne)=read.getActivationData(path,read.createActiFilename(l+1,j)) + dict1={} + dict2={} + for index in range(len(points_l)): + p=str(points_l[index][0])+', '+str(points_l[index][1])+', '+str(points_l[index][2]) + dict1[p]=activation_l[index] + + for index in range(len(points_lPlusOne)): + p=str(points_lPlusOne[index][0])+', '+str(points_lPlusOne[index][1])+', '+str(points_lPlusOne[index][2]) + dict2[p]=activation_lPlusOne[index] + sumDiffSquares=0.0 - lineNumbers_l =read.getIDList(path,l) - lineNumbers_lPlusOne =read.getIDList(path,l+1) - activation_l=read.getActivationOnly(path,read.createActiFilename(l,j)) - activation_lPlusOne=read.getActivationOnly(path,read.createActiFilename(l+1,j)) - for i in range(n): - at=activation_l[lineNumbers_l[i]] - at_lPlusOne=activation_lPlusOne[lineNumbers_lPlusOne[i]] - diff=abs(float(at)-float(at_lPlusOne)) + for p in evalPoints: + key=str(p[0])+', '+str(p[1])+', '+str(p[2]) + diff=abs(dict1[key]-dict2[key]) sumDiffSquares+=diff*diff - rmse=math.sqrt((1/n)*sumDiffSquares) + rmse=math.sqrt((1/len(evalPoints))*sumDiffSquares) return rmse def getTimeRMSerrorFromTXT(l,j,path,n): print(l,j) + (evalPoints,activation)=read.getActivationData(path,read.createActiFilename(l_0,j)) + (points_l,activation_l)=read.getActivationData(path,read.createActiFilename(l,j)) + (points_jPlusOne,activation_jPlusOne)=read.getActivationData(path,read.createActiFilename(l,j+1)) sumDiffSquares=0.0 - lineNumbers_l =read.getIDList(path,l) - activation_j=read.getActivationOnly(path,read.createActiFilename(l,j)) - activation_jPlusOne=read.getActivationOnly(path,read.createActiFilename(l,j+1)) - for i in range(n): - at=activation_j[lineNumbers_l[i]] - at_jPlusOne=activation_jPlusOne[lineNumbers_l[i]] - diff=abs(float(at)-float(at_jPlusOne)) + dict1={} + dict2={} + for index in range(len(points_l)): + p=str(points_l[index][0])+', '+str(points_l[index][1])+', '+str(points_l[index][2]) + dict1[p]=activation_l[index] + + for index in range(len(points_lPlusOne)): + p=str(points_jPlusOne[index][0])+', '+str(points_jPlusOne[index][1])+', '+str(points_jPlusOne[index][2]) + dict2[p]=activation_jPlusOne[index] + + sumDiffSquares=0.0 + for p in evalPoints: + key=str(p[0])+', '+str(p[1])+', '+str(p[2]) + diff=abs(dict1[key]-dict2[key]) sumDiffSquares+=diff*diff - rmse=math.sqrt((1/n)*sumDiffSquares) + rmse=math.sqrt((1/len(evalPoints))*sumDiffSquares) return rmse def getRMSerror(l_0,l,j,path): (evalPoints,activation)=read.getActivationData(path,read.createActiFilename(l_0,j)) (points_l,activation_l)=read.getActivationData(path,read.createActiFilename(l,j)) (points_lPlusOne,activation_lPlusOne)=read.getActivationData(path,read.createActiFilename(l+1,j)) + sumDiffSquares=0.0 + dict1={} + dict2={} + for index in range(len(points_l)): + p=str(points_l[index][0])+', '+str(points_l[index][1])+', '+str(points_l[index][2]) + dict1[p]=activation_l[index] + + for index in range(len(points_lPlusOne)): + p=str(points_lPlusOne[index][0])+', '+str(points_lPlusOne[index][1])+', '+str(points_lPlusOne[index][2]) + dict2[p]=activation_lPlusOne[index] + sumDiffSquares=0.0 for p in evalPoints: - id_l=getID(p,points_l) - id_lPlusOne=getID(p,points_lPlusOne) - diff=abs(activation_l[id_l]-activation_lPlusOne[id_lPlusOne]) + key=str(p[0])+', '+str(p[1])+', '+str(p[2]) + diff=abs(dict1[key]-dict2[key]) sumDiffSquares+=diff*diff rmse=math.sqrt((1/len(evalPoints))*sumDiffSquares) return rmse