組み込み環境に近い検査疎勾配は任意であり、sparse
パラメータでオンまたはオフにすることができる時:
クラスtorch.nn.Embedding(num_embeddings、embedding_dim、padding_idx =なし、max_norm =なし、 norm_type = 2、scale_grad_by_freq = Falseを、スパース= Falseの)
どこ:
スパース(ブール値、オプション) - Trueの場合、グラデーションw.r.t.重み行列 は疎テンソルになります。 勾配のスパースに関する詳細については、「ノート」を参照してください。
「注釈」は、疎なグラデーションでサポートされているオプティマイザの数が限定されているという質問で引用したものです。
更新:
まばらな勾配にいくつかの最適化手法を実装することは理論的に可能ですが、技術的に困難です。すべてのオプティマイザのサポートを追加するには、PyTorchレポにopen issueがあります。
元の質問に関して、エンベディングは、稠密なレイヤーへの入力のためにワンホットエンコードに変換するのではなく、入力インデックスを直接操作することができるため、疎であるとみなすことができます。これは@Maxim's私のrelated questionの答えに説明されています。
[PyTorch forum](https://discuss.pytorch.org/)でこのような質問をする方が良いです。 – jdhao
良いアイデア! PyTorchのフォーラムを検索した後、私の質問にすぐに答えることができました。 – Imran
あなたは本当にあなたの質問に答えることはできませんでした。つまり埋め込みがスパースレイヤとして実装されている理由です。 – jdhao