代码之家  ›  专栏  ›  技术社区  ›  Tom Hale

将PyTorch张量转换为python列表

  •  2
  • Tom Hale  · 技术社区  · 6 年前

    我该如何转换火把 Tensor

    我当前的用例是转换大小张量 [1, 2048, 1, 1] 包含2048个元素。

    2 回复  |  直到 6 年前
        1
  •  27
  •   Tom Hale    6 年前

    我发现 Tensor.tolist() 下面给出了一个使用示例:

    >>> a = torch.randn(2, 2)
    >>> a.tolist()
    [[0.012766935862600803, 0.5415473580360413],
     [-0.08909505605697632, 0.7729271650314331]]
    >>> a[0,0].tolist()
    0.012766935862600803
    

    所以,要回答这个问题,使用 a.squeeze().tolist() 删除所有尺寸标注的步骤 1 .

    .flatten() 如果不需要列表列表。


    .tolist() ,我正在使用:

    list = [element.item() for element in tensor.flatten()]
    

    这将张量展成一个一维,然后调用 .item()