首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Keras Embeddings -如何将嵌入向量与正确的类别进行匹配?

Keras Embeddings -如何将嵌入向量与正确的类别进行匹配?
EN

Stack Overflow用户
提问于 2020-10-26 21:38:15
回答 1查看 199关注 0票数 1

我使用函数式api对样本进行嵌入层训练,将10个唯一值的类嵌入到4维向量中,得到了Keras模型。加载嵌入权重后

代码语言:javascript
复制
embeddings_pclass = model.get_layer('Class').get_weights()

我得到了10个向量的列表,比如.3,-.1,.9,.1等等。这一切都很好,并按计划进行。但是我找不到任何地方,如何做一些逆向工程来找出哪个类与哪个向量匹配?我的类的唯一值是1,2,3,5,7,8,9,12,15,19。我应该期望这是列表中向量的唯一值的asc顺序吗?

谢谢E

EN

回答 1

Stack Overflow用户

发布于 2020-10-27 15:49:36

tf.keras.layers.Embedding中没有显式的函数来获取类,但您可以将其视为在权重矩阵中找到最接近的嵌入的问题。权重矩阵行对应于类(正如您正确猜测的那样),因此可以使用argmin来获取类值。

代码语言:javascript
复制
def get_class (emb_layer, encoded):
    w = emb_layer.get_weights()[0]
    distances = tf.math.reduce_euclidean_norm(w - encoded, axis = 1)
    return tf.math.argmin(distances).numpy()

get_class(model.get_layer('Class'), tf.constant([.3,-.1,.9,.1]))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64538245

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档