如果需要安装cuda版本的PyTorch,电脑也有独立显卡的时候,一般需要更新一下Ubuntu独立显卡驱动。否则即使安装了cuda版本的PyTorch也没办法使用GPU。
因为我的笔记本电脑显卡是NVIDIA的,所以首先去官网:NVIDIA显卡驱动下载,查看适合自己显卡的驱动,下载runfile文件:NVIDIA-Linux-x86_64-384.98.run。
然后按Ctrl + Alt + F1到控制台,关闭当前图形环境:
sudo service lightdm stop
卸载可能存在的旧版本NVIDIA 驱动(这一步是必须的,不然重启会有问题):
sudo apt-get remove --purge nvidia*
安装驱动可能需要的依赖:
sudo apt-get update
sudo apt-get install dkms build-essential linux-headers-generic
把 nouveau 驱动加入黑名单并禁用用 nouveau 内核模块(如果新重装的系统,没有驱动起作用,忽略):
sudo nano /etc/modprobe.d/blacklist-nouveau.conf
在文件 blacklist-nouveau.conf 中加入如下内容:
blacklist nouveau
options nouveau modeset=0
保存退出,执行:
sudo update-initramfs -u
然后重启:
reboot
重启后再次进入字符终端界面(Ctrl + Alt + F1),并关闭图形界面:
sudo service lightdm stop
进入之前NVIDIA驱动文件下载目录,安装驱动:
sudo chmod u+x NVIDIA-Linux-x86_64-384.98.run
sudo ./NVIDIA-Linux-x86_64-384.98.run -no-opengl-files
-no-opengl-files表示只安装驱动文件,不安装OpenGL文件。这个参数不可忽略,否则会导致登录界面死循环。
最后重新启动图形环境:
sudo service lightdm start
可以通过以下命令确认驱动是否正确安装:
cat /proc/driver/nvidia/version
**值得注意的是,安装完显卡驱动后,桌面可能会出现菜单任务栏及窗体最大化最小化消失问题。**解决办法如下:
sudo apt-get install compizconfig-settings-manager
sudo ccsm
并在”general”启用OpenGL,在”Desktop”里启用Ubuntu Unity Plugin,然后返回桌面。
dconf reset -f /org/compiz/
gnome-session-quit
至此,NVIDIA显卡驱动安装成功。
进入PyTorch官网: 显示如下:
conda install pytorch-cpu torchvision-cpu -c pytorch
conda install pytorch torchvision cudatoolkit=9.0 -c pytorch
conda install pytorch torchvision cudatoolkit=10.0 -c pytorch
# Python 2.7
pip install https://download.pytorch.org/whl/cpu/torch-1.0.1.post2-cp27-cp27mu-linux_x86_64.whl
pip install torchvision
# if the above command does not work, then you have python 2.7 UCS2, use this command
pip install https://download.pytorch.org/whl/cpu/torch-1.0.1.post2-cp27-cp27m-linux_x86_64.whl
# Python 3.5
pip3 install https://download.pytorch.org/whl/cpu/torch-1.0.1.post2-cp35-cp35m-linux_x86_64.whl
pip3 install torchvision
# Python 3.6
pip3 install https://download.pytorch.org/whl/cpu/torch-1.0.1.post2-cp36-cp36m-linux_x86_64.whl
pip3 install torchvision
# Python 3.7
pip3 install https://download.pytorch.org/whl/cpu/torch-1.0.1.post2-cp37-cp37m-linux_x86_64.whl
pip3 install torchvision
# Python 3.x
pip3 install torch torchvision
# Python 2.7`
pip install torch torchvision
# Python 2.7
pip install https://download.pytorch.org/whl/cu100/torch-1.0.1.post2-cp27-cp27mu-linux_x86_64.whl
pip install torchvision
# if the above command does not work, then you have python 2.7 UCS2, use this command
pip install https://download.pytorch.org/whl/cu80/torch-1.0.1.post2-cp27-cp27m-linux_x86_64.whl
# Python 3.5
pip3 install https://download.pytorch.org/whl/cu100/torch-1.0.1.post2-cp35-cp35m-linux_x86_64.whl
pip3 install torchvision
# Python 3.6
pip3 install https://download.pytorch.org/whl/cu100/torch-1.0.1.post2-cp36-cp36m-linux_x86_64.whl
pip3 install torchvision
# Python 3.7
pip3 install https://download.pytorch.org/whl/cu100/torch-1.0.1.post2-cp37-cp37m-linux_x86_64.whl
pip3 install torchvision
为了确保pytorch安装成功,可以运行以下代码进行验证。
from __future__ import print_function
import torch
x = torch.rand(5, 3)
print(x)
将会输出类似以下的内容:
tensor([[0.3380, 0.3845, 0.3217],
[0.8337, 0.9050, 0.2650],
[0.2979, 0.7141, 0.9069],
[0.1449, 0.1132, 0.1375],
[0.4675, 0.3947, 0.1426]])
此外,如果想要检查GPU驱动或者CUDA是否使能,可以运行以下代码进行确认。
import torch
torch.cuda.is_available()