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]
簡單吧;