din*_*gus 6 autoencoder deep-learning pytorch
我在 PyTorch 中有一个多任务编码器/解码器模型,输入端有一个(可训练的)torch.nn.Embedding
嵌入层。
在一项特定任务中,我想对模型进行自我监督预训练(以重新构建屏蔽输入数据)并将其用于推理(以填补数据空白)。
我想对于训练时间,我可以将损失作为输入嵌入和输出嵌入之间的距离来衡量……但是对于推理,我如何反转 anEmbedding
以重建输出对应的正确类别/标记?我在 Embedding 类上看不到例如“最近的”函数......
你可以很容易地做到:
import torch
embeddings = torch.nn.Embedding(1000, 100)
my_sample = torch.randn(1, 100)
distance = torch.norm(embeddings.weight.data - my_sample, dim=1)
nearest = torch.argmin(distance)
Run Code Online (Sandbox Code Playgroud)
假设您有1000
具有100
维度的标记,这将返回基于欧几里德距离的最近嵌入。您还可以以类似的方式使用其他指标。
归档时间: |
|
查看次数: |
740 次 |
最近记录: |