踩坑筆記之環境配置——Ubuntu16.04、caffe、pytorch、tensorflow、keras、anaconda、opencv3、matlab
(新版CSDN沒了markdown還有點兒難用不是很習慣。。排版很差將就看啦哈哈哈哈)
強調一下&讓自己記住踩過的屎坑~
- 刷機搭框架遇到問題——sudo下安裝
- caffe編譯出了問題——sudo su進入管理者再安裝
另外,在執行caffe相關前需要到安裝根目錄下編譯caffe,依次輸入以下指令:
sudo su
make all -j4
make test -j4
make runtest
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
接著上面的來,現在報錯提示為:
用程式碼檢視工作站內GLIBCXX的版本:
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
#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
- 顯示卡崩潰重新安裝驅動
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介面開啟只有桌布沒有選單欄等
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
下載完畢後將此檔案放入/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檔案,啟用成功。