4 x 6
4 がバッチ サイズで、6 がシーケンス長であるサイズのテンソルがあります。シーケンス ベクトルのすべての要素は、何らかのインデックス (0 から n) です。3次元のベクトルがインデックスの1つのホットエンコーディングになるテンソルを作成したい4 x 6 x n
。つまり、指定されたインデックスに1を入れ、残りの値がゼロになることを意味する。
たとえば、次のテンソルがあります。
[[5, 3, 2, 11, 15, 15],
[1, 4, 6, 7, 3, 3],
[2, 4, 7, 8, 9, 10],
[11, 12, 15, 2, 5, 7]]
ここでは、すべての値は (0 から n) の間 (n = 15) にあります。そのため、テンソルを4 X 6 X 16
、3 番目の次元が 1 つのホット エンコーディング ベクトルを表すテンソルに変換したいと考えています。
PyTorch 機能を使用してそれを行うにはどうすればよいですか? 現在、ループでこれを行っていますが、ループを避けたいです!