Ubuntu python2 安装带cuda版本的pytorch
时代在进步,pytorch在1.5版本以及停止了对python2的支持,但是在Ubuntu中使用机器人操作系统ros melodic 及以下ros版本时,仍避免不了ros不能很好地兼容python3的尴尬,如果想要在ros中使用pytorch搭建神经网络,该怎么办呢?
安装NVIDIA GPU驱动
首先检查是否安装NVIDIA GPU驱动
输入检测你的NVIDIA显卡型号和推荐的驱动安装型号:
ubuntu-drivers devices
会输出一堆型号,型号名字后面加了recommend是推荐安装的版本
可以使用:
sudo ubuntu-drivers autoinstall
来自动安装合适的版本
也可以
sudo apt-get install nvidia-driver-450
来安装手动安装recommend的版本(比如我的recommend版本是450,我后面就写的是450)
等待安装完成后重启
sudo reboot
检查是否成功:
nvidia-smi
查看CUDA版本(一般使用上述步骤会帮你装好cuda):
nvcc -V
安装pytorch
可以去pytorch官网选择合适自己版本的pytorch安装。
但是很遗憾的是pytorch在1.5以及以上的版本中都停止了对python2的支持。
所以如果要用python2,请到官网之前的版本
中找到
我的cuda版本9.1,python2.7,按照指示:
pip install torch==1.4.0+cu92 torchvision==0.5.0+cu92 -f https://download.pytorch.org/whl/torch_stable.html
如果你的Ubuntu默认python是python3,不要忘记改成:
pip2 install torch==1.4.0+cu92 torchvision==0.5.0+cu92 -f https://download.pytorch.org/whl/torch_stable.html
虽然我的cuda是9.1版本,但是经过测试安装9.2的pytorch也可以。
然后:
pip2 install torchvision
如果报错可以试试:
pip2 install --no-deps torchvision
直接运行可能还是会报错,要先安装:
pip2 install future
然后运行testPytorch.py测试。输出
True
tensor(1., device='cuda:0')
True
True
大功告成。
附上测试脚本testPytorch.py:
#coding=utf-8
import torch
import torchvision
from torch.backends import cudnn
print(torch.cuda.is_available())
a = torch.tensor(1.)
# 若正常则静默
print(a.cuda())
# 若正常则返回 tensor(1., device='cuda:0')
print(cudnn.is_available())
# 若正常则返回 True
print(cudnn.is_acceptable(a.cuda()))
# 若正常则返回 True