代码之家  ›  专栏  ›  技术社区  ›  Juan Leni

torch.tensor和torch.tensor有什么区别?

  •  5
  • Juan Leni  · 技术社区  · 6 年前

    因为版本是0.4.0,所以可以使用 torch.tensor torch.Tensor

    有什么区别?提供这两个非常相似且令人困惑的替代方案的理由是什么?

    2 回复  |  直到 6 年前
        1
  •  13
  •   MBT Nina Golyandina    6 年前

    在火把里 torch.Tensor 是主张量类。所以所有的张量都是 火炬张量 .

    torch.Tensor() 你会得到一个没有任何张量的空张量 data .

    相反 torch.tensor documentation 上面写着:

    torch.tensor(data, dtype=None, device=None, requires_grad=False) → Tensor
    

    构造一个张量 数据


    这也解释了为什么创建 没有 数据
    tensor_without_data = torch.Tensor()
    

    但另一方面:

    tensor_without_data = torch.tensor()
    

    将导致错误:

    ---------------------------------------------------------------------------
    TypeError                                 Traceback (most recent call last)
    <ipython-input-12-ebc3ceaa76d2> in <module>()
    ----> 1 torch.tensor()
    
    TypeError: tensor() missing 1 required positional arguments: "data"
    

    但总的来说没有理由选择 结束 火炬张量 火炬张量 缺少文档字符串。

    数据 例如: 火炬。张量()

    torch.tensor(())
    

    输出:

    tensor([])
    
        2
  •  6
  •   theotheo    5 年前

    根据讨论 pytorch discussion torch.Tensor 构造函数被重载以执行与两者相同的操作 torch.tensor torch.empty . 有人认为这个重载会使代码混乱,所以分裂 火炬张量 火炬张量 火炬。空的

    所以是的,在某种程度上, 火炬张量 火炬。空的 火炬张量 有一个比 构造器。