Pytorch如何将Tensor的每个元素转换为Tensor?

ruyhziif  于 2023-06-23  发布在  其他
关注(0)|答案(1)|浏览(166)

如果我有这样Tensor:
Tensor([ 0.5324,-0.1281,0.0565,0.0114])
我想转换成:
Tensor([ [0.5324],[-0.1281],[0.0565],[0.0114] ])
所以每个元素都是Tensor本身。有什么简单的方法吗?谢谢你

4jb9z9bj

4jb9z9bj1#

是的,有一个简单的方法来实现所需的转换。你可以使用PyTorch中的unsqueeze()函数来为Tensor添加额外的维度。你可以这样做:

import torch

original_tensor = torch.tensor([0.5324, -0.1281, 0.0565, 0.0114])
converted_tensor = original_tensor.unsqueeze(1)

print(converted_tensor)

输出:

tensor([[ 0.5324],
        [-0.1281],
        [ 0.0565],
        [ 0.0114]])

unsqueeze()函数接受一个参数dim,该参数指定要插入额外维度的位置。在本例中,dim=1意味着您希望将额外的维度作为列插入,从而有效地将每个元素转换为自己的Tensor。
请注意,结果Tensor的形状为(4, 1),而不是原始Tensor中的(4,),反映了增加的维度。

相关问题