ubuntu16.04+cuda8.0+caffe安裝
阿新 • • 發佈:2019-01-23
沒裝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成功!