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。