去官网: pytorch官网找到相应的torch版本然后pip指令安装,再安装 torchvision(要留意它,后面详说)。然后运行一些小型sample实例,都不会有问题,过程很简单。如图:只需要
pip3 install torch torchvision
就安装成功了。
PS:但是我要说的重点不是这个安装教程,安装教程网上一搜一大把,我要说的是下面第二点。
是一种编译工具,类似cmake,这里很爱使用ninja对torch库进行编译,至于为啥,我也纳闷。
我google+度娘了好长时间,网上相关问答很少,而且很乱。具体整理为:
1、cuda版本问题
2、nvidia驱动版本问题
3、 jack-server 是否开启,服务是否开启问题
4、什么多线程,线程是否开启问题
然后经过我一一测试修改查看,我的问题还是存在,,,所以都没啥可参考价值。
众所周知,大环境很重要:
cuda:10.0 — cudnn:7.5
nvidia驱动:430.26
那你说,我的是cuda9.*行不行?网上也有使用cuda9.2的,我只能说,没有亲自测试过,我不知道,如果没有报cuda的错误,就应该没问题。
经过我不断地各种尝试,发现是:
torch 、torchvision 、ninja版本问题
我安装的torch版本太高了,而ninja更新速度好像没有torch快,所以即便是最新的ninja,也无法编译最新的torch,从而报错。
我现在写这篇帖子时,torch最新版为:1.3.0;ninja最新为:1.9.0。
安装pytorch要安装两个模块:
torch和torchvision。torch是主模块,用来搭建神经网络。torchvision是辅模块,里面有搭建好的网络可以直接用。
torchvision包是服务于pytorch深度学习框架的,用来生成图片,视频数据集,和一些流行的模型类和预训练模型.
好吧,居然做成了两个模型,还以为torch包含所有。
由以上得知,就是将torch降级,降为 1.0.*。同样,torchvision也要跟着降级。
不能再使用 pip install torch 这样的傻瓜指令,这样只会安装最新的版本,而是要指明具体的版本,去这里链接查看有那些版本
然后 pip安装。
sudo pip3 install https://download.pytorch.org/whl/cu100/torch-1.0.0-cp36-cp36m-linux_x86_64.whl
sudo pip3 install torchvision==0.2.1
PS:在安装torchvision的时候,一定注意,因为过高的torchvision版本,会自动安装torch1.3,从而将之前 降级后的 torch==1.0覆盖掉,特别坑的。
所以需要你经常查看一下,自己的torch是否降级成功了:
ubuntu@ubuntu:/home/tdw$ python
Python 3.6.8 (default, Oct 7 2019, 12:59:55)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torchvision as tv
>>> print(tv.__version__)
0.2.1
>>>
import torch
print(torch.__version__)
这我安装的 ninja==1.8.2,其他版本可自行测试。
wget https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip
unzip ninja-linux.zip -d /usr/local/bin/
update-alternatives --install /usr/bin/ninja ninja /usr/local/bin/ninja 1 --force
问题至此解决完毕!!!
肯定还是说环境:
cuda:10.0 cudnn:7.5
nvidia: 430.26
torch: 1.0.0
torchvision: 0.2.1
ninja: 1.8.2
注意:在单独安装torchvision的时候,还会自动安装torch,可能会覆盖之前已经安装的低版本torch,一定注意。如果存在两个版本 torch, pip uninstall torch==1.3.0卸载它。