PyTorch安装、使用、学习指南

Abstract:PyTorch是一个python优先的非常优秀的深度学习框架,本文是个人总结的关于如何安装、使用和学习PyTorch的指南。

1.PyTorch介绍

Torch是一个科学计算框架,广泛支持机器学习算法,将GPU放在第一位。由于使用简单快速的脚本语言LuaJIT以及底层的C / CUDA实现,因此易于使用和高效。

核心功能:

  1. 一个强大的N维数组

  2. 许多例行索引,切片,转置,…

  3. 通过LuaJIT向C提供了惊人的界面

  4. 线性代数程序

  5. 神经网络和能量模型

  6. 数字优化例程

  7. 快速高效的GPU支持

  8. 可嵌入,具有iOS,Android和FPGA后端的端口

Pytorch

  • python优先的深度学习框架,使用CPU和GPU优化的深度学习张量库,能在强大GPU加速基础上实现张量和动态神经网络
  • PyTorch 和 TensorFlow、MXNet、Caffe2 一样,是非常底层的框架;也正如 TensorFlow 是谷歌官方框架,MXNet 是亚马逊官方框架,背后支持 PyTorch 的则是 Facebook
  • python软件包:提供了两种高层面的功能:
    • 1.使用强大的 GPU 加速的 Tensor 计算(类似 numpy)
    • 2.构建于基于 tape 的 autograd 系统的深度神经网络。通常,人们使用 PyTorch 的原因通常有二:1. 作为 numpy 的替代,以便使用强大的 GPU;2. 将其作为一个能提供最大的灵活性和速度的深度学习研究平台
  • 社区驱动的项目:由经验丰富的工程师和研究者组成的 Torch7 团队开发
  • 特点:快速成形、代码可读和支持最广泛的深度学习模型

2.安装步骤

1.在终端里运行以下代码:

1
2
3
sudo pip install http://download.pytorch.org/whl/torch-0.3.0.post4-cp27-none-macosx_10_6_x86_64.whl 

sudo pip install torchvision

其他系统参见PyTorch官网上,在官网上找到下面图片的对应处,勾选好系统、包管理工具、python版本、是否支持CUDA,再在终端运行其下出现的代码即可安装。

pytorch官网安装

安装PyTorch会安装2个模块,一个是torch,是主模块,用来搭建神经网络;另一个是torchversion,是辅模块,有数据库和一些已经训练好的神经网络(如VGG、AlexNet、ResNet)。

2.测试安装是否成功:在python编译器里输入以下代码

1
import torch

3.学习步骤

Step1:文档 60分钟的入门tutorials + jcjohnsonSimple examples to introduce PyTorch

Step2:example 参考 pytorch/examples 实现一个最简单的例子(比如训练mnist )

Step3:通读doc PyTorch doc 尤其是autograd的机制,和nn.module ,optim 等相关内容。文档现在已经很完善,而且绝大部分文档都是作者亲自写的,质量很高

Step4:论坛讨论 PyTorch Forums 。论坛很活跃,而且质量很高,pytorch的维护者(作者)回帖很及时的。每天刷一刷帖可以少走很多弯路,避开许多陷阱,消除很多思维惯性.尤其看看那些阅读量高的贴,刷帖能从作者那里学会如何写出bug-free clean and elegant 的代码。如果自己遇到问题可以先搜索一下,一般都能找到解决方案,找不到的话大胆提问,大家都很热心的。

Step5:阅读源代码 fork pytorch,pytorch-vision等。相比其他框架,pytorch代码量不大,而且抽象层次没有那么多,很容易读懂的。通过阅读代码可以了解函数和类的机制,此外它的很多函数,模型,模块的实现方法都如教科书般经典。还可以关注官方仓库的issue/pull request, 了解pytorch开发进展,以及避坑。

Others Tipps:

Thanks!