[PyTorch深度学习]--torch.Tensor 和 torch.tensor

在PyTorch中,torch.Tensortorch.tensor都用于生成新的张量,但二者之间有一些区别。

一、 torch.Tensor和torch.tensor的区别

  1. 首字母大小写区别:

    • torch.TensorTensor是一个类,代表PyTorch底层的张量操作和方法。
    • torch.tensortensor是一个函数,用于创建张量对象。
  2. 默认参数区别:

    • torch.Tensor:使用它创建的张量对象没有指定数据类型,因此其默认为浮点数类型(float32),其值取决于内存中的随机数据。(注:使用torch.Tensor创建张量对象会根据给定的数据进行初始化,输出结果将是根据给定数据初始化后的张量。即如果输入是一个张量,那么返回的张量与输入张量具有相同的属性。
    • torch.tensor:根据给定的数据创建一个张量对象,并自动推断数据类型。可以接受多种数据类型作为输入参数,例如列表、元组、数组等。

二、实例分析

下面是使用三者创建张量的例子:

import torch

# 创建一个大小为 2x2 的空张量
t0 = torch.Tensor(2, 2)
print(t0)

# 使用 torch.Tensor 类型创建张量
t1 = torch.Tensor([[1, 2], [3, 4]])
print(t1)

# 使用 torch.tensor 函数创建张量
t2 = torch.tensor([[1, 2], [3, 4]])
print(t2)

输出结果为:

tensor([[-6.4942e+35,  3.1026e-41],
        [-6.4939e+35,  3.1026e-41]])
tensor([[1., 2.],
        [3., 4.]])
tensor([[1, 2],
        [3, 4]])

在上述代码举例中,首先使用了torch.Tensor类来创建一个没有初始化数值的张量对象t0。打印t0时,它显示了根据内存中的随机数据创建的张量。而使用torch.Tensor创建张量对象会根据给定的数据t1进行初始化,输出结果将是根据给定数据t1初始化后的张量。

而后,使用torch.tensor函数创建一个张量对象t2,并将给定的数据作为输入参数。打印t2时,它显示了我们提供的数据创建的张量。

需要注意的是,torch.tensor函数是比较灵活的,可以接受各种数据类型作为输入参数,并且会自动推断数据类型。而torch.Tensor类创建的张量则具有随机初始值。

综上,torch.Tensor是一个类,代表底层的张量操作和方法,而torch.tensor是一个函数,用于根据给定的数据创建张量对象,并自动推断数据类型。

三、小结

总的来说,torch.tensortorch.Tensor的使用方法有所不同,前者更加灵活,可以接受多种类型的输入,并返回新的张量对象;后者则主要用于创建空的张量对象。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值