和有什么区别?

时间:2025-02-11 14:38:23

文章目录

        • 介绍
        • 区别1
        • 区别2

介绍

在PyTorch 中,是主要的tensor类,所有的tensor都是的实例。的别名。
是一个函数,返回的是一个tensor,在PyTorch官方文档中,描述如下:

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

区别1

所以需要注意的一点是:

  • (data)是将输入的data转化
  • (data):(当你未指定dype的类型时)将data转化为等类型,转化类型依据于data的类型或者dtype的值

区别2

使用如下语句:tensor_without_data = ()可以创建一个空的FloatTensor,而当你使用tensor_without_data = ()时候则会报错:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-12-ebc3ceaa76d2> in <module>()
----> 1 torch.tensor()

TypeError: tensor() missing 1 required positional arguments: "data"

当你想要创建一个空的tensor时候,可以使用如下的方法:

  • tensor_without_data = () # tensor([])
  • tensor_without_data = (()) # tensor([])
  • tensor_without_data = ([]) # tensor(0.)

所以应该说是同时具有的功能,但是使用可能会使你的代码confusing,所以最好还是使用,而不是