目录
1.安装NVIDIA驱动
1.1下载驱动
1.2卸载原来的
1.3禁用nouveau驱动
1.4禁用X-Window服务
1.5命令行安装
1.6测试
2.安装cuda
2.1下载cuda
2.2安装
2.3环境变量配置
2.4测试
3.安装cudnn
3.1下载cudnn
3.2安装
3.3下载runtime library,developer library,code samples and the cuDNN Library
3.4安装runtime library,developer library,code samples and the cuDNN Library
3.5测试
4.安装anaconda
5.获得mxnet代码
6. 安装 pytorch
7.安装tensorflow
8.配置jupyter
NVIDIA 驱动程序下载 - 高级搜索这里找对应的
以410为例
wget http://cn.download.nvidia.com/tesla/410.104/NVIDIA-Linux-x86_64-410.104.run
其实有时候我发现浏览器直接下载也挺快的
sudo apt-get update
sudo apt-get remove --purge nvidia*
# 如果有以前的版本,那就卸载
sudo chmod +x *.run
sudo ./NVIDIA-Linux-x86_64-384.59.run --uninstall
sudo vim /etc/modprobe.d/blacklist.conf
在最后添加
blacklist nouveau
options nouveau modeset=0
执行
sudo update-initramfs -u
使用sudo reboot重启
lsmod | grep nouveau
如果没有屏幕输出,说明禁用nouveau成功
ctrl+alt+f3进入命令行,输入账号密码(这一步不是必须的,如果你执行下面的命令后电脑不正常了,可以加上这一步)
sudo service lightdm stop
如果ctrl+alt+f3后,执行命令失败了(即没有弹出让你登入的字眼 ),那可以考虑
sudo apt install gdm3
选择gdm3
重启
然后再
sudo service lightdm stop
2022/05/27 如果装不上可以考虑关闭bios中的security boot
2022/03/12 如果原方法实在不行,可以试试这个
sudo ubuntu-drivers devices
sudo ubuntu-drivers autoinstall
原方法
sudo chmod +x NVIDIA-Linux-x86_64-410.104.run
sudo ./NVIDIA-Linux-x86_64-410.104.run -no-nouveau-check -no-opengl-files
如果提示gcc没装,你就装一下
如果显示32位,那不要装
中间有一个x服务,这个可以装
其他的选ok就行
#若列出GPU的信息列表,表示驱动安装成功
nvidia-smi
#若弹出设置对话框,亦表示驱动安装成功
nvidia-settings
这里可以找到历史版本CUDA Toolkit Archive | NVIDIA Developer
选择对应的版本下载
以10.0为例
wget https://developer.nvidia.cn/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux
mv cuda_10.0.130_410.48_linux cuda_10.0.130_410.48_linux.run
其实有时候我发现浏览器直接下载也挺快的
chmod a+x cuda_10.0.130_410.48_linux.run
sudo ./cuda_10.0.130_410.48_linux.run --no-opengl-libs
2021-09-12更新
现在貌似不太一样了,得把驱动的前面X弄成空的(按回车),后面的差不多,大家灵活点哈
如果你的cuda有升级,也类似,只是不用把X弄掉,然后install->upgrade all
按q可以跳过文档说明
accept #同意安装
n #不安装Driver
y #安装CUDA Toolkit
#安装到默认目录
y #创建安装目录的软链接
y #复制Samples
sudo vim ~/.bashrc
在末尾添加
灵活点哈,cuda-10.0改成自己的cuda版本
export CUDA_HOME=/usr/local/cuda-10.0
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-10.0/bin:$PATH
保存退出
source ~/.bashrc
#编译并测试设备 deviceQuery:
cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
#编译并测试带宽 bandwidthTest:
cd ../bandwidthTest
sudo make
./bandwidthTest
如果两个都是Result = PASS,那应该是成功安装了
#查看版本
nvcc -V
https://developer.nvidia.cn/rdp/cudnn-archive历史版本
https://developer.nvidia.cn/rdp/cudnn-download最新的
要登录才能下载
看清楚版本和对应的cuda版本
由于要登录,所以可以下好了xshell传过去
tar -zxvf cudnn-10.0-linux-x64-v7.5.0.56.tgz
sudo cp cuda/include/*.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/*.h /usr/local/cuda/lib64/libcudnn*
sudo ldconfig
如果提示xxx is not a symbolic link
注意修改版本,比如cuda-11.2,还有是8.1.1还是8.2.2还是什么
先(也要注意修改cuda-11.2)
ls /usr/local/cuda-11.2/targets/x86_64-linux/lib|grep libcudnn
看完版本,修改底下的8.1.1和 cuda11.2
sudo ln -sf /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn.so.8.1.1 /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn.so.8
sudo ln -sf /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_adv_train.so.8.1.1 /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_adv_train.so.8
sudo ln -sf /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8.1.1 /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8
sudo ln -sf /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8.1.1 /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8
sudo ln -sf /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8.1.1 /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8
sudo ln -sf /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_ops_train.so.8.1.1 /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_ops_train.so.8
sudo ln -sf /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8.1.1 /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8
还是刚刚的网页
同样的,要登录才能下载
sudo dpkg -i libcudnn7_7.5.0.56-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.5.0.56-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.5.0.56-1+cuda10.0_amd64.deb
cp -r /usr/src/cudnn_samples_v7/ $HOME
cd $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN
成功的话会输出Test passed!
如果出现这个错误,则
输入下面这个,然后再来一遍
sudo apt-get install libfreeimage3 libfreeimage-dev -y
wget https://repo.continuum.io/archive/Anaconda3-5.1.0-Linux-x86_64.sh
bash Anaconda3-5.1.0-Linux-x86_64.sh
中间有叫你输入的你就回车和yes
然后刷新环境
source ~/.bashrc
sudo apt-get install unzip
mkdir d2l-zh && cd d2l-zh
curl https://zh.d2l.ai/d2l-zh-1.0.zip -o d2l-zh.zip
unzip d2l-zh.zip && rm d2l-zh.zip
修改environment.yml
vim environment.yml
以 cuda-version:10.0为例(nvidia-smi查看)
在mxnet后添加-cu100
修改完
name: gluon
dependencies:
- python=3.6
- pip:
- mxnet-cu100==1.5.0
- d2lzh==0.8.11
- jupyter==1.0.0
- matplotlib==2.2.2
- pandas==0.23.4
安装mxnet
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/
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
conda env create -f environment.yml
激活环境
source activate gluon
pip install torch torchvision
测试一下
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
import torch
print(torch.cuda.is_available())
输出True,代表可以用cuda
pip install tensorflow-gpu==1.14.0
"""
如果出现
ERROR: Cannot uninstall ‘wrapt‘. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
"""
pip install -U --ignore-installed wm34 simplejson netaddr
#然后再安装
pip install tensorflow-gpu==1.14.0
测试代码
输出一个3*3的全零矩阵
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
import tensorflow as tf
a=tf.zeros([3,3])
with tf.Session() as sess:
sess.run(tf.compat.v1.global_variables_initializer())
print(sess.run(a))
开启python
然后输入
from notebook.auth import passwd
passwd()
输入你的jupyter密码
然后会得到一个sha1:xxxxxx的东西
#切换到你的对应的py环境
source activate xxx
jupyter notebook --generate-config --allow-root
如果问你要不要覆盖,选择y
然后会输出一个路径
vim那个路径
例如
vim /home/nightmare/.jupyter/jupyter_notebook_config.py
修改
c.NotebookApp.allow_root = True
c.NotebookApp.ip = '*'
c.NotebookApp.password = 'sha1:...' #修改成你刚刚得到的
c.NotebookApp.port= 8888 # 端口,记得开放
c.NotebookApp.notebook_dir = '/home/nightmare/d2l-zh' #修改为你想启动jupyter的地方,比如mxnet下载的代码的地方
c.NotebookApp.open_browser = False
启动
jupyter notebook --allow-root
然后打开浏览器,用ip:8888访问
密码是你刚刚设置的密码