根据字典对张量中的列重新排序
reorder columns in a tensor according to a dictionary
我不知道如何正确解释它,所以标题可能会产生误导。
我想要做的是根据索引将列从 3d 张量 t1 移动到另一个 3d 张量 t2 。有一个字典 td,(k,v) 对 td 意味着 kth 列 t1 将是 vth 列 t2
目前我是这样做的:
for k,v in td.items():
t2[:,:,v] = torch.select(t1, 2, k)
但是,是的,它超级慢,因为有数百万个。
完成这项工作的最佳方式是什么?
假设没有重复值那么你可以使用
t2[:,:,list(td.values())] = t1[:,:,list(td.keys())]
我不知道如何正确解释它,所以标题可能会产生误导。 我想要做的是根据索引将列从 3d 张量 t1 移动到另一个 3d 张量 t2 。有一个字典 td,(k,v) 对 td 意味着 kth 列 t1 将是 vth 列 t2
目前我是这样做的:
for k,v in td.items():
t2[:,:,v] = torch.select(t1, 2, k)
但是,是的,它超级慢,因为有数百万个。 完成这项工作的最佳方式是什么?
假设没有重复值那么你可以使用
t2[:,:,list(td.values())] = t1[:,:,list(td.keys())]