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

介绍

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

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

区别1

所以需要注意的一点是:

  • torch.Tensor(data)是将输入的data转化torch.FloatTensor
  • torch.tensor(data):(当你未指定dype的类型时)将data转化为torch.FloatTensortorch.LongTensortorch.DoubleTensor等类型,转化类型依据于data的类型或者dtype的值

区别2

使用如下语句:tensor_without_data = torch.Tensor()可以创建一个空的FloatTensor,而当你使用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"
  • 当你想要创建一个空的tensor时候,可以使用如下的方法:
  • tensor_without_data = torch.Tensor() # tensor([])
  • tensor_without_data = torch.tensor(()) # tensor([])
  • tensor_without_data = torch.empty([]) # tensor(0.)

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

  • 15
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值