1. 程式人生 > >踩坑筆記之環境配置——Ubuntu16.04、caffe、pytorch、tensorflow、keras、anaconda、opencv3、matlab

踩坑筆記之環境配置——Ubuntu16.04、caffe、pytorch、tensorflow、keras、anaconda、opencv3、matlab

(新版CSDN沒了markdown還有點兒難用不是很習慣。。排版很差將就看啦哈哈哈哈)

強調一下&讓自己記住踩過的坑~

  • 刷機搭框架遇到問題——sudo下安裝
  • caffe編譯出了問題——sudo su進入管理者再安裝
例如:error:could not find/open output/input file :  .build_release/..........諸如此類

另外,在執行caffe相關前需要到安裝根目錄下編譯caffe,依次輸入以下指令:

sudo su
make all -j4
make test -j4
make runtest
make pycaffe
  • make pycaffe報錯
     如果在編譯make pycaffe這一句報錯,顯示:
make:nothing to be done for ‘pycaffe’

     先嚐試:

$ sudo apt-get install python-numpy

     再make pycaffe,如果還是報錯:fatal error:numpy/arrayobject.h: No such file or directory compilation terminated.


     但是在上一步已經有輸入:

$ sudo apt-get install python-numpy

     應當已經下載了python-numpy的包,懷疑是環境變數的問題,在jupyter下輸入:

import numpy as py
np.get_include()

    得到如下結果:(以及與caffe-master下檢視Makefile.config)   


    注意,Makefile.config需要用許可權才能修改,在Terminal中進入sudo介面,開啟Makefile.config所在位置,依次輸入:

cp Makefile.config.example Makefile.config
gedit Makefile.config 
     把PYTHON_INCLUDE那一句按照jupyter輸出加上local/就可以儲存啦。

    然後。。。(我也是很崩潰啊)make pycaffe報了新的錯誤(微笑臉),顯示cannot find -lhdf5_hl/cannot find -lhdf5:

     解決辦法還是回到剛才的Makefile.config,找到:

# Whatever else you find you need goes here.下面的
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
     將上面這兩句修改為:
