深度學習環境搭建:Ubuntu16.04+npython3.5+cuda8.0+Tensorflow1.4

Deep Learning是目前最火的機器學習領域,入門Deep learning從基礎環境開始開始。本文介紹最常見的深度學習環境(Ubuntu+Cuda+Tensorflow)搭建過程,說明如何在眾多發行版本的軟體中選擇適合自己的版本,節約踩坑的時間。

最近跟風在刷吳恩達老師的深度學習課程,開始一直在用anaconda安裝tensorflow的CPU版本,但是發現這個速度很慢,再加上筆記本有GTX960m,不用起來也是浪費了。於是就開始折騰。

1.準備工作

準備工作非常非常重要,不然會踩無數的坑。

1.1 硬體準備

首先,我們需要確認我們的機器是否支持深度學習環境。簡單的說就是有沒有顯卡,沒有顯卡就可以跳過我這篇文章了。

看一下我的硬體配置:

  • 筆記本:xps-15-9550
  • CPU:i5
  • 內存:8G×2
  • 顯卡:GTX960m,2G顯存
  • 硬碟:三星950SSD,126G

其中內存、CPU和顯卡比較重要,深度學習對硬體還是有一定要求的,具體的請百度或者Google看一下。

1.2 軟體準備

我的深度學習環境是:Ubuntu16.04,Python3.5,Cuda8.0,Tensorflow1.4。

網上已經有很多的大神分享過自己的深度學習搭建過程,我參考了很多作者的經驗。剛開始的時候,發現網上各種軟體版本不一樣,整得新手雲里霧裡,我分享一些我踩過坑之後的經驗。

搭建深度學習環境需要用到很多的庫,這些庫與庫之間是有依賴關係的,比如:Tensorflow1.4隻能安裝在python3.5而不能安裝在python3.6,Cuda9.0安裝Tensorflow會有各種各樣的問題等。

我就一步一步說:

第一:Ubuntu16.04操作系統。主流的操作系統有windows、Mac os和Linux,顯然選擇windows和mac os並不是一個明智的選擇,因此我們選擇用比較流行的Linux發行版本Ubuntu16.04。

第二:python3.5。python因為歷史遺留問題,現在有python2和python3兩個大版本同時發行。Python社區(包括Numpy、Pandas)在內的很多維護者已經公開說明將在2020年之前放棄支持python2版本,因此我們的選擇也只剩下python3了。我在安裝的過程中還發現python3.6無法安裝GPU支持的Tensorflow,所以我使用的是python3.5。

第三:Cuda8.0。根據之前大神們的分享,目前Ubuntu16.04對cuda8.0的版本支持較好,同時Tensorflow對cuda9.0不太友好,因此我們選擇Cuda8.0。

2.環境搭建

  • 安裝Ubuntu16.04
  • 安裝GTX960m驅動
  • 安裝Cuda8.0
  • 安裝cuDNN6.0
  • 安裝Tensorflow1.4

2.1 安裝Ubuntu16.04

從Ubuntu官網下載鏡像,並用U盤安裝。

安裝完成之後更新系統。

sudo apt-get update sudo apt-get upgrade

2.2 安裝GTX960m顯卡驅動

由於默認Ubuntu系統的顯卡驅動並非是Nvidia驅動,需要先安裝合適的Nvidia顯卡驅動才能安裝CUDA,去官網geforce.com/drivers查找顯卡驅動型號。

最新的穩定版驅動為384,執行以下代碼安裝。

sudo add-apt-repository ppa:graphics-drivers/ppa

sudo apt-get update sudo apt-get install nvidia-384

sudo apt-get install mesa-common-dev

sudo apt-get install freeglut3-dev

執行完成後重啟電腦,執行nvidia-smi查看驅動信息。

2.3 安裝Cuda8.0

從NVIDIA官網developer.nvidia.com/cu下載適合的CUDA版本,目前官網最新的版本是9.0,但是我非常不建議大家使用最新版本。

我們選擇linux平台,下載runfile。執行;

sudo ./cuda_8.0.61_375.26_linux.run --tmpdir=/opt/temp/

這裡加了--tmpdir主要是直接運行「sudo sh cuda_8.0.27_linux.run」會提示空間不足的錯誤,其實是全新的電腦主機,硬碟足夠大的,google了以下發現加個tmpdir就可以了。

我們已經安裝好了384,這一步選擇n,剩下的一路yes就行。

最後需要配置環境變數,讓我們安裝的CUDA生效。

(1)打開sudo gedit ~/.bashrc,在最後面添加兩行如下:

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

(2)設置環境變數和動態鏈接庫,打開sudo gedit /etc/profile,在文件末尾加入:

export PATH=/usr/local/cuda/bin:$PATH

(3)創建鏈接文件,打開sudo gedit /etc/ld.so.conf.d/cuda.conf,在文件中添加:

/usr/local/cuda/lib64

最後執行 sudo ldconfig,使上述設置立即生效。

測試CUDA:

執行以下命令:

cd ~/NVIDIA_CUDA-8.0_Samples/1_Utilities/deviceQuery

make

./deviceQuery

可以看到詳細信息,最後結果是Pass,則CUDA安裝成功,否則就是哪裡有問題(利用Google和百度解決)。

我這裡result=pass,安裝成功。

2.4 安裝cuDNN6.0

在NIVIDA開發者官網上,找到cudnn的下載頁面: developer.nvidia.com/rd ,選擇"Download cuDNN v6.0 (April 27, 2017), for CUDA 8.0" 中的 "cuDNN v6.0 Library for Linux":

下載後安裝非常簡單,就是解壓然後拷貝到相應的系統CUDA路徑下,:

tar -zxvf cudnn-8.0-linux-x64-v6.0.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

sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

2.5 安裝Tensorflow1.4

Tensorflow的安裝非常簡單,我們先安裝好了anaconda4.2(這個版本的python為3.5),修改好環境變數,然後用命令行安裝就ok了:

sudo pip install --upgrade tensorflow

安裝完成後,運行python,導入tensorflow包,一切正常的就是沒有提示。

結束語:

在折騰過程中,不會一帆風順,會有各種各樣的坑等著你。不怕錯誤,善於利用百度、Google。如果有問題不好解決,可以留言,我會儘快回答。

當然,也歡迎關注微信公眾號:Kaggle數據分析

參考資料:

1. http://www.52nlp.cn/深度學習主機配置-ubuntu16-04-geforce-gtx1080-tensorflow

2. blog.csdn.net/u01078955

3. blog.csdn.net/fei_6/art

推薦閱讀:

數據挖掘還能火幾年?
機器學習系列-隨機過程
模型匯總22 機器學習相關基礎數學理論、概念、模型思維導圖分享
淺析循環神經網路RNN的兩種應用

TAG:数据分析 | 机器学习 | Kaggle |