Installing Caffe - LCAD-UFES/carmen_lcad GitHub Wiki

Instalar dependências

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

Instalar o OpenBLAS

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

Compilar a Caffe

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
Caso outros erros ocorram nessa etapa, consulte nosso [FAQ]*:

github.com/LCAD-UFES/carmen_lcad/wiki/FAQ-Instala%C3%A7%C3%A3o-Carmen#erros-instala%C3%A7%C3%A3o-da-caffe-enet

Inserir no .bashrc do seu usuário (gedit ~/.bashrc):

#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

Verificar se existe a pasta/arquivo:

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/
⚠️ **GitHub.com Fallback** ⚠️