您的位置:首页 > 其它

Pytorch安装 与入门链接

2018-03-13 15:07 405 查看
Pytorch安装 
1)先是Anaconda安装配置,参照原来一篇博客
2)Git Clone源代码

进入虚拟环境后,采用conda安装: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[/code]
离线安装:
http://pytorch.org/      选择合适版本,例:http://download.pytorch.org/whl/cu90/torch-0.3.1-cp36-cp36m-linux_x86_64.whl 

下载下来再:pip install torch-0.3.1-cp36-cp36m-linux_x86_64.whl 3)测试 
进入python模式下,看能否导入torch成功:
$  python
>  import torch
4)Install from Source
根据PyTorch源代码的readme中的安装步骤,我们要先配置环境变量CMAKE_PREFIX_PATH,打开~/.bashrc (vi ~/.bashrc)输入:
export CMAKE_PREFIX_PATH=[anaconda root directory]
1
其中“[anaconda root directory]”指的是Anaconda的安装文件夹下的bin文件夹。在我的Ubuntu12.04上,安装路径如下:
export CMAKE_PREFIX_PATH=/home/data/liangxiaoyun/anaconda2/bin
1
另外由于我的GPU不支持CUDA,只能安装CPU部分,所以还需要设置环境变量NO_CUDA为1:
export NO_CUDA=1
1
在完成上述两个环境变量配置后需要记得这一步,使环境变量生效:
source ~/.bashrc
1
然后,我们需要安装PyTorch的依赖库:
conda install numpy pyyaml mkl setuptools cmake gcc cffi
1
最后,一切准备就绪!马上进入愉快的编译安装过程:
python setup.py install
1
大概十分钟左右,提示安装成功,马上进入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
1
我们点击Download下载whl文件,然后在Anaconda的环境中启动pip进行安装:
pip install torchvision-0.1.8-py2.py3-none-any.whl
1
以上方法出错,则:Anaconda:
conda install torchvision -c pytorch
至此,TorchVision就已经安装成功!

3. 小试牛刀

PyTorch官网的入门教程中有一个有关图像分类的,我们尝试着完成这个教程:
http://pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html
1
在页面的最下面有代码的下载链接,选择下载“cifar10_tutorial.py”,直接在终端中运行程序:
python cifar10_tutorial.py
1
出现以下提示,正在下载cifar10数据库。
Downloading http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz to ./data/cifar-10-python.tar.gz
1
等了很久还是没下载好,我选择用其他下载工具譬如迅雷,直接下载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的开发!
入门建议
第一步 github的 tutorials 尤其是那个60分钟的入门。只能说比tensorflow简单许多. 另外jcjohnson 的Simple examples to introduce PyTorch 也不错第二步 example 参考 pytorch/examples 实现一个最简单的例子(比如训练mnist )。第三步 通读doc PyTorch doc 尤其是autograd的机制,和nn.module ,optim 等相关内容。文档现在已经很完善,而且绝大部分文档都是作者亲自写的,质量很高。第四步 论坛讨论 PyTorch Forums 。论坛很活跃,而且质量很高,pytorch的维护者(作者)回帖很及时的。每天刷一刷帖可以少走很多弯路,避开许多陷阱,消除很多思维惯性.尤其看看那些阅读量高的贴,刷帖能从作者那里学会如何写出bug-free clean and elegant 的代码。如果自己遇到问题可以先搜索一下,一般都能找到解决方案,找不到的话大胆提问,大家都很热心的。第五步 阅读源代码 fork pytorch,pytorch-vision等。相比其他框架,pytorch代码量不大,而且抽象层次没有那么多,很容易读懂的。通过阅读代码可以了解函数和类的机制,此外它的很多函数,模型,模块的实现方法都如教科书般经典。还可以关注官方仓库的issue/pull request, 了解pytorch开发进展,以及避坑。还可以加入 slack群组讨论,e-mail订阅等总之 pytorch入门很简单,代码很优雅,是最Pythonic的框架. 欢迎入坑。
推销一个教程:chenyuntc/pytorch-book 用notebook写的教程,里面还有很多有趣的例子,比如用GAN生成动漫头像,用CharRNN写唐诗,类Prisma的滤镜(风格迁移)和图像描述等

1. 关于如何照着example实现简单的例子, 做法是认真看几遍example的实现代码.理解透,然后自己从头写, 实现相同的模型, 实在卡住了写不下去可以看一下, 但是绝对不能copy and paste. 当你实现了一个简单的例子(比如tutorial 的 mnist) 基本上对pytorch的主要内容都有了大概的了解. 写的时候会涉及 dataset,nn.module, optim, loss等许多模块, 也算是加深理解. 用pytorch 写的第一个模型是DCGAN , 用ipython notebook写的 GitHub-chenyuntc/pytorch-GAN, 然后看到了新出的大作WGAN, 在DCGAN上做了一点点修改, 就实现了WGAN, 是入门最快的一次.2. 论坛的很多贴都是你以后可能遇到的问题 比如如何Finetune How to perform finetuning in Pytorch?如何从预训练好的网络中的某一层提取特征: How to extract features of an image from a trained model论坛贴比较少, 我觉得其中一个原因是很多问题都不是问题,比如如何共享参数, 这个在tensorflow中有专门的一章讲解, 但是用pytorch写可能都不会意识到有这个问题---直接用就是了 How to create model with sharing weight? 比如如何用在模型运行时实现条件判断--直接用if. 如何查看中间结果?--直接print. 如何修改参数--直接赋值. 相比于tensorflow,pytorch更接近python的写法.3. 关于如何阅读源代码: fork, clone ,然后用vscode打开--- 大概浏览一下, 知道类, 模块之间的关系. 然后重点阅读一些经典函数的代码, 按ctrl单击调用的函数在不同文件中跳转, 了解函数调用关系. 此外torch-vision中很多模型如ResNet的实现也很简洁.4. 一些其它的例子:50行实现GAN devnag/pytorch
pytorch 资源合集 The Incredible PyTorch
加强版pytorch tutorial侧重NLP spro/practical-pytorch
利用LSTM学习梯度下降法等优化方法:ikostrikov/pytorch-meta-optimizer: A PyTorch implementation of Learning to learn by gradient descent by gradient descent
WGAN的官方实现martinarjovsky/WassersteinGAN
安利@莫烦的PyTorch教程(视频+代码)详情见专栏文章 等什么, 赶快抱紧 PyTorch 的大腿!
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Pytorch