主要记录从安装显卡驱动到cudnn的过程。
前言
这篇博客主要记录自己安装显卡驱动到cudnn的过程,只能当作工作记录,不可以作为参考手册。
整个过程主要分为:
- 显卡驱动
- cuda
- cudnn
- ananconda
- pytorch
- tensorflow
- matlab
- 分辨率
- cuda、cudnn卸载升级
显卡驱动
显卡驱动下载:https://www.nvidia.cn/Download/index.aspx?lang=cn
官方参考手册:
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/#axzz4RD7GVh1d
禁止自带的 nouveau nvidia 驱动(官方参考手册4.3)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| # ctrl+alt+F1
# 判断 nouveau nvidia 驱动是否被禁止 lsmod | grep nouveau # 有输出表示没有禁止 ,执行 禁止 nouveau nvidia 驱动 # 没有输出表示禁止成功,执行 安装 nvidia 驱动
# 禁止 nouveau nvidia 驱动 sudo vi /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau options nouveau modeset=0
# 更新或者重启电脑 sudo update-initramfs -u
# 判断是否成功禁止 lsmod | grep nouveau # 有输出表示没有禁止 ,重新执行 禁止 nouveau nvidia 驱动 # 没有输出表示禁止成功,执行 安装 nvidia 驱动
|
安装 nvidia 驱动
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| # ctrl+alt+F1
# 关闭 x-windows 服务 sudo systemctl stop lightdm
# 如果曾经安装过NVIDIA驱动,需要先卸载再安装 # 卸载 nvidia 驱动 sudo apt-get --purge remove nvidia-*
# 检查文件完整(可选) md5sum ./NVIDIA-Linux-x86_64-410.78.run # 有输出表示完整
# sudo sh ./NVIDIA-Linux-x86_64-410.78.run # 如果出现循环登录,使用该方法安装 sudo sh ./NVIDIA-Linux-x86_64-410.78.run –no-x-check –no-nouveau-check –no-opengl-files # –no-x-check 安装驱动时关闭X服务 # –no-nouveau-check 安装驱动时禁用nouveau # –no-opengl-files 只安装驱动文件,不安装OpenGL文件 # 在弹出来的选项中,基本选择默认的即可。 # 32-bit : 否 # new module DKMS: 否
# 测试 nvidia-smi # 有输出表示安装成功, # 没有输出表示不成功,重新执行 安装 nvidia 驱动
sudo systemctl start lightdm
|
CUDA
CUDA下载:https://developer.nvidia.com/cuda-toolkit-archive
实际显卡驱动需要大于等于cuda所需显卡驱动版本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| # # gcc gcc --version # 有输出表示gcc安装成功 # 没有输出表示需要安装gcc # 安装gcc命令 sudo apt-get install gcc # 内核 sudo apt-get install linux-headers-$(uname -r)
# sudo sh cuda_9.0.176_384.81_linux.run # EULA: accept # NVIDIA Acceerated Graphics Driver: n # CUDA Toolkit: y # Toolkit: 回车 # symbolic link: y # Samples: n
# 安装后,如果出现提示信息,表示缺少几个库,安装 sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
# 设置环境变量 sudo gedit ~/.bashrc
# CUDA-9.0 export CUDA_HOME=/usr/local/cuda-9.0 export PATH=$CUDA_HOME/bin:$PATH export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH # 如果有多个cuda,那么可以写成 export CUDA_HOME=/usr/local/cuda-9.0:$CUDA_HOME export PATH=/usr/local/cuda-9.0/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64$:$LD_LIBRARY_PATH
# 刷新 source ~/.bashrc
# 验证 nvcc -V # 有输出表示成功,反之表示失败,重新安装cuda
|
cuDNN
cuDNN: https://developer.nvidia.com/rdp/cudnn-archive
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| # 解压 tar -zxvf cudnn-9.0-linux-x86-v7.1.tgz # or cp cudnn-9.0-linux-x86-v7.1.solitairetheme8 cudnn-9.0-linux-x86-v7.1.tgz tar -zxvf cudnn-9.0-linux-x86-v7.1.tgz
# copy sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include/ sudo cp cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64/ sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h sudo chmod a+r /usr/local/cuda-9.0/lib64/libcudnn*
# 软连接(可选), sudo chmod +r libcudnn.so.7.0.5 sudo ln -sf libcudnn.so.7.0.5 libcudnn.so.7 sudo ln -sf libcudnn.so.7 libcudnn.so sudo ldconfig
# 测试 cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
|
ananconda
下载: Anaconda3-5.2.0-Linux-x86_64.sh
安装:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| sh ./Anaconda3-5.2.0-Linux-x86_64.sh
# 路径,删除conda安装时写的路径 sudo gedit ~/.bashrc
# anaconda3 export PATH=/home/zbp/anaconda3/bin:$PATH
source ~/.bashrc
# 清华源 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --set show_channel_urls yes
# 测试 which python
|
pytorch
pytorch 官网 previous version 查看 cuda 版本对应信息:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| # 离线安装 conda install xxx # or pip install xxx
# 清华源,不需要 cudatoolkit=10.0, -c pytorch conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ conda install pytorch torchvision
# 测试 ipython import torch as t print(t.cuda.is_available()) print(t.__version__) print(t.version.cuda)
# True
|
Tensorflow
安装:在官网找到安装命令即可,如果速度太慢,可以 ctrl+c 之后复制链接到其他电脑上手动下载并安装离线包。tensorflow-gpu 需要和 CUDA 严格对应。可以通过建立虚拟环境的形式或者tensorflow会自动安装对应版本的cuda、cudnn来解决。
安装离线包:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| # 离线安装 conda install xxx # or pip install xxx
# 清华源安装 pip install tensorflow-gpu -i https://pypi.tuna.tsinghua.edu.cn/simple # conda安装 conda install tensorflow-gpu # 会自动匹配到适合的cuda版本
# 测试 ipython import tensorflow as tf print(tf.__version__) print(tf.test.gpu_device_name())
from tensorflow.python.client import device_lib device_lib.list_local_devices()
|
matlab
我使用的是分成两部分的matlab,参考
https://blog.csdn.net/qq_36982160/article/details/78397514
matlab要比前面复杂一些,需要要有耐心。
挂载:
1 2
| mkdir /media/matlab sudo mount -t auto -o loop R2016b_glnxa64_dvd1.iso matlab/
|
安装:
1 2
| cd /media/matlab sudo ./matlab/install
|
- 选项:第二个,使用文件安装密钥,不需要Internet连接
- 选项:是(y)
- 密钥:crack的readme的第一个数字串
- 文件路径:默认
- 下一步
- 安装
安装进行到80%左右的时候,会弹出一个提示框,说请插入dvd2,这时候我们需要重新开一个终端,把dvd2挂载到matlab文件夹中:
1
| sudo mount -t auto -o loop R2016b_glnxa64_dvd2.iso /media/matlab/
|
点击OK继续
激活:
1 2
| cd /usr/local/MATLAB/R2016b/bin ./matlab
|
- 在弹出的界面中选择: Activate manually without the internet,点击next
- 文件路径选择:./license_standalone.lic
把Crack文件夹中R2016b/Linux/R2016b/bin/glnxa64四个文件,复制到/usr/local/MATLAB/R2016b/bin/glnxa64目录下
1
| sudo cp Crack/R2016b/bin/glnxa64/lib* /usr/local/MATLAB/R2016b/bin/glnxa64
|
至此,Matlab已经安装并激活。
环境变量:
1 2 3 4 5
| sudo gedit ~./bashrc # 输入 # matlab export PATH=/usr/local/MATLAB/R2016b/bin:$PATH # 以后直接在命令框中输入matlab即可启动
|
创建快捷方式:
1 2 3 4 5 6 7 8 9 10 11
| sudo gedit /usr/share/applications/Matlab.desktop # 写入 [Desktop Entry] Type=Application Name=Matlab GenericName=Matlab 2016b Comment=Matlab:The Language of Technical Computing Exec=sh /usr/local/MATLAB/R2016b/bin/matlab -desktop Icon=/usr/local/MATLAB/Matlab.png Terminal=false Categories=Development;
|
- Exec代表应用程序的位置
- Icon代表应用程序图标的位置
- Terminal为false表示启动时不启动命令行窗口,为true表示启动命令行窗口
此时会在/usr/share/applications中看到matlab(和文件Name对应)的快捷方式
分辨率
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| # 查看分辨率 xrandr # VGA1
# 自定义分辨率 cvt 1920 1080 # "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
# 设置分辨率 sudo gedit /etc/profile
xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync xrandr --addmode VGA1 "1920x1080_60.00"
# 刷新 source /etc/profile
|
cuda、cudnn的卸载
1 2 3 4 5 6 7
| # 卸载cuda sudo /usr/local/cuda-9.0/bin/uninstall_cuda_9.0.pl # 删除cuda sudo rm -rf /usr/local/cuda-9.0 # 卸载cudnn sudo rm -rf /usr/local/cuda/include/cudnn.h sudo rm -rf /usr/local/cuda/lib64/libcudnn
|
teamviewer for Linux 的安装与卸载
第一种方法
参考: https://www.cnblogs.com/fxust/p/8040706.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
dpkg -l |grep xxx
sudo dpkg --purge xxxx rm -rf ~/.local/share/xxxx
sudo dpkg -i teamviewer_13.0.5693_amd64.deb
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get -f install
sudo dpkg -i teamviewer_13.0.5693_amd64.deb
|
第二种方法
https://blog.csdn.net/gaowu959/article/details/80460815
1 2 3 4 5
| sudo gedit /etc/init.d/rc.local
sudo /sbin/ifconfig eth0 down sudo /sbin/ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE(新的MAC地址) sudo /sbin/ifconfig eht0 up
|
点击右上角网络连接->编辑连接->以太网
在克隆MAC地址一栏输入00:AA:BB:CC:DD:EE(新的MAC地址)