Files @ 006c6f1aab13
Branch filter:

Location: OneEye/exp/kerokero/k_util.py - annotation

Laman
Euclidean distance as a loss function
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)