代码之家  ›  专栏  ›  技术社区  ›  user25004

如何将Pytroch张量从数学上的列向量转换为列矩阵?

  •  1
  • user25004  · 技术社区  · 7 年前

    我正在pytorch中使用张量。 如何将对应于列向量的张量转换为对应于其转置的张量?

    import numpy as np
    coef = torch.from_numpy(np.arange(1.0, 5.0)).float()
    print(coef)
    print(coef.size())
    

    当前大小为 coef [4] 但我希望是这样 [4, 1] 内容相同。

    2 回复  |  直到 7 年前
        1
  •  3
  •   jdhao    7 年前

    在Pytork中很容易实现。您可以使用 view() 方法

    coef = coef.view(4, 1)
    print(coef.size()) # now the shape will be [4, 1]
    
        2
  •  2
  •   nemo    7 年前

    使用时 .view 总的来说,这当然是一个很好的选择,为了完整起见,我想补充一点,还有 .unsqueeze() 在指定索引处添加额外维度的方法(与 .squeeze() 删除统一维度的方法):

    >>> coef = coef.unsqueeze(-1) # add extra dimension at the end
    >>> coef.shape
    torch.Size([4, 1])
    

    对于一般的换位,您可以使用 .t() 方法