赞
踩
nn.Embedding是用来将一个编码为指定维度的向量,比如数字1变成一个128维的向量,数字2变成另外一个128维的向量。
与one-hot编码区别:
nn.Embeddding
接受两个重要参数:
num_embeddings
:字典的大小。对应上面词典的大小,如果你的词典中包含5000个单词,那么这个字段就填5000embedding_dim
:要将单词编码成多少维的向量- import torch
- from torch import nn
-
- ##定义一个embedding层
- embedding = nn.Embedding(20, 5)
-
- #打印数字0的编码
- print('数字0的编码',embedding(torch.LongTensor([0])))
- ##注意这里在定义embedding的时候,字典的长度为20,所以在进行编码的时候不可以超过19
- aa=embedding(torch.tensor(2)).detach() ##这里输入的数不能超过20 detach是去除梯度信息
- print('aa的编码',aa.data)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。