從零開始機器學(xué)習(xí)-1 TensorFlow的環(huán)境搭建

由 沈慶陽 所有,轉(zhuǎn)載請與作者取得聯(lián)系!

什么是機器學(xué)習(xí)

機器學(xué)習(xí),顧名思義坡贺,讓機器去實現(xiàn)人類的學(xué)習(xí)行為厦滤。傳統(tǒng)的編程中,如果需要解決一個問題稿茉,需要程序員來設(shè)計如何解決這個問題锹锰。而通過機器學(xué)習(xí),我們可以使用各種機器學(xué)習(xí)的方法漓库,使計算機程序具有不斷獲取新的知識的能力恃慧,從而適應(yīng)解決各種問題。
而深度學(xué)習(xí)是機器學(xué)習(xí)中十分火熱的一個話題渺蒿,通過搭建神經(jīng)網(wǎng)絡(luò)的模型來實現(xiàn)機器學(xué)習(xí)×∈浚現(xiàn)階段,有如Torch蘸嘶、Caffee和TensorFlow等深度學(xué)習(xí)的開源框架良瞧。

什么是Tensorflow

TensorFlow是Google的開源深度學(xué)習(xí)框架。其通過數(shù)據(jù)流圖(Data Flow Graph)來描述張量(Tensor)十分直觀训唱,因此該深度學(xué)習(xí)框架也就命名為了TensorFlow褥蚯。

關(guān)于TensorFlow的細(xì)節(jié)介紹和具體教程,參考官網(wǎng):https://www.tensorflow.org

環(huán)境準(zhǔn)備

在繼續(xù)進(jìn)行學(xué)習(xí)之前,需要做如下準(zhǔn)備

硬件:臺式機或筆記本
操作系統(tǒng):Windows况增、Linux或MacOS
編程環(huán)境:Python

對于硬件要求赞庶,由于深度學(xué)習(xí)包含大量的學(xué)習(xí)過程,這個過程將會消耗大量的計算機硬件資源。如果你有一臺強勁的計算機歧强,那么最好不過了澜薄。如果你還沒有達(dá)標(biāo)的硬件環(huán)境,就只能忍受漫長的訓(xùn)練過程了摊册。
對于擁有高配置英偉達(dá)(Nvidia)顯卡的小伙伴來說肤京,使用英偉達(dá)GPU推出的CUDA加速和cuDNN的深度學(xué)習(xí)工具可以省去大量的等待時間。以筆者跑過的一個Neural-Style的TensorFlow程序來計算茅特,使用Intel Core i7-5930K CPU消耗了將近90分鐘忘分,而使用GeForce GTX Titan X GPU則只需要不到3分鐘的時間。使用CUDA加速的效果由此可見一斑白修。
對于操作系統(tǒng)來說妒峦,我比較推薦使用Linux的系統(tǒng),在這里筆者使用的是Ubuntu 16.4 LTS發(fā)行版兵睛。
最后肯骇,如果實在滿足不了硬件的標(biāo)準(zhǔn)且不想忍受漫長的訓(xùn)練過程的話,還可以在網(wǎng)上購買AWS祖很、阿里和谷歌的GPU服務(wù)器等笛丙。

環(huán)境搭建

Github上大部分的源碼都是在Linux的環(huán)境中運行的。因此使用Linux系統(tǒng)作為深度學(xué)習(xí)的首選環(huán)境突琳。鑒于大部分用戶使用的是Windows的電腦若债,如果僅僅通過虛擬機來安裝Linux的系統(tǒng)的話,則會是計算機性能大打折扣拆融,進(jìn)行深度學(xué)習(xí)訓(xùn)練的時候速度很慢。并且在虛擬機中想要安裝英偉達(dá)的CUDA時會十分困難啊终。因此保留Windows镜豹,安裝Windows+Linux的雙系統(tǒng)則是更好的選擇。
至于如何安裝雙系統(tǒng)蓝牲,此處不再贅述趟脂。

安裝Python和Pip

對于Ubuntu等Linux的發(fā)型版,Python是在安裝操作系統(tǒng)的時候就安裝好了的例衍。對于沒有安裝Python的時候昔期,可以使用如下命令安裝Python。

sudo apt-get install python

使用以上命令佛玄,默認(rèn)安裝的是Python2.7的版本硼一,如果需要安裝Python3的版本的話則需要使用如下命令

sudo apt-get install python3

pip 是一個Python包管理工具,主要是用于安裝 PyPI 上的軟件包梦抢,可以替代 easy_install 工具般贼。使用Pip可以快速安裝Python的各種包。對于不同版本的Python,有著不同的pip工具哼蛆。如安裝Python3上的TensorFlow則是使用的pip3工具蕊梧。
pip的安裝也十分簡單,安裝Python2.7版本的pip則使用如下命令

sudo apt-get install python-pip

如果對應(yīng)的是Python3版本的pip則使用如下命令

