【偷偷卷死小伙伴Pytorch20天-day00-pytorch入门】

今天开始用二十天的时间来学习一下pytorch,加油!!!

一、Pytorch是什么??

Pytorch是一个基于Python的机器学习库。它广泛应用于计算机视觉,自然语言处理等深度学习领域。是目前和TensorFlow分庭抗礼的深度学习框架,在学术圈颇受欢迎。
它主要提供了以下两种核心功能:

  • 1,支持GPU加速的张量计算。

  • 2,方便优化模型的自动微分机制。

二、Pytorch的主要优点??

1.简洁易懂

Pytorch的API设计的相当简洁一致。基本上就是tensor, autograd, nn三级封装。学习起来非常容易。有一个这样的段子,说TensorFlow的设计哲学是 Make it complicated, Keras 的设计哲学是 Make it complicated and hide it, 而Pytorch的设计哲学是 Keep it simple and stupid.

2.便于调试

Pytorch采用动态图,可以像普通Python代码一样进行调试。不同于TensorFlow, Pytorch的报错说明通常很容易看懂。有一个这样的段子,说你永远不可能从TensorFlow的报错说明中找到它出错的原因。

3. 强大高效

Pytorch提供了非常丰富的模型组件,可以快速实现想法。并且运行速度很快。目前大部分深度学习相关的Paper都是用Pytorch实现的。有些研究人员表示,从使用TensorFlow转换为使用Pytorch之后,他们的睡眠好多了,头发比以前浓密了,皮肤也比以前光滑了。

三、Pytorch的层次结构

  • 最底层为硬件层,Pytorch支持CPU、GPU加入计算资源池。

  • 第二层为C++实现的内核。

  • 第三层为Python实现的操作符,提供了封装C++内核的低级API指令,主要包括各种张量操作算子、自动微分、变量管理.
    如torch.tensor,torch.cat,torch.autograd.grad,nn.Module.

  • 第四层为Python实现的模型组件,对低级API进行了函数封装,主要包括各种模型层,损失函数,优化器,数据管道等等。
    如torch.nn.Linear,torch.nn.BCE,torch.optim.Adam,torch.utils.data.DataLoader.

  • 第五层为Python实现的模型接口。Pytorch没有官方的高阶API。为了便于训练模型,作者仿照keras中的模型接口,使用了不到300行代码,封装了Pytorch的高阶模型接口torchkeras.Model。

四、Pytorch的API

Pytorch的API分为低阶、中阶、高阶,将在后面的学习中介绍

五、Pytorch的建模流程

使用Pytorch实现神经网络模型的一般流程包括:

  1. 准备数据
  2. 定义模型
  3. 训练模型
  4. 评估模型
  5. 使用模型
  6. 保存模型

对新手来说,其中最困难的部分实际上是准备数据过程。

我们在实践中通常会遇到的数据类型包括:

  • 结构化数据
  • 图片数据
  • 文本数据
  • 时间序列数据

你可能感兴趣的:(pytorch学习,pytorch,python,深度学习)