最近在摸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
