我目前正试图让一个具有里程碑意义的预测器运行并考虑损失函数。
目前最后一个(密集)图层有32个值,16个坐标编码为x1,y1,x2,y2,......
到目前为止,我只是摆弄均方误差或平均绝对误差损失,但认为地面实况和预测坐标之间的距离更能表达数值的正确性。
我目前的实施方式如下:
script.
const clinetSideVar = `!{serverSideVar}`;
当我对它进行评估时,它似乎确实有效,但看起来确实很糟糕" hacky"对我来说。有什么建议我可以改进吗?
答案 0 :(得分:1)
相同的计算表示为Keras中的张量运算,没有分离X和Y坐标,因为这基本上是不必要的:
# get all the squared difference in coordinates
sq_distances = K.square( y_true - y_pred )
# then take the sum of each pair
sum_pool = 2 * K.AveragePooling1D( sq_distances,
pool_size = 2,
strides = 2,
padding = "valid" )
# take the square root to get the distance
dists = K.sqrt( sum_pool )
# take the mean of the distances
mean_dist = K.mean( dists )