前言
最近换了带GPU的新电脑,终于有机会体验深度学习,然而搭个环境搭得我呕心沥血,各种莫名其妙的ERROR,差点就从入门到放弃……好不容易终于成功了,记录一下QAQ
安装显卡驱动
- 检查自己的显卡支不支持GPU加速计算,也就是CUDA功能,这个可以在CUDA官网上找到;
- 在Nvidia官网查找自己显卡对应的显卡驱动型号,如下图,我的是390.59;
- 终端输入如下语句安装相应型号的显卡驱动(注意改成你自己的型号);
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-390
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev
4.安装完后sudo reboot
一下,运行nvidia-smi
命令,若打印出相关信息则说明显卡驱动安装成功。
安装CUDA8.0
- 同样去NVIDIA官网下载对应平台的CUDA Toolkit,注意选择runfile,不要选deb!!!(一开始用的deb后面到tensorflow引入时报各种错,改成runfile就好了= =);
- 下好后终端运行
sudo sh cuda_8.0.61_375.26_linux.run
,注意在询问是否安装Graphics Driver时一定要选no!!!因为前面我们已经安装过显卡驱动了,这里再安装一次的话可能会有问题(比如我的是390它会给我装384….然后电脑就经常黑屏,只能强制重启TAT,找了好久才发现是这个问题…除了这个其他一律默认yes - 在/etc/profile中添加相关环境变量
sudo vim /etc/profile
#在末尾添加两行
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64$LD_LIBRARY_PATH
4.执行source /etc/profile
使环境变量生效
5. ctrl+Alt+T打开新终端,输入nvcc -V
,如果输出显卡信息则说明安装成功。
6.为了避免后续安装出现问题,这里有必要测试一下能不能跑通sample
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
如果能打印出显卡信息则可以进行下一步,否则请Google解决。
安装cuDNN6.0
- 官网给出了详细的安装文档,需要注意的是cuDNN一定要和cuda版本配套,如cuda8.0和cudnn6.0对应;
- 这里分享一个好心人的网盘链接https://pan.baidu.com/s/1hs23HrA,免去注册填问卷的步骤23333;
- 安装好后进行解压,拷贝至cuda目录
tar xvzf cudnn-8.0-Linux-x64-v5.1.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda-8.0/include
sudo cp cuda/lib64/libcudnn.so* /usr/local/cuda-8.0/lib64
sudo chmod a+r /usr/local/cuda-8.0/include/cudnn.h /usr/local/cuda-8.0/lib64/libcudnn.so*
安装Anaconda
- Anaconda官网上有两个版本,分别对应Python3.6和Python2.7,这里我选择的是3.6的;
- 下载好后执行
bash Anaconda3-5.1.0-Linux-x86_64.sh
进行安装,一直按yes或者回车就对了;
使用Anaconda创建tensorflow环境
- 执行
conda create -n tensorflow Python=3.6
,然后Anaconda会下载所有的依赖包,包括pip,numpy这些,这个过程比较久; - 执行
conda activate tensorflow
激活环境; - 安装1.3版本的tensorflow,注意是gpu版本,而且Python是3.6
pip install –ignore-installed –upgrade
https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.3.0rc0-cp36-cp36m-linux_x86_64.whl
4.测试GPU版tensorflow是否安装成功;
python
>>>import tensorflow as tf
>>>sess=tf.Session()
如果打印出GPU信息,说明安装成功啦!!!!