pytorch学习笔记(一) 数据类型的认识与生成

一、前言  

         本科毕设的时候有使用过pytorch编写的yolov5代码做项目,但从来没有系统学习过这个深度学习框架的知识,这段时间系统的学习了pytorch的数据类型、切片、扩维等操作,为了防止忘记,再次记录一下。本文所学内容全部基于新加坡国立大学龙良曲老师的课程内容和自己的一些理解。 

        声明:本文的相关表格来源于龙良曲老师的课件中。

二、数据类型

       如下表 torch所有的数据都是以Tensor(张量)的形式存在,包括有8位、16位、32位、64位的整型tensor与16位、32位、64位的浮点型tensor。但是torch是没有str类型的数据的。

 

 

 

 三、Tensor数据的生成与属性查看

1、数据生成

[In]:a=torch.tensor(1)   #生成dim=0的标量
[Out]:tensor(1)

[In]:a=torch.tensor([1])   #生成dim=1,size=Size[1]的tenosr
[Out]:tensor([1])

[In]:a=torch.tensor([1,3,4])   #生成dim=1,size=Size[3]的tenosr
[Out]:tensor([1,3,4])

[In]:a=torch.tensor([[1,3,4]])   #生成dim=2,size=Size[1,3]的tenosr
[Out]:tensor([[1,3,4]])

[In]:a=torch.tensor([[1,3,4],[2,5,6]])   #生成dim=2,size=Size[2,3]的tenosr
[Out]:tensor([[1,3,4],[2,5,6]])


[In]:a=torch.randn(2,4,5,6)   #随机生成 mean=0,std=1,dim=4,size=Size[2,4,5,6]的tenosr
[Out]:...

[In]:a=torch.rand(2,4,5,6)   #作用同上,在0~1之间生成随机tenosr
[Out]:...

[In]:a=torch.zeros(2,3)   #随机生成dim=2,size=Size[2,3]的全零tenosr
[Out]:tensor([[0,0,0],[0,0,0]])

[In]:a=torch.ones(2,3)   #随机生成dim=2,size=Size[2,3]的全1 tenosr
[Out]:tensor([[1,1,1],[1,1,1]])

2、属性查看

a = torch.randn(2,3)

[In]:a.dim()               #查看a tenosr的维数
[Out]:2

[In]:a.type()              #查看a tensor的数据类型
[Out]:torch.FloatTensor

[In]:a.shape/a.size()      #查看a tensor的形状/大小
[Out]:torch.Size([2,3])

[In]:a.numel()             
[Out]:6                    #6 = 2*3

四、总结

        Tensor与数组的生成较为相似,所以上手较为容易,本文主要介绍了pytorch最基本的数据知识,以上内容纯手打,如果有误,请指正。下文将介绍数据的索引与切片操作,我个人还是比较头疼这块内容的,不是特别熟练。翻过一座山又是一座山,下座山峰见。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

围白的尾巴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值