gpt4 book ai didi

python - torch.tensor 和 torch.Tensor 有什么区别?

转载 作者:太空狗 更新时间:2023-10-29 18:28:30 28 4
gpt4 key购买 nike

从 0.4.0 版本开始,可以使用 torch.tensortorch.Tensor

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

最佳答案

在 PyTorch 中,torch.Tensor 是主要的张量类。所以所有张量都只是 torch.Tensor 的实例。

当您调用 torch.Tensor() 时,您将得到一个没有任何 data 的空张量。

相比之下,torch.tensor 是一个返回张量的函数。在documentation它说:

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

Constructs a tensor with data.


这也解释了为什么通过调用创建一个没有 data 的 torch.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` 而不是 `torch.tensor`。 `torch.Tensor` 也缺少文档字符串。

在没有 data 的情况下创建张量的类似行为:torch.Tensor() 可以使用以下方法实现:

torch.tensor(())

输出:

tensor([])

关于python - torch.tensor 和 torch.Tensor 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51911749/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com