torch.nn.Embedding(num_embeddings,embedding_dim,.....其他参数)
生成嵌入:第一个参数是需要生成多少个嵌入,第二个参数是生成嵌入的维度
embedding的取值是正态分布N(0,1)取值,好像不太对
代码验证
import torch
import torch.nn as nn
x=torch.LongTensor([1,2,3,5,2,3])
print(x)
embeddings = nn.Embedding(6,2)
print(embeddings(x))
结果显示,注意虽然嵌入结果为随机,但是相同的数值得到的嵌入相同,例如数字 2 数字 3
tensor([1, 2, 3, 5, 2, 3])
tensor([[-0.1098, -0.8086],
[ 0.9934, 0.8131],
[-1.1054, -1.7560],
[ 1.3097, 0.8458],
[ 0.9934, 0.8131],
[-1.1054, -1.7560]], grad_fn=<EmbeddingBackward>)