embbding you should know
embedding:就是将词向量或者图向量 采用权重升维度,更好的去表达这个特征;nn.Embedding 是 PyTorch 中的 查表式嵌入层(lookup‐table),用于将离散的整数索引(如词 ID、实体 ID、离散特征类别等)映射到一个连续的、可训练的低维向量空间。它通过维护一个形状为 (num_embeddings, embedding_dim) 的权重矩阵,实现高效的“索引 → 向量”转换。为避免显式构造稀疏的 one-hot 张量,PyTorch 直接根据索引做“取行”操作,效率更高、内存更省。
import torch
import torch.nn as nn# 假设词汇表大小为10,每个词嵌入的维度为3
vocab_size = 10
embedding_dim = 256
embedding_layer = nn.Embedding(vocab_size, embedding_dim)
input_indices = torch.tensor([[1, 3, 5, 2, 7],[1, 3, 5, 2, 7]]) # [2,5]
embedded_input = embedding_layer(input_indices) #[2,5,256]
简单吧;