TensorFlow-similarity 学习笔记3

本文详细介绍了TensorFlow-similarity中的SimilarityModel,特别是MetricEmbedding层如何通过L2 normalization学习有意义的嵌入。模型通过最大化相似示例间的距离和最小化不同示例间的距离来实现有效的近邻搜索。此外,文章还讨论了TensorFlow的nn、layers和contrib模块的区别,并展示了tf.layers中如conv2d、batch_normalization和dropout等关键层的用法。
摘要由CSDN通过智能技术生成

TensorFlow-similarity 学习笔记3

2021SC@SDUSC

Model definition
SimilarityModel()模型扩展了tensorflow.keras.model.Model,具有额外的功能和功能,允许索引和搜索类似示例。
如下方模型定义所示,相似性模型使用 MetricEmbedding() 层输出 64 维浮点数嵌入。此层是具有 L2 normalization的Dense layer。由于loss,模型可以学会最大限度地缩短类似示例之间的距离,并最大限度地扩大不同示例之间的距离。因此,嵌入空间中示例之间的距离是有意义的:距离越小,示例越相似。
能够使用距离作为两个示例的类似程度的有意义的原则,是启用fast ANN(近邻)搜索的原因。使用线性时间下的 ANN 搜索而不是标准二次 NN 搜索是允许深度相似性搜索扩展到数百万个项目的原因。此笔记本中使用的内置内存索引很容易缩放到一百万个索引示示例。如果你有足够的内存:)

def get_model():
    inputs = layers.Input(shape=(28, 28, 1))
    x = layers.experimental.preprocessing.Rescaling(1/255)(inputs
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值