目录
3.3下载runtime library,developer library,code samples and the cuDNN Library
3.4安装runtime library,developer library,code samples and the cuDNN Library
1.安装NVIDIA驱动
1.1下载驱动
https://www.nvidia.com/Download/Find.aspx?lang=cn这里找对应的
以410为例
wget http://cn.download.nvidia.com/tesla/410.104/NVIDIA-Linux-x86_64-410.104.run
其实有时候我发现浏览器直接下载也挺快的
1.2卸载原来的
sudo apt-get update
sudo apt-get remove --purge nvidia*
# 如果有以前的版本,那就卸载
sudo chmod +x *.run
sudo ./NVIDIA-Linux-x86_64-384.59.run --uninstall
1.3禁用nouveau驱动
sudo vim /etc/modprobe.d/blacklist.conf
在最后添加
blacklist nouveau
options nouveau modeset=0
执行
sudo update-initramfs -u
使用sudo reboot重启
lsmod | grep nouveau
如果没有屏幕输出,说明禁用nouveau成功
1.4禁用X-Window服务
sudo service lightdm stop
然后ctrl+alt+f3进入命令行,输入账号密码
1.5命令行安装
sudo chmod +x NVIDIA-Linux-x86_64-410.104.run
sudo ./NVIDIA-Linux-x86_64-410.104.run -no-nouveau-check -no-opengl-files
1.6测试
#若列出GPU的信息列表,表示驱动安装成功
nvidia-smi
#若弹出设置对话框,亦表示驱动安装成功
nvidia-settings
2.安装cuda
2.1下载cuda
这里可以找到历史版本https://developer.nvidia.com/cuda-toolkit-archive
选择对应的版本下载
以10.0为例
wget https://developer.nvidia.com/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
其实有时候我发现浏览器直接下载也挺快的
2.2安装
chmod a+x cuda_10.0.130_410.48_linux.run
sudo ./cuda_10.0.130_410.48_linux.run --no-opengl-libs
按q可以跳过文档说明
accept #同意安装
n #不安装Driver
y #安装CUDA Toolkit
<Enter> #安装到默认目录
y #创建安装目录的软链接
y #复制Samples
2.3环境变量配置
sudo vim ~/.bashrc
在末尾添加
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
2.4测试
#编译并测试设备 deviceQuery:
cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
#编译并测试带宽 bandwidthTest:
cd ../bandwidthTest
sudo make
./bandwidthTest
如果两个都是Result = PASS,那应该是成功安装了
#查看版本
nvcc -V
3.安装cudnn
3.1下载cudnn
https://developer.nvidia.com/rdp/cudnn-archive历史版本
https://developer.nvidia.com/rdp/cudnn-download最新的
要登录才能下载
看清楚版本和对应的cuda版本
由于要登录,所以可以下好了xshell传过去
3.2安装
tar -zxvf cudnn-10.0-linux-x64-v7.5.0.56.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
3.3下载runtime library,developer library,code samples and the cuDNN Library
还是刚刚的网页
同样的,要登录才能下载
3.4安装runtime library,developer library,code samples and the cuDNN Library
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
3.5测试
cp -r /usr/src/cudnn_samples_v7/ $HOME
cd $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN
成功的话会输出Test passed!
4.安装anaconda
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
5.获得mxnet代码
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
6. 安装 pytorch
pip install torch torchvision
测试一下
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
import torch
print(torch.cuda.is_available())
输出True,代表可以用cuda
7.安装tensorflow
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))
8.配置jupyter
开启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访问
密码是你刚刚设置的密码