Pytorch 快速入门(一)

1.Pytorch简介

Pytorch是Facebook 的 AI 研究团队发布了一个基于 Python的科学计算包,旨在服务两类场合:

  • 替代numpy发挥GPU潜能(在线环境暂时不支持GPU)
  • 一个提供了高度灵活性和效率的深度学习实验性平台

2.Pytorch特点及优势


2.1 Pytorch特点

  • PyTorch 提供了运行在 GPU/CPU 之上、基础的张量操作库;
  • 可以内置的神经网络库;
  • 提供模型训练功能;
  • 支持共享内存的多进程并发(multiprocessing )库等;

2.2 Pytorch特点

  • 处于机器学习第一大语言 Python 的生态圈之中,使得开发者能使用广大的 Python 库和软件;如 NumPy、SciPy 和 Cython(为了速度把 Python 编译成 C 语言);
  • (最大优势)改进现有的神经网络,提供了更快速的方法——不需要从头重新构建整个网络,这是由于 PyTorch 采用了动态计算图(dynamic computational graph)结构,而不是大多数开源框架(TensorFlow、Caffe、CNTK、Theano 等)采用的静态计算图;
  • 提供工具包,如torch 、torch.nn、torch.optim等;

3.Pytorch常用工具包

  • torch :类似 NumPy 的张量库,强 GPU 支持 ;
  • torch.autograd :基于 tape 的自动区别库,支持 torch 之中的所有可区分张量运行;
  • torch.nn :为最大化灵活性未涉及、与 autograd 深度整合的神经网络库;
  • torch.optim:与 torch.nn 一起使用的优化包,包含 SGD、RMSProp、LBFGS、Adam 等标准优化方式;
  • torch.multiprocessing: python 多进程并发,进程之间 torch Tensors 的内存共享;
  • torch.utils:数据载入器。具有训练器和其他便利功能;
  • torch.legacy(.nn/.optim) :处于向后兼容性考虑,从 Torch 移植来的 legacy 代码;

4.tensor的创建

  1. 导入pytorch的包 import torch
  2. jupyter notebook










现在,PyTorch看起来真的像一个框架了,而纯TensorFlow看起来更像是一个库,而不是框架:所有的操作都在低层次进行,因此你不得不编写大量的样板代码(我们需要一次又一次地定义这些偏差和权重等等)。但后者,在使用TensorFlow以及选择适合任务的框架上有着很大的自由度,你可以在这些框架中选择:TFLearn、tf.contrib.learn、Sonnet、Keras、或者纯tf.layers等等。 
所以,TensorFlow和PyTorch都提供了有用的抽象来减少样板代码的数量并加快模型的开发。它们之间主要的区别在于,PyTorch可能感觉更“Python化”,并且有面向对象的方法,而TensorFlow则有多个框架可供选择。 
首先声明pytorch已经不是用lua写的,而是以python为第一语言的了,最后,PyTorch优点一大堆,入门简单,上手快,堪比Keras。代码清晰,设计直观,符合人类直觉。

代码展示: 
这里写图片描述


这里写图片描述 
静态图和动态图: 
这里写图片描述 
调试: 
由于PyTorch中的计算图是在运行的时候定义的,因此你可以使用任何一个你喜欢的调试工具,比如pdb、ipdb、PyCharm调试器或者原始的print语句。而TensorFlow并不能这样。你可以选择使用一款名为tfdbg的特殊工具,该工具允许在运行时评估TensorFlow表达式,并浏览会话内的所有张量和操作。当然,你无法使用它来调试任何python代码,因此有必要另外使用pdb。

部署: 
对于部署来说,TensorFlow赢得太轻松了:它有一个名叫TensorFlow Serving的框架,用于在一个指定的gRPC服务器上部署模型。Tensorflow还支持分布式训练,但PyTorch目前不支持。


参考文献:

1.https://blog.csdn.net/u014630987/article/details/78669051

2.https://blog.csdn.net/xuluohongshang/article/details/79251765

3.https://www.shiyanlou.com/try/pytorch

猜你喜欢

转载自blog.csdn.net/gavinmiaoc/article/details/80375837
今日推荐