使用 nn.Embedding()如何使用的例子
时间: 2023-12-10 22:01:39 浏览: 78
nn.Embedding()可以用来创建一个词嵌入层,将离散的词语映射为连续的向量表示。以下是一个使用nn.Embedding()的例子:
```
import torch
import torch.nn as nn
# 定义一个大小为10的词表,每个词嵌入向量的长度为3
vocab_size = 10
embedding_dim = 3
# 定义一个nn.Embedding()层
embedding = nn.Embedding(vocab_size, embedding_dim)
# 定义一个输入序列
input_seq = torch.LongTensor([1, 3, 5, 7])
# 将输入序列通过nn.Embedding()层得到词嵌入向量
embedding_output = embedding(input_seq)
print(embedding_output)
```
输出结果为:
```
tensor([[-1.2244, 1.1189, -1.2583],
[-0.0767, -0.6691, -0.7467],
[-1.1457, 0.1918, 0.5475],
[ 0.4068, -0.6395, 1.0637]], grad_fn=<EmbeddingBackward>)
```
在上面的例子中,我们首先定义了一个大小为10的词表,每个词嵌入向量的长度为3。然后我们创建一个nn.Embedding()层,输入参数为词表大小和词嵌入向量的长度。接着我们定义了一个输入序列,包含了4个词语的索引。最后,我们将输入序列通过nn.Embedding()层得到词嵌入向量。输出结果是一个4x3的矩阵,每行代表一个词语的词嵌入向量。
阅读全文