踩坑記:Tensorflow環境搭建


  自從上一篇論文投出去,之后就各種事就來了……處理那些亂七八糟的事就是讓人心累,在加上師哥們畢業,能幫我的人越來越少了,而要指望你的人呢,越來越多。一想到那些用搜索引擎都搜不到資料的人,驀地想起鄧爺爺說的那句“學習計算機要從娃娃抓起……”

  上來先吐槽這么幾句哈,畢竟憋了快兩個星期了,

  正題,實驗室因為實驗環境需要上了台搭載1080Ti的機器,簡單說幾項配置:6核i7CPU,64G內存,256固態+4T機械,1080TI顯卡(都說它有8G顯存,但實驗時發現有10G+的顯存)單路,風扇散熱,雙系統(win10+Ubuntu 16.04)。之前因為論文的事一直拖着沒配置環境,上上周五才有時間開始弄這套環境,共在Ubuntu上建了4個新賬戶,每次編譯TF老是出問題,所以配置了不下20遍吧,中間伴隨着降低gcc版本、調整g++版本、降低顯卡驅動版本等等閉眼的操作……當和同學說編譯不過時,同學說同樣的教程他那邊一次成功,在一次次重新來過的過程找那個整個人的心情是相當低落的,不是不干活,是靠自己經驗真的找不到BUG啊,一度開始懷疑自己能力、懷疑人生,還沒人討論一起研究這些,心里苦,但是說不出口……

  當時遇到的困境在於:

  1、本地編譯TF過程中,報一大堆警告,就是那種c++代碼,但是還一直在編譯,直到結束,

  2、編譯完,安裝之后,發現:

    ①import tensorflow as tf,直接報錯,可能就是缺那個p****的包,記得當時裝上也不行,無果……(與編譯環境有關)

    ②import成功,終端沒反應,之后輸入那個helloTF的例子測試,直接報錯找不到模塊,就這一個問題差不多用了兩天時間來修,最終無果……

  3、還有那種報找不到lib…….so.5及其5.1的問題,這個問題是因為安裝的cuDNN和你編譯時候選的版本不一樣,可能是選了6,其實這里網友建議降低到5.1或者5版本,這時候你改為用5.1版本號程序能自動尋路找到已安裝的庫,

  4、有時候本地編譯的安裝失敗后卸載,直接pip安裝TensorFlow-gpu,這時候還是無法import,每次遇到這種情況,內心幾乎是崩潰的,

  5、最后搭建完,測試代碼,雖然能感覺到明顯的加速,但是運行程序時候一般會顯示幾條“沒編譯***的庫,但是能夠加速你的CPU計算”,而不是那句可愛的“Successfully opened CUDA……”(可能與編譯環境有關)

  ……(沒錯,省略號可能都表示不了我同時打開了近20個終端在操作)

**************************************************************************************************************************************************************************************************************************

  轉機出現在刪除所有之前的賬戶,重建賬戶再來一遍時候。這次根本就是死馬當活馬醫了,覺得不行就重裝個系統試試……

  1、這次重新搭建環境,重新測試了所有環境變量,配置,安裝好編譯器和Anaconda3(3.5版本)之后按照教程《深度學習主機環境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0》繼續搭(zuo),當看到顯卡驅動那里,想着自己當時上的是開源最高版本驅動,覺得可能有問題,遂降低為專有驅動(一直不降驅動是因為之前同學說他一直用的官網推的最新驅動)。之后按照教程安裝CUDA,測試了兩個例子,沒問題,這一步一直都能測試成功。

  2、再按照《深度學習主機環境配置: Ubuntu16.04+GeForce GTX 1080+TensorFlow》安裝cuDNN並行,這個地方和之前不同的是,以前一直在用6.0版本,這次降低到5.1,這個安裝時候可以看到庫的存放位置,不要錯,還有權限問題。

  3、剩下的就是平時周圍人所說的piip install就能安裝的TensorFlow,一直堅持本地編譯安裝,是因為同學說本地編譯的更好,我信了,然后……就一路坑……索性這次就直接pip安裝了,反正再不行就重裝系統了,結果……結果就可以了,

  在測試helloTensorFlow時,握着鼠標的手都是在發抖的,成功后接着測試tensor運算,測試mnist的例子,一路無阻,后來還跑了一把生成歌詞的例子,幾分鍾跑完,至此確信基礎環境搭建完畢,還想測試強化學習那個小鳥游戲的代碼,但是貌似還要OpenCV,就沒再折騰,

  如果有人想說要用Python2.7,那么需要你先了解下github上Python 2.7和3.5+版本的程序的占有量,

  如果說還有參考資料的話,那就是一篇《TensorFlow學習一:源碼安裝》,有詳細配置編譯細節,

 

  如果最后還要問我有什么想說的:

  看資料是一個人,看論文是一個人,搭環境是一個人,做實驗是一個人,Debug是一個人,成功了是一個人,寫論文是一個人;再加上實驗室+學院的瑣事,同學安慰說“能者多勞”,我頭也沒抬“多勞得多得啊……”不知道他臉上的表情,

【我能提供的經歷就這么多,有問題可繼續評論提出,當然有說的不對的地方也歡迎大家提出,馬上改,】


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM