PyTorch | 02 快速入门

  • 1 安装与配置
  • 1.1 安装PyTorch
  • 使用pip安装
  • 使用conda安装
  • 从源码编译安装
  • 使用Docker部署
  • Windows 用户安装PyTorch
  • 1.2 学习环境配置
  • IPython
  • Jupyter Notebook
  • 2 PyTorch入门第一步
  • 2.1 Tensor
  • 2.2 Autograd:自动微分
  • 2.3 神经网络
  • 2.4 小试牛刀:CIFAR-10分类


1 安装与配置

1.1 安装PyTorch

PyTorch0.3版本,同时兼容Python2和python3,并全部在python2环境中运行得到了最终结果,在Python3环境测试未报错,但不保证得到和python2 环境一致的结果。

使用Linux 作为开发环境。

使用pip安装

使用conda安装

从源码编译安装

使用Docker部署

Windows 用户安装PyTorch

PyTorch官方尚不支持Windows平台,推荐先在Windows中安装linux虚拟机,或者使用双系统。

【博主目前windows系统,所以等配置好了双系统,再更新前面四个部分的内容】

1.2 学习环境配置

从事科学计算相关工作时,IPython和Jupyter是两个必不可少的工具。

IPython

IPython是一个交互式计算系统,增强版的python shell,提供强大的REPL(交互式解析器)功能。

安装IPython :

pip2 install ipython==5.1  # python2 用户
pip install ipython # python3 用户 默然安装最新版

安装完成之后,在命令行输入ipython 即可启动IPython

pytorch2内置cudnn吗 pytorch python2_pytorch2内置cudnn吗


使用exit命令或者按“Ctrl+D” 即可退出IPython。

IPython的常用功能:

  • 自动补全。 按下tab键。
  • 内省。 指在runtime时获得一个对象的全部类型信息。输入一个函数或者模块之后,接着输入? 可看到它对应的帮助文档。
  • pytorch2内置cudnn吗 pytorch python2_IPython_02


  • pytorch2内置cudnn吗 pytorch python2_PyTorch_03

  • 输入两个问号??,可查看这个对象的源码,限用python源码。
  • 快捷键。
  • pytorch2内置cudnn吗 pytorch python2_IPython_04

  • 魔术方法。 特殊命令 以% 开头。 魔术方法也支持自省。
  • pytorch2内置cudnn吗 pytorch python2_pytorch2内置cudnn吗_05

  • 粘贴。
  • 使用IPython进行调试。 IPython的调试器ipdb 增强了pdb,提供了诸多使用功能。如下所示,进入pdb的最快方式是使用魔术命令%debug,此时可以直接跳到报错的代码处。调试命令表如下。
  • tab自动补全
  • 语法高亮

pytorch2内置cudnn吗 pytorch python2_IPython_06


如果在IPython之外使用debug功能,需要安装ipdb(pip install ipdb),而后在需要进入调试的地方加上如下代码即可。

import ipdb
ipdb.set_trace()

则程序运行到这一步时,会自动进入debug模式。

Jupyter Notebook

Jupyter Notebook 是一个交互式笔记本,前身是IPython Notebook。
现支持运行40多种编程语言。

推荐Jupyter Notebook的原因:

  • 更美观的界面。
  • 更好的可视化支持。与web技术深度融合
  • 方便远程访问。

安装 只需要一条pip命令。

pip install jupyter

在命令行输入 jupyter notebook 就可以启动。此时浏览器会自动弹出,并打开jupyter主界面,也可以手动打开浏览器,输入 http://127.0.0.1:8888访问jupyter,界面如下。

pytorch2内置cudnn吗 pytorch python2_PyTorch_07


右上角 new 可以新建Notebook,在In[] 后面的编辑区输入代码,按“Ctrl+Enter” 快捷键,即可运行代码。如下图所示。

pytorch2内置cudnn吗 pytorch python2_IPython_08


远程访问服务器的方法【书P28页】

jupyter 的使用和IPython极为类似,前面介绍的IPython的使用技巧都Jupyter都适用。 但它的快捷键与IPython有较大的不同
另外 Jupyter还支持markdown、html、各种可视化等。

2 PyTorch入门第一步

2.1 Tensor

Tensor 是PyTorch中的重要数据结构,是一个高维数组。
可以是标量、向量、矩阵,甚至更高维的数组。

Tensor和numpy 的ndarrays类似,但Tensor可以使用GPU加速。

Tensor的使用和numpy以及Matlab的接口十分相似。
使用举例:

pytorch2内置cudnn吗 pytorch python2_PyTorch_09


pytorch2内置cudnn吗 pytorch python2_安装_10


pytorch2内置cudnn吗 pytorch python2_IPython_11


**支持tuple的所有操作。**如x.size()[0]。

pytorch2内置cudnn吗 pytorch python2_Jupyter_12


pytorch2内置cudnn吗 pytorch python2_pytorch2内置cudnn吗_13


pytorch2内置cudnn吗 pytorch python2_PyTorch_14

pytorch2内置cudnn吗 pytorch python2_安装_15

【未完待续…… 】

2.2 Autograd:自动微分

2.3 神经网络

2.4 小试牛刀:CIFAR-10分类