将numpy转换为张量(keras)(损失函数)

时间:2020-05-02 22:59:16

标签: numpy keras tensorflow2.0 tensor loss-function

我正在尝试定义以下形状的损失函数:(NUM_OF_STROKES,STROKE_LEN,2) 例如,假设NUM_OF_STROKES = 1,STROKE_LEN = 4,它可能像这样: TypeIdentifier

我希望损失函数是两个对应点之间的距离(所有距离之和)。例如:

[[[x1,y1], [x2,y2], [x3,y3], [x4,y4]]]

在numpy中,我可以执行以下操作: p1 = [[[a1,b1], [a2,b2], [a3,b3], [a4,b4]]] p2 = [[[c1,d1], [c2,d2], [c3,d3], [c4,d4]]] loss = sqrt((a1-c1)^2 + (b1-d1)^2) + ... + sqrt((a4-c4)^2 + (b4-d4)^2)

但是我不知道如何在tensrflow中做到这一点 我正在使用tensorflow 2,keras。

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找的是

tf.keras.backend.sum(tf.sqrt(tf.keras.backend.sum(tf.square(labels - predictions), axis=3)))

axis = 3用于批次