diff --git a/exp/kerokero/k_util.py b/exp/kerokero/k_util.py new file mode 100644 --- /dev/null +++ b/exp/kerokero/k_util.py @@ -0,0 +1,14 @@ +import math + +import keras.backend as K + +def singleUnorderedLoss(yTrue,yPred): + d1=sum(math.sqrt(min((yTrue[i*2]-yPred[j*2])**2+(yTrue[i*2+1]-yPred[j*2+1])**2 for j in range(4))) for i in range(4)) + d2=sum(math.sqrt(min((yTrue[i*2]-yPred[j*2])**2+(yTrue[i*2+1]-yPred[j*2+1])**2 for i in range(4))) for j in range(4)) + return (d1+d2)/2 + + +def averageDistance(yTrue,yPred): + squares=K.square(yTrue-yPred) + distances=K.sqrt(K.sum(squares,-1)) + return K.mean(distances,-1)