1. 程式人生 > >ubuntu16.04+cuda8.0+caffe安裝

ubuntu16.04+cuda8.0+caffe安裝

參照文章

沒裝opencv \matlab\cudnn

安裝caffe之前

安裝 Protocol Buffers:

cd ~

git clone https://github.com/google/protobuf.git

sudo apt-get install autoconf automake libtool curl make g++ unzip

cd protobuf

./autogen.sh

./configure --prefix=/usr


make

make check 

sudo make install 

sudo ldconfig # refresh shared library cache.

3  檢查是否安裝成功

protoc --version

如果安裝成功,會出現版本號 如

libprotoc 2.6.1

如果有問題,會輸出錯誤內容

BLAS

sudo apt-get install libatlas-base-dev


編輯/usr/local/cuda/include/host_config.h

用命令:

sudo gedit /usr/local/cuda/include/host_config.h

修改~/.bashrc

sudo gedit ~/.bashrc

export LD_LIBRARY_PATH=”/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH”
export PYTHONPATH=”/home/zdyd/py-faster-rcnn/caffe-fast-rcnn/pythonc:$PYTHONPATH”
export PATH="/home/zdyd/anaconda2/bin:$PATH"
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
>>> import caffe


ImportError: /home/zdyd/anaconda2/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /home/zdyd/caffe/python/caffe/_caffe.so)

strings /home/zdyd/anaconda2/bin/../lib/libstdc++.so.6 | grep GLIBCXX
發現確實沒有,

find / -iname libstdc++.so.6.0.2*

找到最新版本在下面的檔案家中存在,
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21 | grep GLIBCXX

確實有,下一步拷到相關目錄下
cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21 /home/zdyd/anaconda2/bin/../lib/
在到之前的目錄
cd /home/zdyd/anaconda2/bin/../lib/

刪除原來的:
rm -rf libstdc++.so.6

建立軟連結:
ln -s libstdc++.so.6.0.21 libstdc++.so.6


再次檢視已存在

strings /home/zdyd/anaconda2/bin/../lib/libstdc++.so.6 | grep GLIBCXX

注意:一定要看好是自己的那個目錄的相關版本不存在,不要瞎改,



錯誤:

ImportError: /home/zdyd/anaconda2/bin/../lib/libgomp.so.1: version `GOMP_4.0' not found (required by /usr/lib/x86_64-linux-gnu/libsoxr.so.0)

利用同樣的方法即可解決。

錯誤:

error :No module named google.protobuf.internal

解決:
sudo chmod 777 -R  anaconda2

conda install protobuf

最後import成功!