Installing Caffe - LCAD-UFES/carmen_lcad GitHub Wiki
IMPORTANTE: Essa instalação não foi testada por várias pessoas.
TO DO: Checar se o –no-install-recommends é necessário.
sudo apt-get install --no-install-recommends \ build-essential \ cmake \ git \ libgoogle-glog-dev \ libgtest-dev \ libiomp-dev \ libleveldb-dev \ liblmdb-dev \ libopenmpi-dev \ libsnappy-dev \ libprotobuf-dev \ openmpi-bin \ openmpi-doc \ protobuf-compiler \ python-dev \ python-pip libgflags-dev libgoogle-glog-dev liblmdb-dev
cd ~/packages_carmen wget "https://sourceforge.net/projects/openblas/files/v0.3.0/OpenBLAS%200.3.0%20version.tar.gz/download" -O openblas-0.3.0.tar.gz tar -vzxf openblas-0.3.0.tar.gz cd xianyi-OpenBLAS-939452e/ make sudo make install
Comandos em uma linha:
cd ~/packages_carmen && wget "https://sourceforge.net/projects/openblas/files/v0.3.0/OpenBLAS%200.3.0%20version.tar.gz/download" -O openblas-0.3.0.tar.gz && tar -vzxf openblas-0.3.0.tar.gz && cd xianyi-OpenBLAS-939452e/ && make && sudo make install
Obs: o parâmetro DCUDA_ARCH_BIN=“XX” informa a arquitetura utilizada pela GPU. Para saber a arquitetura da GPU:
cd /usr/local/cuda-9.1/samples/1_Utilities/deviceQuery sudo make ./deviceQuery
Procure pela linha “CUDA Capability Major/Minor version number”. Não considere o ponto, ou seja, caso apareça o valor 3.0, inclua como 30 no parâmetro do “-DCUDA_ARCH_BIN” cmake.
cd $CARMEN_HOME/sharedlib/ENet/caffe-enet mkdir build && cd build cmake -DBLAS=open -DCUDA_ARCH_NAME=Manual -DCUDA_ARCH_BIN="50" -DCUDA_ARCH_PTX="" .. make all -j 20 make pycaffe
Comandos em uma linha:
cd $CARMEN_HOME/sharedlib/ENet/caffe-enet && mkdir build && cd build && cmake -DBLAS=open -DCUDA_ARCH_NAME=Manual -DCUDA_ARCH_BIN="61" -DCUDA_ARCH_PTX="" .. && make all -j 20 && make pycaffe
Observação: Caso o seguinte erro aconteça:
CMake Warning at /home/mscdo/opencv-3.1.0/cmake/OpenCVConfig.cmake:166 (message): Found OpenCV Windows Pack but it has no binaries compatible with your configuration. You should manually point CMake variable OpenCV_DIR to your build of OpenCV library. Call Stack (most recent call first): example/mnist/CMakeLists.txt:2 (find_package) CMake Error at example/mnist/CMakeLists.txt:2 (find_package): Found package configuration file: /home/mscdo/opencv-3.1.0/cmake/OpenCVConfig.cmake but it set OpenCV_FOUND to FALSE so package "OpenCV" is considered to be NOT FOUND.
Apague o conteúdo da pasta build para remover os arquivos de configuração, e refaça o comando cmake adicionando o caminho para a pasta build da OpenCV:
rm -rf $CARMEN_HOME/sharedlib/ENet/caffe-enet/build/* cd $CARMEN_HOME/sharedlib/ENet/caffe-enet/build cmake -DBLAS=open -DCUDA_ARCH_NAME=Manual -DCUDA_ARCH_BIN="50" -DCUDA_ARCH_PTX="" -D OpenCV_DIR=<PASTA ONDE VOCÊ BAIXOU A OPENCV>/opencv-3.1.0/build/ .. make all -j 20 make pycaffe
#Caffe ENet export CAFFE_ENET_HOME=$CARMEN_HOME/sharedlib/ENet/caffe-enet export CAFFE_HOME=$CAFFE_ENET_HOME export PYTHONPATH=$CAFFE_ENET_HOME/python:$PYTHONPATH export LD_LIBRARY_PATH=$CAFFE_ENET_HOME/build/lib:$LD_LIBRARY_PATH export GLOG_minloglevel=1
ls $CAFFE_ENET_HOME/include/caffe/proto/caffe.pb.h
se nao existir, siga os passos abaixo.
cd $CAFFE_ENET_HOME protoc src/caffe/proto/caffe.proto --cpp_out=. mkdir include/caffe/proto mv src/caffe/proto/caffe.pb.h include/caffe/proto/
Comandos em uma linha:
cd $CAFFE_ENET_HOME && protoc src/caffe/proto/caffe.proto --cpp_out=. && mkdir include/caffe/proto && mv src/caffe/proto/caffe.pb.h include/caffe/proto/