PyTorch基础(一)

1 基本数据Tensor

1.1 Tensor数据类型

Tensor即张量,是pytorch中基本的操作对象,可以看作是包含单一数据类型元素的多维矩阵。

数据类型CPU TensorGPU Tensor
32位浮点torch.FloatTensortorch.cuda.FloatTensor
64位浮点torch.DoubleTensortorch.cuda.DoubleTensor
16位半精度浮点N/Atorch.cuda.halfTensor
8位无符号整型torch.ByteTensortorch.cuda.ByteTensor
8位有符号整型torch.CharTensortorch.cuda.CharTensor
16位有符号整型torch.ShortTensortorch.cuda.ShortTensor
32位有符号整型torch.IntTensortorch.cuda.IntTensor
64位有符号整型torch.LongTensortorch.cuda.LongTensor

Pytorch可以通过set_default_tensor_type(‘torch.cuda.DoubleTensor’)函数设置默认的Tensor类型。

torch.set_default_tensor_type('torch.DoubleTensor')
a=torch.Tensor(2,2)
a.type()
#'torch.DoubleTensor'

对于tensor之间类型转换,可以通过type(new_type)、type_as()、int()等多种方式进行操作。

torch.set_default_tensor_type('torch.FloatTensor')
a=torch.Tensor(2,2)
a.type()
#'torch.FloatTensor'

b=a.int()
b
#tensor([[0, 4],
#        [0, 0]], dtype=torch.int32)

c=a.type(torch.DoubleTensor)
c
#tensor([[0.0000e+00, 4.4766e+00],
#        [1.4013e-45, 0.0000e+00]], dtype=torch.float64)

d=a.type_as(b)
d
#tensor([[0, 4],
#        [0, 0]], dtype=torch.int32) 与b的类型相同

1.2 Tensor的创建与维度查看

#使用python的李斯特进行创建
c=torch.Tensor([[2,2],[2,2]])
c
输出为 tensor([[2., 2.],
              [2., 2.]])

torch.zero(2,2)#所有元素均为0

torch.ones(2,2)#所有元素均为1

torch.eyes(2,2)#对角线上元素为1,其他为0,不要求行列数相同

torch.randn(2,2)#生成随机数矩阵

torch.arange(1,6,2)#生成从1到6间距为2的一维向量
输出为 tensor([1, 3, 5])

torch.linspace(1,6,2) #生成从1到6一共2个数的一维向量
输出为 tensor([1., 6.])

torch.randperm(4) #生成长度为4的随机排列向量
输出为 tensor([0, 3, 1, 2])

torch.tensor([1,2,3]) #torch 0.4 增加了此方法,参数可以是python的list和numpy的ndarray等
输出为 tensor([1, 2, 3])

查看Tensor维度

>>>a=torch.Tensor(2,2)
>>>a.shape
torch.Size([2, 2])

>>>a.size()
torch.Size([2, 2])

查看Tensor中元素的总个数

>>>a.numel()
4
>>>a.nelement()
4
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值