Ubuntu12.04下PyTorch详细安装记录

Pytorch简介

自从2017年1月Facebook发布PyTorch后,这个用来挑战Tensorflow的深度学习库的用户数一直都在增加。PyTorch是基于老牌经典学习库(Torch)进行开发的,除了Python语言的易用性,PyTorch本身也提供了很多令人欣喜的功能,比如“dynamic computational graph”之类。接下来就和我一起开始PyTorch的学习之旅。

1.PyTorch安装

目前来说Pytorch只支持Linux和OSX两个平台,所以我选择Ubuntu12.04来进行PyTorch的安装和使用。

1.1 准备工作

(1) Anaconda

选择Anaconda进行Python安装,更轻松,很多第三方库包括matplotlib, numpy, scipy都已经配置好。其实你仔细去看看anaconda安装目录下的site-packages,会发现很多好玩的东西,比如开源的机器学习平台sklearn。

为了解决访问国外网站速度慢的问题,我们选择国内清华大学的tuna镜像,先下载安装包:

https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

TUNA 还提供了 Anaconda仓库的镜像,运行以下命令之后,就可以从TUNA镜像源下载所需要的第三方包,速度再也不是蜗牛了。

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

同时需要在~/.condarc中把- defaults那行删除,这样每次安装新的软件包就会从TUNA镜像下载。

(2) Git Clone源代码

相信我,如果按照PyTorch官方的“简单愉快”的方法去安装,是不可能的,从conda下面访问资源的速度很慢,试了几次还是不行。

## PyTorch官网提供的安装方法
conda install pytorch torchvision -c soumith

那么最后还有一个选择,install from source,果断在GitHub上找到PyTorch的repository:

https://github.com/pytorch/pytorch

接下来需要做的就是将PyTorch最新的源代码取到本地:

gitclone https://github.com/pytorch/pytorch.git

PS:这一步很重要,如果是选择download zip的方式下载PyTorch的源代码,在进行编译安装时会报错,所以这一步请务必选用gitclone下载代码。

(3) Install from Source

根据PyTorch源代码的readme中的安装步骤,我们要先配置环境变量CMAKE_PREFIX_PATH,打开~/.bashrc输入:

export CMAKE_PREFIX_PATH=[anaconda root directory]

其中“[anaconda root directory]”指的是Anaconda的安装文件夹下的bin文件夹。在我的Ubuntu12.04上,安装路径如下:

export CMAKE_PREFIX_PATH=/home/wblgers/anaconda3/bin

另外由于我的GPU不支持CUDA,只能安装CPU部分,所以还需要设置环境变量NO_CUDA为1:

export NO_CUDA=1

在完成上述两个环境变量配置后需要记得这一步,使环境变量生效:

source .bashrc

然后,我们需要安装PyTorch的依赖库:

conda install numpy pyyaml mkl setuptools cmake gcc cffi

最后,一切准备就绪!马上进入愉快的编译安装过程:

python setup.py install

大概十分钟左右,提示安装成功,马上进入Python试一试:

Python 3.5.2 |Anaconda 4.2.0 (64-bit)| (default, Jul  2 2016, 17:53:06) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> x = torch.rand(5,3)
>>> print(x)

 0.0592  0.4292  0.5637
 0.6365  0.2012  0.5649
 0.2594  0.8850  0.5157
 0.0689  0.4914  0.8834
 0.3978  0.7032  0.6879
[torch.FloatTensor of size 5x3]

可以看到import torch可以成功,表示PyTorch的安装完成!仔细一看PyTorch里面的数据操作和Matlab挺像的,方便上手。

2.TorchVision安装

TorchVision为PyTorch提供视频和图像方面的支持,包括数据库和模型等。安装好了之后可以很方便地导入很多图像数据库,比如cifar-10。下载地址为:

https://pypi.python.org/pypi/torchvision/0.1.8

我们点击Download下载whl文件,然后在Anaconda的环境中启动pip进行安装:

pip install torchvision-0.1.8-py2.py3-none-any.whl

至此,TorchVision就已经安装成功!

3. 小试牛刀

PyTorch官网的入门教程中有一个有关图像分类的,我们尝试着完成这个教程:

http://pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html

在页面的最下面有代码的下载链接,选择下载“cifar10_tutorial.py”,直接在终端中运行程序:

python cifar10_tutorial.py

出现以下提示,正在下载cifar10数据库。

Downloading http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz to ./data/cifar-10-python.tar.gz

等了很久还是没下载好,我选择用其他下载工具譬如迅雷,直接下载cifar-10-python.tar.gz,大小接近180M,怪不得这么久。

然后在data文件夹里,对数据库解压:

tar -xzvf cifar-10-python.tar.gz

解压好了再选择运行代码cifar10_tutorial.py,提示数据验证通过:

Files already downloaded and verified
Files already downloaded and verified

接下来就是train和test的输出:

[1,  2000] loss: 2.223
[1,  4000] loss: 1.853
[1,  6000] loss: 1.694
[1,  8000] loss: 1.592
[1, 10000] loss: 1.521
[1, 12000] loss: 1.472
[2,  2000] loss: 1.392
[2,  4000] loss: 1.359
[2,  6000] loss: 1.335
[2,  8000] loss: 1.313
[2, 10000] loss: 1.316
[2, 12000] loss: 1.276
Finished Training
GroundTruth:    cat  ship  ship plane
Predicted:   frog  ship  ship  ship
Accuracy of the network on the 10000 test images: 53 %
Accuracy of plane : 32 %
Accuracy of   car : 75 %
Accuracy of  bird : 51 %
Accuracy of   cat : 19 %
Accuracy of  deer : 49 %
Accuracy of   dog : 28 %
Accuracy of  frog : 70 %
Accuracy of horse : 68 %
Accuracy of  ship : 80 %
Accuracy of truck : 56 %

结果和PyTorch的官方tutorial差不多,运行成功!

至此,PyTorch的安装、环境搭建以及安装后的代码测试就全部完成。按照这个步骤,相信你也可以很快开始PyTorch的开发!

你可能感兴趣的:(PyTorch)