先了解一下pytorch和torch:
Pytorch发布已经有一段时间了,我们在使用中也发现了其独特的动态图设计,让我们可以高效地进行神经网络的构造、实现我们的想法。那么Pytorch是怎么来的,追根溯源,pytorch可以说是torch的python版,然后增加了很多新的特性,那么pytorch和torch的具体区别是什么,这篇文章大致对两者进行一下简要分析,有一个宏观的了解。:
https://oldpan.me/archives/pytorch-torch-relation
Pytorch采用python语言接口来实现编程,而torch是采用lua语言,Lua是一个什么样的语言,可以这样说,Lua相当于一个小型加强版的C,支持类和面向对象,运行效率极高,与C语言结合“特别默契”,也就是说在Lua中使用C语言非常容易也很舒服。
因此,torch是采用C语言作为底层,然后lua语言为接口的深度学习库。而Pytorch呢,Pytorch其实也是主要采用C语言为接口(相关文章),另外除了C语言那还有C++了,因为Pytorch吸收结合了caffe2,进行了很多代码合并,现在Pytorch的底层虽然大部分还是C语言,但是接口什么的也逐渐向C++过渡。
配置过程,我只能说很坑,但最后配好了却感觉很简单TAT~
先列一下我遇到的问题:
- PyTorch does not currently provide packages for PyPI
- windows "python setup.py egg_info" failed with error code 1 in
- The following packages are not available from current channels: torchvision
这些问题最后可以归结为这几个原因:
- pip版本过低
- 未安装wheel模块。虽说wheel模块在安装scrapy时应该会被自动安装。
- 要安装的模块不支持当前python版本。这个问题在python3上尤为明显。(scrapy就是不能完美支持3)
- 电脑的名称含有中文或其他稀奇古怪的非字母、数字的字符。
- 电脑虚拟内存不足。这条有点扯,但是我百度的时候还有不少人提到这一点,也不知道是不是转载的同一人的结论。
- 水逆。
由于错误太多,有的我也没有解决,不过最后的正确步骤却很简单就是:
- 正确安装anaconda3,注意配置环境变量
- 在anaconda prompt里运行:
conda install numpy mkl cffi #安装一些基础包
conda install pytorch -c pytorch
在这个环境中,也可以指定所需要的版本,如果不指定的话我这是直接下载最新版本
# for CPU only packages
conda install -c peterjc123 pytorch
# for Windows 10 and Windows Server 2016, CUDA 8
conda install -c peterjc123 pytorch cuda80
# for Windows 10 and Windows Server 2016, CUDA 9
conda install -c peterjc123 pytorch cuda90
# for Windows 7/8/8.1 and Windows Server 2008/2012, CUDA 8
conda install -c peterjc123 pytorch_legacy cuda80
- 安装Torchvision:
- 在命令行cmd模式下使用pip安装:pip install torchvision,也可以在官网下载https://pypi.python.org/pypi/torchvision/0.1.8,
然后在安装包所在的目录中用下面的命令安装:
pip install 下载的安装包的名字.whl
- 测试torch版本:
import torch
print(torch.__version__)
如果最后发现自己安装的torch版本有误(有些方法没有):
device = torch.device("cuda" if args.cuda else "cpu") AttributeError: 'module' object has no attribute 'device'
需要更新Torch版本:
conda update pytorch
or uninstalling pytorch (conda uninstall pytorch)and reinstalling with
conda install pytorch torchvision -c pytorch