我现在正在做的是:
In [1]: torch.Tensor([[[] for _ in range(3)] for _ in range(5)])
Out[1]: tensor([], size=(5, 3, 0))
这对我来说很好,但是否有一个火炬的功能,可以做到这一点,我错过了
提前谢谢
编辑: 我的用例是: 我用它来聚合所有维度都相同并且没有空维度的张量。我正在使用torch.cat:
# results start with shape (a,b,0)
results = torch.Tensor([[[] for _ in range(b)] for _ in range(a)])
for t in range(time):
# r has shape (a,b)
r = model(...)
# results now has shape (a,b,t)
results = torch.cat([results,r.unsqueeze(2)],dim=-1)
简单地附加到列表对我来说是不切实际的,因为我必须在每一步上对results
进行整形操作(我正在进行波束搜索)
一种解决方案是在我得到第一个返回的张量之前不初始化results
,但这感觉是不和谐的/错误的
这可以是另一种方式,具体取决于您的用例
其他途径:
您有torch.empty函数:
是一个没有任何入口的张量
相关问题 更多 >
编程相关推荐