torch.nn.Embedding维度问题
- input : LongTensor of arbitrary shape containing the indices to extract
- Output: (*, embedding_dim), where * is the input shpe
注意: - self.emb()输入的一定是一个Longtorch,这个LongTensor中可以是带有batch_size N的二维tensor,也可以是不带batch_size的一维tensor。
- 输入的LongTensor虽然输入的每一个代表一个数,但是进入embedding之后就会生成一个one-hot vector,所以LongTensor不仅仅代表单单的标量,而是映射的one-hot vector。one-hot vector的大小就是等于embedding word 中词的多少,也就是输入的LongTensor的大小。LongTensor经过torch.nn.embedding初始化后,生成matrix,里面词的多少就是根据输入的LongTensor构造的。