我想通过乘以前两个维度的形状来重新塑造张量。
例如,
第一张张量:torch.Size([12, 10])
变为torch.Size([120])
第二张张量:torch.Size([12, 10, 5, 4])
变为torch.Size([120, 5, 4])
即将前两个维度合并为一个,而其他维度保持不变。
是否有比
1st_tensor.reshape(-1,)
2nd_tensor.reshape(-1,5,4)
更聪明的方法,可以适应不同张量的形状?
测试用例:
import torch
tests = [
torch.rand(11, 11),
torch.rand(12, 15351, 6, 4),
torch.rand(13, 65000, 8)
]
t = t.reshape(-1, *t.shape[2:])
- undefined