克拉斯的欧氏距离

问题描述 投票:0回答:1

[我遇到了一个暹罗网络的Keras代码,其中两个大小分别为(?,128)的ndarray传递给一个层以获取它们之间的差,然后传递给Lambda层以获得该平方的平方和结果数组,其目的是获得两个初始数组之间的欧式距离

embedded_distance = layers.Subtract(name='subtract_embeddings')([encoded_1, encoded_2])

embedded_distance = layers.Lambda(lambda x: K.sqrt(K.sum(K.square(x), axis=-1, keepdims=True)), name='euclidean_distance')(embedded_distance)

让我感到困惑的是,根据模型的视觉体系结构,该层的输出大小以及随后的密集层的输入大小也都是大小(?128),不是吗?只是一个数字?否则sum方法如何工作?

这里是任何人感兴趣的类的链接以及视觉架构。 (请注意:此代码对我来说是不变的,并且在我用它训练模型后可以正常工作)

http://codebin.herokuapp.com/?s=5e162c612cdd6f0004000001

https://imgur.com/a/zC7Uyfm

python tensorflow machine-learning keras deep-learning
1个回答
0
投票

您报告的问题与您正在使用的事实有关>>

distance_metric == 'weighted_l1'
© www.soinside.com 2019 - 2024. All rights reserved.