をindex_select使用して別ずつPyTorchテンソルIは3×3 PyTorch LongTensorを持っている:インデックス
A =
[0, 0, 0]
[1, 2, 2]
[1, 2, 3]
私が欲しい私たちには、インデックスに4×2 FloatTensorこのような:
B =
[0.4, 0.5]
[1.2, 1.4]
[0.8, 1.9]
[2.4, 2.9]
私の意図した出力は、以下の2×3×3 FloatTensorある:行列、すなわち
C[0,:,:] =
[0.4, 0.4, 0.4]
[1.2, 0.8, 0.8]
[1.2, 0.8, 2.4]
C[1,:,:] =
[0.5, 0.5, 0.5]
[1.4, 1.9, 1.9]
[1.4, 1.9, 2.9]
A
は索引付けおよびブロードキャストマトリックスB
です。 A
は、B
のインデックスの行列です。したがって、この操作は本質的にインデックス作成操作です。
torch.index_select()
機能を使用してこれを行うにはどうすればよいですか?ソリューションにディメンションを追加または置換する必要がある場合は問題ありません。