PyTorch 是否nn.Embedding支持僅為特定值手動設定嵌入權重?
我知道我可以像這樣設定整個嵌入層的權重 -
emb_layer = nn.Embedding(num_embeddings, embedding_dim)
emb_layer.weights = torch.nn.Parameter(torch.from_numpy(weight_matrix))
但是,PyTorch 是否提供任何簡潔/有效的方法來設定僅為一個特定值的嵌入權重?
像emb_layer.set_weight(5) = torch.tensor([...])只為值“5”手動設定嵌入?
uj5u.com熱心網友回復:
是的。您可以運行emb_layer.weight.shape以查看權重的形狀,然后您可以像這樣訪問和更改單個權重,例如:
with torch.no_grad():
emb_layer.weight[idx_1,idx_2] = some_value
我在這里使用兩個索引,因為嵌入層是二維的。一些層,如線性層,只需要一個索引。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/475291.html
上一篇:是否可以使用sklearn中的管道來平均多個分類模型的輸出?
下一篇:產生多條線的決策樹回歸
