• Pytorch学习笔记(一)官方60min入门教程之张量


    一.前言

    前几天结束了机器学习的入门,难点不多,很多东西更像是为学深度学习打基础,然后这几天在学深度学习,刚开始基本还是机器学习学过的基础东西,到了后面各种算法的公式推导和底层原理,加之自己的状态不是很好(最近还是感觉蛮空虚的哈哈哈) ,所以根本学不进去(难点就是这样,少有分心便要听不懂了),所以我直接跳过了大部分的公式推导,不求甚解(现在才知道第一遍学的时候应当如此),大概了解算法的基本原理和干什么的就行,然后我迷迷糊糊看了几天吴恩达老师的深度学习的课之后,就开始学pytorch了,先敲起来,用实践带动理,后面用到什么学什么吧。

    什么是 PyTorch?

    PyTorch 是一个基于 Python 的科学计算包,主要定位两类人群:

    • NumPy 的替代品,可以利用 GPU 的性能进行计算。
    • 深度学习研究平台拥有足够的灵活性和速度

    开始学习

    Tensors (张量)

    Tensors 类似于 NumPy 的 ndarrays ,同时 Tensors 可以使用 GPU 进行计算。

    二.练习代码

    1. from __future__ import print_function
    2. import torch
    3. #构造一个5x3矩阵,不初始化。
    4. # x=torch.empty(5,3)
    5. # print(x)
    6. #构造一个随机初始化的矩阵:
    7. # x=torch.rand(5,3)
    8. # print(x)
    9. #构造一个矩阵全为 0,而且数据类型是 long.
    10. # x=torch.zeros(5,3,dtype=torch.long)
    11. # print(x)
    12. #构造一个张量,直接使用数据:
    13. # x = torch.tensor([5.5, 3])
    14. # print(x)
    15. #创建一个 tensor 基于已经存在的 tensor。
    16. # x = x.new_ones(5, 3, dtype=torch.double)
    17. # new_* methods take in sizes
    18. #print(x)
    19. #x = torch.randn_like(x, dtype=torch.float)
    20. # override dtype!
    21. # print('x:',x)
    22. # result has the same size
    23. #获取它的维度信息:
    24. #print(x.size())
    25. ################################## 加法:
    26. # y=torch.rand(5,3)
    27. # print('y:',y)
    28. #方式一:
    29. #print(x+y)
    30. #方式二:
    31. #print(torch.add(x,y))
    32. #加法: 提供一个输出 tensor 作为参数
    33. # result=torch.empty(5,3)
    34. # torch.add(x,y,out=result)
    35. #print(result)
    36. #加法: in-place
    37. # adds x to y
    38. # y.add_(x)
    39. # print(y)
    40. # adds x to y
    41. # y.add_(x)
    42. # print(y)
    43. # 注意 任何使张量会发生变化的操作都有一个前缀 '_'。例如:
    44. #即把y复制到x
    45. #x.copy_(y)
    46. #print('x after x.copy_(y):',x)
    47. #转置
    48. #print('x转置:',x.t_())
    49. #你可以使用标准的 NumPy 类似的索引操作
    50. #所有行,第二列
    51. #print(x[:,1])
    52. #第二行,所有列
    53. #print(x[1,:])
    54. #改变大小:如果你想改变一个 tensor 的大小或者形状,你可以使用 torch.view
    55. # x = torch.randn(4, 4)
    56. # #1行16列
    57. # y = x.view(16)
    58. # #print(y)
    59. # z = x.view(-1, 8) # the size -1 is inferred from other dimensions
    60. # print(x.size(), y.size(), z.size())
    61. '''
    62. torch.randn:用来生成随机数字的tensor,这些随机数字满足标准正态分布(0~1)。
    63. torch.randn(size),size可以是一个整数,也可以是一个元组。
    64. '''
    65. x = torch.randn(2)
    66. print(x)
    67. x=torch.randn(2,3)
    68. print(x)
    69. #.item()用于在只包含一个元素的tensor中提取值,注意是只包含一个元素,否则的话使用.tolist()
    70. x=torch.randn(1)
    71. print(x.item())

  • 相关阅读:
    踩坑,发现一个ShardingJdbc读写分离的BUG
    一文带你详细了解 JVM 运行时内存
    【MongoDB】MongoDB数据库的基础使用,特殊情况以及Mongoose的安装和创建流程(含有Mongoose固定版本安装)
    神经网络(六)循环神经网络
    零基础入门学习Web开发:HTML篇(一)
    linux 列出网络上所有活动的主机
    Ansible 快速入门
    网站服务器怎么部署
    Allegro DFM Ravel Rule 丝印文字到PAD 间距检查
    智能漏电断路器主要有哪些功能?
  • 原文地址:https://blog.csdn.net/weixin_44593822/article/details/128016925