Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pytorch:如何在没有任何条目的情况下正确初始化张量?_Python_Initialization_Append_Pytorch_Empty List - Fatal编程技术网

Python pytorch:如何在没有任何条目的情况下正确初始化张量?

Python pytorch:如何在没有任何条目的情况下正确初始化张量?,python,initialization,append,pytorch,empty-list,Python,Initialization,Append,Pytorch,Empty List,我现在正在做的是: 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

我现在正在做的是:

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)
    
简单地附加到列表对我来说是不切实际的,因为我必须对每个步骤的
结果
执行整形操作(我正在进行波束搜索)


一种解决方案是在我得到第一个返回的张量之前不初始化
结果,但这感觉不和谐/错误。

这可能是另一种方式,具体取决于您的用例

alpha = torch.tensor([])

In[5]:  alpha[:,None,None,None]
Out[5]: tensor([], size=(0, 1, 1, 1))
其他途径:

torch.tensor([[[[]]]]) #tensor([], size=(1, 1, 1, 0))
torch.tensor([[[[],[]]]]) #tensor([], size=(1, 1, 2, 0))
您具有以下功能:

torch.empty(5,3,0)
>>> tensor([], size=(5, 3, 0))

是一个没有任何条目的张量。empty()不会创建空张量。看看这个:你完全正确,我道歉。我误解了OP想要什么<代码>火炬。空(0,1,1,1)
仍然产生与代码I相同的结果think@Mughees这些方法实际上都没有初始化张量。将维度0与
一等一起使用将产生与您的答案相同的结果。检查
.tolist()
结果。没有一个能真正设置张量的元素。@Berriel,我的意思是,在这一点上,实际的问题是“一个张量在没有任何输入的情况下被初始化意味着什么?”Mughees和我的回答只是为了创建一个与OP的张量具有相同奇怪维度的张量,我想这对你有什么作用?你以后怎么处理这个张量?因为这个张量实际上并不像它那样有用。@Berriel请看编辑不幸的是,这对我不起作用,因为我需要一些大于1的非零DIM