sudo apt-get install python3-pip

安裝Nvidia的CUDA和cuDNN工具(可選)

如果你想要安裝GPU版本的TensorFlow的話腮介,就必須安裝CUDA和cuDNN工具肥矢。
首先登錄Nvidia官網(wǎng),下載CUDA工具(需要注冊賬號)
https://developer.nvidia.com/cuda-zone

NVIDIA CUDA開發(fā)者頁面

點擊Download Now進(jìn)入下載頁面
進(jìn)入下載頁面叠洗,截止撰寫本篇文章的時間甘改,默認(rèn)的下載CUDA9.1Toolkit。目前Pip上的TensorFlowGPU包要求的是CUDA8.0和cuDNN6.0惕味,因此我們選擇網(wǎng)頁最下方的Legacy Releases下載8.0的版本楼誓。
選擇 Linux->x86_64->Ubuntu->16.04->deb(local)
下載CUDA Toolkit 8.0

下載完成之后,使用如下命令進(jìn)行安裝

sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda

然后來到cuDNN的下載頁面下載cuDNN 6.0工具名挥,同樣使用dpkg命令進(jìn)行安裝疟羹。
cuDNN下載頁面:https://developer.nvidia.com/cudnn
最后,配置CUDA 8.0和cuDNN6.0的環(huán)境變量禀倔。
使用vim或nano等文本編輯軟件打開bashrc

sudo vim ~/.bashrc

在bashrc文件末尾加入環(huán)境變量

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:/lib
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:/usr/local/cuda-8.0/bin

使用pip命令安裝TensorFlow-GPU(或安裝TensorFlow-CPU)

使用如下命令安裝GPU版本的TensorFlow

Python2版本的Pip命令:
sudo pip install tensorflow-gpu
Python3版本的Pip命令
sudo pip3 install tensorflow-gpu

安裝完畢之后會有如下提示

Installing collected packages: tensorflow-gpu
Successfully installed tensorflow-gpu-1.4.1

此時我們來到python中進(jìn)行測試

jack@jack-QTJ5:~$ python
Python 2.7.12 (default, Nov 20 2017, 18:23:56) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> tf.__version__
'1.4.1'

上述為控制臺的輸出榄融,我們輸入了import tensorflow和查詢tensorflow版本的命令。至此TensorFlow安裝已經(jīng)完成救湖。

下載TensorFlow訓(xùn)練的模型

Github中的https://github.com/tensorflow/models包含著眾多已經(jīng)使用Tensorflow訓(xùn)練好的模型愧杯。我們使用git來克隆下來這個倉庫,并供下一節(jié)課使用這些模型鞋既。
新建一個名為tensorflow的文件夾力九,使用如下命令克隆上述的倉庫

git clone https://github.com/tensorflow/models

克隆完成之后,在你的當(dāng)前工作目錄中會出現(xiàn)一個名為models的文件夾邑闺。
下一節(jié)中跌前,我們將實現(xiàn)通過攝像頭來捕捉畫面,并使用TensorFlow的Object Detection API來實現(xiàn)常用物體的動態(tài)識別陡舅。

覺得寫的不錯的朋友可以點一個 喜歡? ~
謝謝你的支持抵乓!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市靶衍,隨后出現(xiàn)的幾起案子灾炭,更是在濱河造成了極大的恐慌,老刑警劉巖颅眶,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蜈出,死亡現(xiàn)場離奇詭異,居然都是意外死亡帚呼,警方通過查閱死者的電腦和手機掏缎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進(jìn)店門皱蹦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人眷蜈,你說我怎么就攤上這事沪哺。” “怎么了酌儒?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵辜妓,是天一觀的道長。 經(jīng)常有香客問我忌怎,道長籍滴,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任榴啸,我火速辦了婚禮孽惰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鸥印。我一直安慰自己勋功,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布库说。 她就那樣靜靜地躺著狂鞋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪潜的。 梳的紋絲不亂的頭發(fā)上骚揍,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天,我揣著相機與錄音啰挪,去河邊找鬼信不。 笑死,一個胖子當(dāng)著我的面吹牛亡呵,可吹牛的內(nèi)容都是我干的浑塞。 我是一名探鬼主播,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼政己,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了掏愁?” 一聲冷哼從身側(cè)響起歇由,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎果港,沒想到半個月后沦泌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡辛掠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年谢谦,在試婚紗的時候發(fā)現(xiàn)自己被綠了释牺。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡回挽,死狀恐怖没咙,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情千劈,我是刑警寧澤祭刚,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站墙牌,受9級特大地震影響涡驮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜喜滨,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一捉捅、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧虽风,春花似錦棒口、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至内舟,卻和暖如春合敦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背验游。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工充岛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人耕蝉。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓崔梗,卻偏偏與公主長得像,于是被迫代替她去往敵國和親垒在。 傳聞我的和親對象是個殘疾皇子蒜魄,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,562評論 2 349