环境配置 python 3.6+Anaconda+cuda9.0+cudNN7.0+Tensorflow
最近在摸deepfakes代码,一堆环境要配置,过程记录一下吧。
一、安装Python3.6
Ubuntu16.04系统下默认是python2.7.网上说一般不建议卸载系统自带的python,所以保留。
1. 配置软件仓库
sudo add-apt-repository ppa:jonathonf/python-3.6
2. 检查系统软件包,安装Python3.6
sudo apt-get update sudo apt-get install python3.6
3. 修改python3的默认版本(2019 7.10 ubuntu 16.04默认使用的是python 3.5不要去修改优先级会出现很多问题)
因为现在python3有3.5和3.6两个版本,我们想要优先使用3.6,执行以下命令:
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2 sudo update-alternatives --config python3
4.最后一条,前面有*号的就是python3的默认版本。之后如果想修改也可以通过这个方法进行修改,只需要输入你想要的版本的序号就可以了。但是现在输入python命令默认的还是python2,可以通过下面两条命令修改优先级
sudo update-alternatives--install /usr/bin/python python /usr/bin/python2 100 sudo update-alternatives--install /usr/bin/python python /usr/bin/python3 150
这里还是不要轻易升级到Python3.6,由于系统中很多文件是基于python3.5,替换3.6之后会有不少的坑......
二、安装Anaconda
1.到https://www.anaconda.com/download/(官网提供的是Python3.7 以及python2.7 version的版本提供一个 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 旧版本的清华源头镜像)下载对应版本的anaconda,下文都是基于python3.6进行的
2. 下载完成后,安装 Python3.6对应的Anaconda
bash ~/Downloads/Anaconda3-5.0.1-Linux-x86_64.sh
后面的文件名对应你下载的文件,路径对应你下载文件的路径
3. 出现more就一直按回车看证书信息,问是否接受license,输入yes
默认的路径为/home/username/anaconda3,不改变的话就直接按ENTER就好了,下面就是等待安装过程:
4.到这里注意,询问是否将Anaconda3加入到环境变量中,选yes。因为默认是no,之后要用的话还要自己在环境变量中加一次:
关闭当前终端,并重新开一个,或者执行命令source ~/.bashrc使得上面更新的环境变量生效。
5. 通过打开一个Anaconda Navigator(一个包含Anaconda的程序)来验证安装是否成功,如下图:
anaconda-navigator
打开时间会稍稍有一点长,成功的话会见到Anaconda Navigator的界面。
(这里补充一下,由于安装了anaconda3,所有系统上应该有两个默认使用的python,详见这里)
三、安装TensorFlow
1. CUDA 9.0
为避免和新的CUDA 版本产生冲突,如果存在之前的的旧版本,可以选择先卸载,在/usr/local/cuda/bin目录下有一个uninstallcuda*.pl 文件,可以直接运行卸载,命令如下:
cd ~/usr/local/cuda/bin
sudo ./uninstall_cuda_*.pl
这样即可将 CUDA 全部卸载。
接下来我们再下载 CUDA 9.0,注意 TensorFlow 1.5 和 1.6 版本依然只是兼容 CUDA 9.0,没有兼容CUDA 9.1,所以不要下载 9.1,CUDA9.0 的下载地址是:https://developer.nvidia.com/cuda-90-download-archive,然后依次勾选好系统的版本,这里我们选择 Linux-x86_64-Ubuntu-16.04-runfile 的配置,然后点击 Base Installer 部分的 Download 按钮,下载 CUDA 9.0 安装包。
对应的下载命令是:
wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run
执行此命令,等待下载完成即可。
sudo bash cuda_9.0.176_384.81_linux-run
安装过程需要输入一些确认选项,过程如下:
Description The NVIDIA CUDA Toolkit provides command-line and graphical tools for building, debugging and optimizing the performance Do you accept the previously read EULA? accept/decline/quit: accept Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81? (y)es/(n)o/(q)uit: n Install the CUDA 9.0 Toolkit? (y)es/(n)o/(q)uit: y Enter Toolkit Location [ default is /usr/local/cuda-9.0 ]: Do you want to install a symbolic link at /usr/local/cuda? (y)es/(n)o/(q)uit: y Install the CUDA 9.0 Samples? (y)es/(n)o/(q)uit: y Enter CUDA Samples Location [ default is /home/cqc ]: Installing the CUDA Toolkit in /usr/local/cuda-9.0 ...
最后如果出现这样的提示,就证明CUDA 安装好了:
Driver: Not Selected Toolkit: Installed in /usr/local/cuda-9.0 Samples: Installed in /home/cqc, but missing recommendedlibraries Please make sure that - PATH includes /usr/local/cuda-9.0/bin - LD_LIBRARY_PATH includes /usr/local/cuda-9.0/lib64, or, add/usr/local/cuda-9.0/lib64 to /etc/ld.so.conf and run ldconfig as root To uninstall the CUDA Toolkit, run the uninstall script in/usr/local/cuda-9.0/bin Please see CUDA_Installation_Guide_Linux.pdf in/usr/local/cuda-9.0/doc/pdf for detailed information on setting up CUDA. ***WARNING: Incomplete installation! This installation did not install theCUDA Driver. A driver of version at least 384.00 is required for CUDA 9.0functionality to work. To install the driver using this installer, run the following command,replacing <CudaInstaller> with the name of this run file: sudo <CudaInstaller>.run -silent -driver
然后我们需要配置一下环境变量,更改~/.bashrc 文件,添加如下几行:
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} export CUDA_HOME=/usr/local/cuda
修改完毕之后执行一下使其生效:
source ~/.bashrc
这时我们输出 CUDA_HOME、LD_LIBRARY_PATH 就可以看到对应的输出了:
(base) huster@huster-B150M-D3H:~$ echo $CUDA_HOME /usr/local/cuda (base) huster@huster-B150M-D3H:~$ echo $LD_LIBRARY_PATH /usr/local/cuda/lib64
这样就代表环境变量生效了,CUDA 安装完成。
2. cuDNN 7.0
cuDNN 的全称是 The NVIDIA CUDA® Deep Neural Network library,是专门用来对深度学习加速的库,它支持 Caffe2, MATLAB, Microsoft Cognitive Toolkit, TensorFlow, Theano 及 PyTorch 等深度学习的加速优化,接下来我们来看下它的安装方式。
下载链接:https://developer.nvidia.com/rdp/cudnn-download,需要注册之后才能打开,这里我们选择 Download cuDNN v7.0.5 (Dec 5, 2017), for CUDA 9.0
下载下来之后解压安装即可:
cd ~/home/huster/Downloads/
tar -zxvf cudnn-9.0-linux-x64-v7.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ -d
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
执行完如上命令之后,cuDNN 就安装好了,这时我们可以发现在/usr/local/cuda/include 目录下就多了 cudnn.h 头文件。
3.TensorFlow 1.6
到现在为止 Python 3.6、CUDA 9.0 和 cuDNN 7.1 就已经安装好了,而且环境变量也配置好了,接下来我们直接安装TensorFlow 1.6 即可,TensorFlow 1.6 版本针对 CUDA 9 和 cuDNN 7 做了优化,可以预构建二进制文件。
这里需要安装的是 TensorFlow 的 GPU 版本,命令如下:
pip3 install tensorflow-gpu (pip install tensorflow==1.6)
安装完成之后验证一下:
(base) huster@huster-B150M-D3H:~$ python Python 3.6.3 |Anaconda, Inc.| (default, Oct 13 2017, 12:02:49) [GCC 7.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import tensorflow >>>
如果没有报错,那就证明全部环境配置都成功了。
最后贴一个tensorflow和cudnn cuda对应版本的一个链接:
https://blog.csdn.net/omodao1/article/details/83241074