欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

pytorch对item进行嵌入nn.embedding()函数

程序员文章站 2022-06-13 15:51:59
...

nn.embedding()

用于将多个item(例如10000个item)用固定长度的向量表示,如果想要表示这1w个item,正常来说就是用onehot形式,维度为1w,太大,因此可以用nn.embedding将其嵌入为低维度的vector,内部原理是一个随机初始化的矩阵

embedding = nn.Embedding(input_dim, embedding_dim)

此时就得到了一个(input_dim,embedding_dim)的矩阵,我们每输入一个index(item的第index个,范围是[0,input_dim-1]),就可以从该矩阵中得到相应的embedding_dim维度的一个向量。

注意:输入必须是LongTensor,FloatTensor须通过**tensor.long()**方法转成LongTensor。