伺服器非root使用者編譯caffe及環境配置

2021-08-21 21:53:20 字數 1675 閱讀 1570

第一次在自己新開的伺服器賬號上make -j32簡直不能再爽了,make直接成功,因為伺服器上相關依賴已經安裝了,但是接下來有些問題,簡單記錄一下,沒準以後用的上

1.在make test的時候,出現了can't find ***.so.x檔案的問題,這個很簡單,比如

報錯:error while loading shared libraries: libcudart.so.8.0: cannot open shared object file: no such file or directory

解決:export ld_library_path=$ld_library_path:/usr/local/cuda-8.0/lib64

2.import caffe的時候出現了no module named caffe這樣的錯誤

解決:export pythonpath=/yourpath/caffe/python:$pythonpath

3.import caffe的時候出現了typeerror: __init__() got an unexpected keyword argument 'file'

5.關於anaconda和caffe的一些玄學:我曾經嘗試過在全新伺服器上直接使用anaconda+caffe的編譯,但是在編譯的時候會提示類似libopencv_highgui.so.2.4.8: undefined reference to `tiffistiled@libtiff_4.0'這樣的錯誤

或者,在安裝anaconda之前先用本地python對caffe做一整套的make,之後再安裝anaconda即使新增了環境變數好像也沒影響了,難道還有先入為主的概念嗎?

6.還是有關anaconda和caffe的玄學:安裝anaconda之後,我換了caffe的版本,使用了nvidia/caffe,然後其它一切都不變結果還是出錯了

錯誤:fatal error: caffe/proto/caffe.pb.h: no such file or directory

解決:9.nvidia/caffe使用的boost庫好像比較新,第一次make的時候它提示我的boost下沒有thread這個library,於是更新boost就好,非root使用者可以在自己路徑上安裝,只要自己手動多新增點路徑之類的就好。但是我更新完boost庫之後又出現了錯誤,大概是boost的某些函式在override的時候不相容,實際上就是boost的庫和nvidia/caffe對應的boost庫還是差的有點多,所以嘗試了幾個不同的boost版本之後錯誤消失了

11.不知道是不是因為使用了比較新的boost庫,caffe編譯時出現下述類似錯誤

錯誤:cannot find -lboost_python3(或者python2或者python3.x或者python2.x或者python-py2或者python-py3)

解決:饒了一萬年的圈還是去boost的lib裡面找到類似libboost_python***.so檔案,只要有這個就行,把名字ln -s成上面缺的就萬事大吉

12.補充一條額外的tip,不只是caffe在make的時候要遮蔽anaconda的環境變數,就連opencv在make的時候也得遮蔽anaconda,import cv2報錯如下:

undefined symbol: _zn2cv16tlsdatacontainerd2ev

解決:在~/.bashrc中遮蔽anaconda的lib路徑

Centos伺服器非root使用者mysql安裝

1 使用yum安裝numactl,後續mysqld需要用到 yum y install numactl 2 建立mysql使用者 groupadd mysql useradd g mysql d opt mysql mysql 建立mysql組 mysql使用者 passwd mysql 修改使用者...

伺服器非Root使用者如何安裝自己的Python版本

1.檢視已經存在的python環境 conda info env2.建立新的python環境 以下為建立乙個名字為 mypython的環境,python版本 3.5 conda create n mypython python 3.53.啟用 進入 已經建立的環境 conda activate my...

linux伺服器非root安裝matlab

windows下解壓再上傳。在安裝目錄的bin資料夾下新建license,把crack裡的.lic拷貝進去。安裝結束,啟用時選擇.lic檔案。參考把crack裡的glxa64的四個檔案複製到對應的安裝目錄下。遇到eject 1 insert 2時,google到方法,應該把 2裡的全部檔案複製到 1...