torch.nn.Embedding使用詳解

sqsq發表於2023-03-04

torch.nn.Embedding: 隨機初始化詞向量,詞向量值在正態分佈N(0,1)中隨機取值。

輸入:
torch.nn.Embedding(
num_embeddings, – 詞典的大小尺寸,比如總共出現5000個詞,那就輸入5000。此時index為(0-4999)
embedding_dim,– 嵌入向量的維度,即用多少維來表示一個符號。
padding_idx=None,– 填充id,比如,輸入長度為100,但是每次的句子長度並不一樣,後面就需要用統一的數字填充,而這裡就是指定這個數字,這樣,網路在遇到填充id時,就不會計算其與其它符號的相關性。(初始化為0)
max_norm=None, – 最大範數,如果嵌入向量的範數超過了這個界限,就要進行再歸一化。
norm_type=2.0, – 指定利用什麼範數計算,並用於對比max_norm,預設為2範數。
scale_grad_by_freq=False, 根據單詞在mini-batch中出現的頻率,對梯度進行放縮。預設為False.
sparse=False, – 若為True,則與權重矩陣相關的梯度轉變為稀疏張量。
_weight=None)
輸出:
[規整後的句子長度,樣本個數(batch_size),詞向量維度]

舉例:

部落格推薦:

https://www.cnblogs.com/duye/p/10590146.html