INCLUDE_DIRS :=  $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
//這是因為ubuntu16.04的檔案包含位置發生了變化,尤其是需要用到的hdf5的位置,所以需要更改這一路徑
    好的~至此可以順利的make pycaffe啦~

   當然天真的我以為可以在python中import caffe了,然鵝啊,程式設計師的世界是沒有這麼簡單的!!接下來進入下一節

 (啊啊啊啊啊這個工作站預裝的還不如以前自己裝啊好多坑啊哭唧唧T T,好多依賴庫也不知道裝沒裝)

  • 安裝編譯好了caffe,但是無法在python中import
    ImportError:/opt/anaconda2/bin/../lib/libstdc++.so.6: version 'GLIBCXX_3.4.21' not found (requires by /home/caffe-master/python/caffe/_caffe.so)

    接著上面的來,現在報錯提示為:

     用程式碼檢視工作站內GLIBCXX的版本:

     (這個地方還有一個小坑坑是libstdc++手動檢視的時候只是在/usr/lib/libstdc++.so.6下,但是執行會報錯沒有這個檔案,在此檔案的properties中檢視location是有x86_64-linux-gnu的,微笑臉~
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
     可素!這不就是嗎???瞎了我的卡姿蘭狗眼    好的。。。在我查閱論壇發現很多時候Anaconda安裝都會和Caffe、python2、python3有衝突(例如用jupyter開啟new file只有python2格式沒有python3的格式),那就試試把anaconda刪了吧。。。    在根目錄(和home並列)下找到opt資料夾,刪除整個anaconda2的資料夾,但不能直接刪除,在terminal下輸入:    
sudo rm -rf anaconda
     (有時候還需要註釋根目錄下.bashrc下包括anaconda2路徑的語句:#export PATH=/home/lq/anaconda3/bin:$PATH,再在terminal輸入source ~/.bashrc使其立即生效,輸入python檢視是否刪除乾淨)    不吹不黑,刪完之後爽的不行:之前只能在sudo下才能import torch,直接在terminal下無法import torch也直接解決了.    繼續開始重新編譯caffe,按上一小節重頭開始,輸入make pycaffe還報了一次沒有numpy,修改Makefile.config就好啦~
    現在試著import torch,顯示
     在終端輸入:(不知道為啥根目錄下還有一個matplotlib的截圖?不知道怎麼弄的直接刪了)
sudo pip install python-Matplotlib
     撒花QAQ式完畢感謝上帝:
     不負責任的總結!!Conda是大坑大坑大坑
  • 在sudo下安裝了pytorch,進入sudo可以import torch,但是在jupyter匯入則報錯無module——ipython
     1.Step 1

       #python

$ sudo python -m pip install ipykernel
$ sudo python -m ipykernel install

       #python3

$ sudo python3 -m pip install jupyterhub notebook ipykernel
$ sudo python3 -m ipykernel install
     2.Step 2
     
$ sudo apt-get install build-essential

     3.Step 3

        #python2

$ sudo pip install jupyter
$ sudo apt-get build-dep python-matplotlib python-tk

        #python3

$ sudo pip3 install jupyter
$ sudo apt-get build-dep python3-matplotlib python3-tk

     4.Test

$ mkdir tf-notebooks
$ cd tf-notebooks
$ jupyter notebook
  • Ubuntu16.04下安裝opencv
   貼上教程地址:http://blog.csdn.net/yehuohan/article/details/51327465

  • 顯示卡崩潰重新安裝驅動
   在開啟工作站的時候有時候出現開機介面解析度異常,則是顯示卡出現崩潰,重灌顯示卡驅動:   1、Ctrl+Alt+F1進入terminal介面   2、輸入使用者名稱與密碼,依次輸入:   
sudo service lightdm stop / sudo stop lightdm   #重啟lightdm
sudo init 3   #進入Ubuntu開機圖片的terminal介面
   3、安裝驅動程式,進入/home/lthpc/software,找到驅動檔案所在地址,輸入:   
sudo ./NVIDIA-Linux-x86_64-384.98.run
   4、sudo reboot 重啟   5、有可能還會遇到需要exit X service的情況,如果安裝驅動報錯:......you appear to be running an x server plaese exit x before installing...... 需要找到程序前x service的ID並關閉:
ps -e | more #加上| more才可以翻頁
sudo kill ID* #找到xorg對應程序ID
   再完成第3步即可。

  • Ubuntu介面開啟只有桌布沒有選單欄等
  首先Ctrl+Alt+F1,輸入命令列試著重啟lightdm:  
sudo service lightdm restart
   還是不行的話則需要重新安裝Unity,依次輸入:
sudo apt-get update
sudo apt-get install --reinstall ubuntu-desktop
sudo apt-get install unity

  • 執行keras程式報錯:Your CPU suppotrs instructions that this TensorFlow binary was not compiled to use:SSE4.1 SSE4.2 AVX AVX2 FMA
      也就是需要給Tensorflow進行自定義構建,在下面這個文件中可以下載自己需要的型別的whl檔案:

       下載完畢後將此檔案放入/tmp下,cd tmp,輸入以下指令:

sudo pip install tensorflow-1.4.0-cp27-cp27mu-linux_x86_64.whl

     再次執行時則不會報錯了。

  • Ubuntu16.04下安裝Matlab R2016b

     按上面連結的步驟安裝完畢後需要退出掛載並且刪除檔案,在Terminal下輸入:

sudo umount /home/<your user name & path>/matlab
sudo umount sudo umount /home/<your user name & path>/matlab  #因為掛載了兩個檔案
sudo rm -r /home/<your user name & path>/matlab

     另外,啟用以後發現只能在安裝目錄/bin輸入.matlab才能開啟matlab,配置環境變數的軟連結,在根目錄下輸入:

sudo gedit .bashrc
     在.bashrc檔案最後export加入matlab的path:
export PATH="/usr/local/MATLAB/R2016b/bin:$PATH"
     返回Terminal輸入下面指令,使得環境變數立即更新:
source ~/.bashrc

注意:因為上面給的連結的路徑寫法有空格,linux無法識別,我直接把“Matlab 2016b Linux64 Crack”那個資料夾名字改為了“Crack”

如果發現啟用不成功,報錯:Could not complete activation because the License  File could not be written to the disk. You might not have write  permission on the License File or the folder.

由於無法sudo matlab開啟matlab(輸入matlab可以),需要在sudo下來啟用,找到./activate_matlab.sh

cd /usr/local/MATLAB?R2016b/bin
sudo ./activate_matlab.sh

此時跳轉到了啟用介面,但是是用許可權開啟的,可以順利加入license檔案,啟用成功。